Почав я оновлювати Proxmox на одному з серверів з версії 3 на 4. По ряду причин, потрібно робити саме повну переустановку а не апгрейд поточної. Установка пройшла штатно і сервер пішов в перезавантаження, після чого, як хороший хлопчик, показав grub, але завис на ініціалізації initram. Ще раз перезагрузив сервер, я переконався що помилка воспроізодітся і почав шукати рішення. Спробував завантажитися вручну через консоль grub, але це не допомогло. У момент зависання, індикатори активності всіх дисків просто горіли, тому я почав грішити на контролер (LSI) - спробував відключення всіх дисків крім того на якому встановлена система, це не допомогло.
Власне тут, ми підходимо до сабжу. Я подумав про те, щоб прошити контролер, але перед цим вирішив оновити прошивку bios. З'ясував модель материнської плати, власне Supermicro X9DRW-iF. скачав останню прошивку з офіційного сайту ...
до речі, попередні версії прошивок можна знайти тільки на ftp цієї чудової фірми і назви каталогів там ніфіга не явні
... і почав вникати в readme, який додавався в архіві. Насамперед, там вписаний warning, що попереджає про те, що якщо ви збираєтеся оновити bios з версії 1 до версії 2, то спочатку вам потрібно оновити IPMI до версії 2 (і це перший привіт компанії Supermicro). На сервері була встановлена версія 1.01b, а останній актуальний, на даний момент, щось на зразок 2.72.
тут я можу помилятися, насправді заплутався з версіями, а перевіряти зараз вже лінь
"Ага" - думаю я. Потрібно оновити IPMI, а це справа нікчемна. Повернувся на сайт виробника, скачав потрібну прошивку, почитав інструкцію, заліз в IPMI і прошив його. Ніяких проблем не виникло. Наступним кроком, повинна була стати прошивка bios, для цього я підготував образ Freedos, на якому розташовувалися всі необхідні файли. Але при спробі виконати необхідні операції по прошивці, я зрозумів що bios просто не доходить до завантаження з будь-яких образів чи девайсів. Багато часу було витрачено на гугленія, перевірку образів, перебір флешок, але все безрезультатно. Завантаження bios фриз на одному з етапів (B4) і я це пов'язував саме з оновленням прошивки IPMI, а не з конкретною помилкою про яку розповідаю post код. Щож, в документації до плати, я досить швидко знайшов спосіб відключення IPMI і завантаження тільки bios, він полягав в зміни положення перемички JPB1 (або джампера. Хто як кличе) з 1-2 на 2-3 (і це другий привіт компанії Supermicro) . Ох і довго ж я провозився перш ніж додумався в чому ж справа (ну як додумався, швидше за спрацював якийсь інстинкт інженера). Але я не буду більше раглагольствовать, а просто опишу правильну послідовність дій для оновлення bios на Supermicro X9DRW-iF. скажу тільки що перемичка JPB1 в положенні 2-3 не відключати IPMI, а відключає і IPMI і bios, відбувається первинна інціалізація всіх пристроїв, вентилятори і диски починають крутиться на повну котушку, але далі вся програмна частина не діє.
## Безпосередньо оновлення з 1 до 2 версії
- Оновлюємо прошивку IPMI через веб самого IPMI (операція тривіальна)
- Розкриваємо наш сервер, знаходимо перемичку JPB1 і просто знімаємо її, для відключення IPMI
- Створюємо флешку з Freedos, але перед тим, як залити файл прошивки (X9DRW5.115), програму прошивки (AFUDOS.SOC) і скрипт (AMI.BAT) для ініціалізації процесу, правимо цей самий скрипт: прибираємо в ньому рядки пов'язані з перейменуванням файлу AFUDOS.SOC -> AFUDOS.EXE і робимо це вручну, а тільки потім копіюємо файли на носій
- Запускати з флешки, причому при завантаженні Freedos потрібно вибрати варіант "без драйверів"
- Шиємо bios командою AMI.BAT X9DRW5.115
- Повертаємо перемичку JPB1 в початкове положення 1-2 і стартуємо сервер.
До прошивки контролера дисків я так і не дійшов. Так як після прошивки bios Proxmox 4 відмінно стартанул. А в сумі на всі ці колупання пішло 3 робочих дня і звинувачую я, звичайно ж, Supermicro, за погано написану документацію і readme.