Create Ultimate Boot CD USB Stick [SOLVED]

Andrea Venturoli ml at netfence.it
Mon Oct 2 12:07:24 UTC 2017


On 09/08/15 08:46, Quartz wrote:
>> Is there a way to create an UBCD stick from the ISO image without using
>> Linux or Windows?
> 
> UBCD uses the SYSLINUX package (specifically ISOLINUX) to boot to the 
> menu and load all its modules. I have not tested this, but it may be 
> possible to download and run the SYSLINUX scripts directly under *BSD to 
> create an 'empty' usb stick that just boots to a dummy menu. If that 
> works, you can then just cp the config and modules from the UBCD ISO 
> onto your stick afterwards and be good to go. (SYSLINUX, ISOLINUX and 
> PXELINUX all spawn an identical environment, so you can literally copy 
> and paste stuff between them).

I know I'm replying to a more than two years old thread, but I thought 
I'd share with others the solution I found.

I assume no responsibility in case something goes wrong :)



One must first follow the instructions from 
ubcd/tools/linux/ubcd2usb/readme.txt.
Of course we are not on Linux, so the actual commands are different.

Point 2:
I used "camcontrol devlist" to see that my USB drive was /dev/da6 (of 
course, in the following phases, it must be changed to whatever is correct).

Point 3:
A) dd bs=16M if=/dev/zero count=1 of=/dev/da6
B) gpart create -s MBR /dev/da6
    gpart add -t fat16 /dev/da6
C) newfs_msdos /dev/da6s1

Point 4:
> dd count=1 conv=osync if=ubcd/tools/linux/ubcd2usb/mbr.bin of=ubcd/tools/linux/ubcd2usb/mbr_padded.bin
> gpart bootcode -b ubcd/tools/linux/ubcd2usb/mbr_padded.bin /dev/da6
> gpart set -a active -i 1 /dev/da6

...

Point 7:
(after installing sysutils/syslinux and umounting the stick)
syslinux -f --install -s -d /boot/syslinux /dev/da6s1




Now the additional part...
Mount the USB stick and look into boot/syslinux: isolinux.bin, 
ldlinux.sys and every .c32 file in there (except localboot.c32) must be 
replaced from the ones from the syslinux port.
E.g.
> cp /usr/local/share/syslinux/bios/core/isolinux.bin .../boot/syslinux
> cp /usr/local/share/syslinux/bios/com32/chain/chain.c32 .../boot/syslinux
 > ...

Also add libcom32.c32 and libutil.c32.


HTH.

  bye
	av.


More information about the freebsd-questions mailing list