Howto: Prepare USB key with FreeDOS using FreeBSD

Boris Samorodov bsam at ipt.ru
Sat Oct 13 14:05:08 PDT 2007


On Fri, 12 Oct 2007 18:35:08 +0200 O. Hartmann wrote:

> Well, I have a bunch of TYAN S2925B based boxes, all without floppy
> drives. For BIOS flash preparation I need an installation media and
> due to the fact I do not have a Windows XP box or FreeDOS box I need
> my laptop for creation of a bootable USB key media with the
> appropriate BIOS flash images and flashing tools.
> It seems to be a desaster. Every Wiki I visited looking for the
> subject referes to Gentoo/FreeDOS or highly complicated voodoo
> sessions installing first some files on floppy drive and the creating
> a bootable USB key ... blabla.
> Sorry, but I do not have FreeDOS running nor do I have Linux/Gentoo or
> Windows XP, I run FreeBSD on all of my machines. But in the age of
> legacy free computers, were floppy drives seems to be not essential
> anymore I run into massif problems having a legacy free server from
> TYAN without the ability taking any BIOS images from an USB key :-(
> The problem is I picked up some memory issues which have been solved
> with one of the newer BIOS images so I desperately need an update
> solution.

> Does anyone do have an idea?

It is not an answer to your question. It's just how I do
it. 

1. Set up a dhcp server. In my case all servers are located at one
   hardware server.
2. Set up a tftp server.
3. Use pxelinux [1] to boot the needed binary.

1. Dhcp config (partial):
-----
host temp1 {
  hardware ethernet <MAC-address>;
  fixed-address <ip-address>;
  filename "pxelinux.0";
  server-name "booting.domain.com";
  next-server booting.domain.com;
  option host-name "temp1.domain.com";
}
-----

2. /tftpboot directory contains

. a directory "pxelinux.cfg" with the config file "default"
(partially):
-----
default memtest
prompt 5
timeout 30

label memtest
  kernel memtest86+-1.70

label 3ware
  kernel memdisk
  append initrd=3WARE-FLASH-9.4.0.1.DOS

label ep
  kernel memdisk
  append initrd=EP-9HEAI.DOS

label freebsd7
  kernel pxeboot.0
-----

. file "pxelinux.0" [1];
. file "memdisk" [2] needed to load floppies with DOS images;
. file "memtest86+-1.70" is an image of memtest floppy, good for
  testing new hardware;
. file "3WARE-FLASH-9.4.0.1.DOS" is an image of DOS floppy with 3WARE
  updates;
. file "EP-9HEAI.DOS" is an image of DOS floppy with flasher for the
  EP-9HEAI motherboard;
. file "pxeboot.0" (renamed from pxeboot since pxelinux need it) is a
  real pxeboot to boot FreeBSD.

One can choose what to boot while PXE-booting (use a label from the
config file).

I use one of those free DOS available at internet. To create the
needed image:
-----
# mdconfig -a -t vnode -f <floppy_dos_image> -u 0
# mount -t msdosfs /dev/md0 /mnt
-----

Then copy the needed files to /mnt. Don't forget to do:
-----
# umount /mnt
# mdconfig -d -u 0
-----

That's it, here is a floppy image one can boot via PXE.

Limitations:
1. I use only PXE-capable network cards.
2. An old flash image cannot be saved.


[1] http://syslinux.zytor.com/pxe.php
[2] http://syslinux.zytor.com/memdisk.php


WBR and HTH
-- 
bsam


More information about the freebsd-questions mailing list