A small script created by Dell (linux.dell.com / http://linux.dell.com/biosdisk) creates a bootable DOS floppy image containing a Bios Flash, and a FreeDOS image. By default it writes to a floppy, but optionally it can save the image to an arbitrary location. The particularly useful part is that on their site, they detail how to use the bootable image along with memdisk from syslinux to flash from grub. I will post an ebuild right after this. I left syslinux out as a dependancy as it is not needed for the functionality of the program, but it is useful if you want to flash without putting the image onto a floppy. Also, the specific method to do it is not in the documentation in the tarball, so here is the excert from the linux.dell.com blog: ------------------------------------------------ The image can also be used with GRUB to boot to and flash the BIOS from the hard drive, without needing a floppy drive (allowing simplified systems management). To do this, perform the following steps: 1. Copy the syslinux memdisk image (found in /usr/lib/syslinux on Red Hat) to the /boot directory 2. Run "biosdisk -i /boot/biosflash.img /path/biosname.exe 3. Add an entry to /boot/grub/grub.conf like the following: Label Flash BIOS root (hd0,0) kernel /memdisk initrd /biosflash.img 4. Reboot your system and choose the "Flash BIOS" item in GRUB. It will boot the BIOS image and proceed as usual. ------------------------------------------------ While it is not specified in the tarball, I have spoken with the author, and he informed me that biosdisk is release under the GPL and the next release will make that more clear. Please consider for inclusion as this allows users to eliminate one of the few remaining 'required' uses for windows. Also, it may be worthwhile to note that the process the script uses is very generic and it may be possible to use this for another vendor's flash updates so long as their .exe can be executed from DOS.
Created attachment 35696 [details] initial ebuild Ebuild for initial release
Created attachment 35710 [details] biosdisk-0.4.ebuild Good find. I'll test it out on my Dell later. I cleaned up your ebuild a bit. * Fixed the header. * Changed the homepage to a more descriptive one. * Added a dependency to app-text/unix2dos, which the script uses. * The license should be "as-is". See: "The content is provided as is, without express or implied warranties of any kind." http://linux.dell.com/projects.shtml Other than that, looks good! A couple open questions: * Where does this belong in portage? sys-boot? sys-apps? app-misc? * Should it be called dell-biosdisk, or just biosdisk, as it is now?
Sorry, I should have read a little more carefully. For now it's probably best to keep LICENSE="as-is", because the author did not make his intention of GPL'ing it clear at all. You're also right that the script is pretty generic, so keeping the name biosdisk seems reasonable.
I guess 'as-is' is fine for now, the next release should be GPL'd. Also, I have been speaking with the author, it is his intent to have the next version to include an option that makes an RPM for Red Hat, that when installed copies the img to /boot and uses the Red Hat program 'grubby' to modify the bootloader. He is speakign with people at SuSe and Debian hoping to accomplish something similar and is now also interested on how something like this could be acheived in Gentoo. Anyone have some insight?
I just tried it out (the method without an actual floppy), and it worked. Upgraded my Dimension 4600 BIOS from A09 to A10. I think Gentoo policy is to not mess with your configuration files, but rather to tell the user how to do it himself. You could use einfo to print out this information after the ebuild is finished merging.
I agree with not changing config files during program installation, but the proposed additions to the program are run-time. For instance you would run `biosdisk mkpkg /path/to/exe`, and it would create a package(sample given by author would be an RPM). The RPM, when installed will do the messing around. It might be useful, if at all possible, to detect current running distro, and then follow a set of rules. For instance, in the case of Gentoo, we could use: `grep virtual/bootloader /var/cache/edb/virtuals | sed -r "s/virtual\/bootloader sys-boot\///g"` to determine the proper bootloader, mount /boot (if needed), copy 'memdisk', copy the image, and then after displaying the additions, and having the user fully agree, *append* the necessary lines to the end of the appropriate config.
Thought I'd join in. I'll be releasing the next version (0.5) shortly, which makes several changes in how biosdisk works. As Robert mentioned, this version will have the option of making a package, for which only Red Hat's RPM is supported now.
Good work John. Beats having to drive over to my friend's to use his Windows box to make flash BIOS disks.
Created attachment 36931 [details] biosdisk-0.50.ebuild Here's an updated ebuild for version 0.50. I'm also assigning this bug to myself, since it's still in bug-wranglers. I'm not in a related herd, but I do have a Dell I can test with. If anyone else wants to take this, that's fine too. I still need to figure out which category to put this in.
Sorry for the delay. This is finally in portage under sys-apps/biosdisk.