Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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