1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- Purpose:
- Demonstrate the usage of the new open sourced rbu (Remote BIOS Update) driver
- for updating BIOS images on Dell servers and desktops.
- Scope:
- This document discusses the functionality of the rbu driver only.
- It does not cover the support needed from aplications to enable the BIOS to
- update itself with the image downloaded in to the memory.
- Overview:
- This driver works with Dell OpenManage or Dell Update Packages for updating
- the BIOS on Dell servers (starting from servers sold since 1999), desktops
- and notebooks (starting from those sold in 2005).
- Please go to http://support.dell.com register and you can find info on
- OpenManage and Dell Update packages (DUP).
- Dell_RBU driver supports BIOS update using the monilothic image and packetized
- image methods. In case of moniolithic the driver allocates a contiguous chunk
- of physical pages having the BIOS image. In case of packetized the app
- using the driver breaks the image in to packets of fixed sizes and the driver
- would place each packet in contiguous physical memory. The driver also
- maintains a link list of packets for reading them back.
- If the dell_rbu driver is unloaded all the allocated memory is freed.
- The rbu driver needs to have an application which will inform the BIOS to
- enable the update in the next system reboot.
- The user should not unload the rbu driver after downloading the BIOS image
- or updating.
- The driver load creates the following directories under the /sys file system.
- /sys/class/firmware/dell_rbu/loading
- /sys/class/firmware/dell_rbu/data
- /sys/devices/platform/dell_rbu/image_type
- /sys/devices/platform/dell_rbu/data
- The driver supports two types of update mechanism; monolithic and packetized.
- These update mechanism depends upon the BIOS currently running on the system.
- Most of the Dell systems support a monolithic update where the BIOS image is
- copied to a single contiguous block of physical memory.
- In case of packet mechanism the single memory can be broken in smaller chuks
- of contiguous memory and the BIOS image is scattered in these packets.
- By default the driver uses monolithic memory for the update type. This can be
- changed to contiguous during the driver load time by specifying the load
- parameter image_type=packet. This can also be changed later as below
- echo packet > /sys/devices/platform/dell_rbu/image_type
- Do the steps below to download the BIOS image.
- 1) echo 1 > /sys/class/firmware/dell_rbu/loading
- 2) cp bios_image.hdr /sys/class/firmware/dell_rbu/data
- 3) echo 0 > /sys/class/firmware/dell_rbu/loading
- The /sys/class/firmware/dell_rbu/ entries will remain till the following is
- done.
- echo -1 > /sys/class/firmware/dell_rbu/loading
- Until this step is completed the drivr cannot be unloaded.
- Also the driver provides /sys/devices/platform/dell_rbu/data readonly file to
- read back the image downloaded. This is useful in case of packet update
- mechanism where the above steps 1,2,3 will repeated for every packet.
- By reading the /sys/devices/platform/dell_rbu/data file all packet data
- downloaded can be verified in a single file.
- The packets are arranged in this file one after the other in a FIFO order.
- NOTE:
- This driver requires a patch for firmware_class.c which has the addition
- of request_firmware_nowait_nohotplug function to wortk
- Also after updating the BIOS image an user mdoe application neeeds to execute
- code which message the BIOS update request to the BIOS. So on the next reboot
- the BIOS knows about the new image downloaded and it updates it self.
- Also don't unload the rbu drive if the image has to be updated.
|