# Update Firmware IDRAC

- Sul sito della DELL, si trovano i driver corretti in base al modello del server [PowerEdge R720XD](https://www.dell.com/support/product-details/it-it/product/poweredge-r720xd/drivers)
- Possono essere aggiornati automaticamente da `IDRAC Settings > Update FTP`
- Le generazioni dei [PowerEdge servers](https://en.wikipedia.org/wiki/List_of_PowerEdge_servers)
- Siccome questi vecchi modelli non sono piú supportati, é possibile usare questo repository pubblico

```txt
ftp.updateyodell.net
with user/pass dell/calvin
```

![idrac-firmware-update](asset/img/idrac-firmware-update.png)

- Fare tutti gli update del caso

## Impostare controller in HBA

> La configurazione di un controller in modalità `HBA` (`Host Bus Adapter`) o `IT` (`Initiator Target`) consente di disabilitare la gestione RAID hardware, permettendo al sistema operativo di accedere direttamente ai dischi. Questa modalità è particolarmente utile quando si intende utilizzare soluzioni RAID software invece di quelle hardware fornite dal controller.

- SQualora Proxmox (o altro sistema operativo) non riesca a rilevare tutti i dischi, è possibile che siano presenti configurazioni RAID residue o dischi contrassegnati come *foreign* (estranei). In tal caso, è necessario eliminare tali configurazioni tramite l’interfaccia del controller:

![clear-old-raid-config](asset/img/clear-old-raid-config.png)

![clear-foreign-config](asset/img/clear-foreign-config.png)

- Per il flash del firmware, seguire la seguente procedura: [H310/H710/H710P/H810 Mini & Full Size IT Crossflashing](https://fohdeesha.com/docs/perc.html)
- Entrare nel BIOS, tipicamente premendo F2, quindi disabilitare

```txt
Processor Settings > Virtualization Technology
Integrated Devices > SR-IOV Global Enable
Integrated Devices > I/OAT DMA Engine
You also must set the server boot mode to BIOS, not UEFI
```

- Rimuovere la batteria dal controller, se presente
- Rimuovere tutti i dischi
- Scaricare lo zip [Dell Perc Flashing ZIP](https://fohdeesha.com/docs/store/perc/perc-crossflash-v2.6.zip)
- Avviare la ISO FreeDOS e dare il comando seguente, per capire il tipo di controller

```txt
info
```

- Seguire quindi le istruzioni specifiche per il tipo di controller

```txt
[...]

1. NVSRAM
2. SEEPROM
3. FLASH
4. BootLoader
5. Firmware (backup copy)
6. Firmware (current copy)
7. Persistent non-manufacturing config pages
8. Persistent manufacturing config pages
9. Boot services (BIOS/FCode)

Select what to erase: [1-9 or RETURN to quit] 3
Erasing...

1. NVSRAM
2. SEEPROM
3. FLASH
4. BootLoader
5. Firmware (backup copy)
6. Firmware (current copy)
7. Persistent non-manufacturing config pages
8. Persistent manufacturing config pages
9. Boot services (BIOS/FCode)

Select what to erase: [1-9 or RETURN to quit] 8
Erasing...

1. NVSRAM
2. SEEPROM
3. FLASH
4. BootLoader
5. Firmware (backup copy)
6. Firmware (current copy)
7. Persistent non-manufacturing config pages
8. Persistent manufacturing config pages
9. Boot services (BIOS/FCode)

Select what to erase: [1-9 or RETURN to quit]

LSI Logic MPT Configuration Utility, Version 1.72, Sep 09, 2014
1 MPT Port found
Port Name
1. ioc0
Chip Vendor/Type/Rev MPT Rev Firmware Rev IOC
LSI Logic SAS2008 B2
200
14000700 0
Firmware image's version is MPTFW-20.00.07.00-IT
LSI Logic
Not Packaged Yet
MPTFW-20.00.07.00-BL
LSI Logic
Not Packaged Yet
Downloading image...
Download succeeded
Verifying download...
Verification succeeded
All Done! Continue following the guide to set SAS addr
```

- Al termine del flashing, riavviare il server e lasciarlo spento per circa 60 secondi
- In caso di Kernel Panic al riavvio, procedere con un ulteriore riavvio
- Riavviare nella Linux Live ISO e reimpostare il vecchio SAS Address
- Per rendere la scheda avviabile, bisogna caricargli i due firmware di avvio:

```sh
root@debian:~# flashboot /root/Bootloaders/mptsas2.rom
root@debian:~# flashboot /root/Bootloaders/x64sas2.rom
```

- Entrare nel BIOS, tipicamente premendo F2, e ripristinare le voci precedentemente modificate

> Infine, cambiare la password dell'utente root

![root-passwd](asset/img/root-passwd.png)
