|
| 1 | +Purpose: |
| 2 | +Demonstrate the usage of the new open sourced rbu (Remote BIOS Update) driver |
| 3 | +for updating BIOS images on Dell servers and desktops. |
| 4 | + |
| 5 | +Scope: |
| 6 | +This document discusses the functionality of the rbu driver only. |
| 7 | +It does not cover the support needed from aplications to enable the BIOS to |
| 8 | +update itself with the image downloaded in to the memory. |
| 9 | + |
| 10 | +Overview: |
| 11 | +This driver works with Dell OpenManage or Dell Update Packages for updating |
| 12 | +the BIOS on Dell servers (starting from servers sold since 1999), desktops |
| 13 | +and notebooks (starting from those sold in 2005). |
| 14 | +Please go to http://support.dell.com register and you can find info on |
| 15 | +OpenManage and Dell Update packages (DUP). |
| 16 | + |
| 17 | +Dell_RBU driver supports BIOS update using the monilothic image and packetized |
| 18 | +image methods. In case of moniolithic the driver allocates a contiguous chunk |
| 19 | +of physical pages having the BIOS image. In case of packetized the app |
| 20 | +using the driver breaks the image in to packets of fixed sizes and the driver |
| 21 | +would place each packet in contiguous physical memory. The driver also |
| 22 | +maintains a link list of packets for reading them back. |
| 23 | +If the dell_rbu driver is unloaded all the allocated memory is freed. |
| 24 | + |
| 25 | +The rbu driver needs to have an application which will inform the BIOS to |
| 26 | +enable the update in the next system reboot. |
| 27 | + |
| 28 | +The user should not unload the rbu driver after downloading the BIOS image |
| 29 | +or updating. |
| 30 | + |
| 31 | +The driver load creates the following directories under the /sys file system. |
| 32 | +/sys/class/firmware/dell_rbu/loading |
| 33 | +/sys/class/firmware/dell_rbu/data |
| 34 | +/sys/devices/platform/dell_rbu/image_type |
| 35 | +/sys/devices/platform/dell_rbu/data |
| 36 | + |
| 37 | +The driver supports two types of update mechanism; monolithic and packetized. |
| 38 | +These update mechanism depends upon the BIOS currently running on the system. |
| 39 | +Most of the Dell systems support a monolithic update where the BIOS image is |
| 40 | +copied to a single contiguous block of physical memory. |
| 41 | +In case of packet mechanism the single memory can be broken in smaller chuks |
| 42 | +of contiguous memory and the BIOS image is scattered in these packets. |
| 43 | + |
| 44 | +By default the driver uses monolithic memory for the update type. This can be |
| 45 | +changed to contiguous during the driver load time by specifying the load |
| 46 | +parameter image_type=packet. This can also be changed later as below |
| 47 | +echo packet > /sys/devices/platform/dell_rbu/image_type |
| 48 | + |
| 49 | +Do the steps below to download the BIOS image. |
| 50 | +1) echo 1 > /sys/class/firmware/dell_rbu/loading |
| 51 | +2) cp bios_image.hdr /sys/class/firmware/dell_rbu/data |
| 52 | +3) echo 0 > /sys/class/firmware/dell_rbu/loading |
| 53 | + |
| 54 | +The /sys/class/firmware/dell_rbu/ entries will remain till the following is |
| 55 | +done. |
| 56 | +echo -1 > /sys/class/firmware/dell_rbu/loading |
| 57 | + |
| 58 | +Until this step is completed the drivr cannot be unloaded. |
| 59 | + |
| 60 | +Also the driver provides /sys/devices/platform/dell_rbu/data readonly file to |
| 61 | +read back the image downloaded. This is useful in case of packet update |
| 62 | +mechanism where the above steps 1,2,3 will repeated for every packet. |
| 63 | +By reading the /sys/devices/platform/dell_rbu/data file all packet data |
| 64 | +downloaded can be verified in a single file. |
| 65 | +The packets are arranged in this file one after the other in a FIFO order. |
| 66 | + |
| 67 | +NOTE: |
| 68 | +This driver requires a patch for firmware_class.c which has the addition |
| 69 | +of request_firmware_nowait_nohotplug function to wortk |
| 70 | +Also after updating the BIOS image an user mdoe application neeeds to execute |
| 71 | +code which message the BIOS update request to the BIOS. So on the next reboot |
| 72 | +the BIOS knows about the new image downloaded and it updates it self. |
| 73 | +Also don't unload the rbu drive if the image has to be updated. |
| 74 | + |
0 commit comments