Installing from USB drive

Volker volker at vwsoft.com
Sat Oct 4 14:39:02 UTC 2008


On 12/23/-58 20:59, Manolis Kiagias wrote:
> knowtree at aloha.com wrote:
>> In general, is it possible to install FreeBSD from CD-ROM using a USB
>> plug-in drive?
>>
>> More specifically, I am thinking about picking up a Fujitsu LifeBook
>> P1620
>> convertable tablet PC. It does not have a built-in optical drive, but
>> Fujitsu does list two external USB drives, one a Dual-Layer DVD
>> Writer, the
>> other a DVD/CD-RW combo drive. I submitted my question to their tech
>> support and am awaiting an answer, but in the meantime I thought I should
>> ask here, too.
>>
>> Besides the obvious question of whether or not the P1620 will boot from a
>> USB optical drive, I wonder if the FreeBSD boot loader knows how to load
>> the installation kernal from a USB drive. Then there is the issue of
>> making
>> this a dual boot system.
>>
>> By the way, the T1010 has a built-in optical drive, and the T2010 has
>> it in
>> the docking station. This makes the T1010 the best choice in terms of
>> compatibility, but I like the smaller size of the P1620 and rarely use an
>> optical drive. Too bad the P1620 is not like the Apple Air, which can use
>> an optical drive in another computer on the network to install OS X and
>> applications.
>>
>> Gary Dunn
>> Honolulu
>> Open Slate Project http://openslate.net/
>> mailto:osp at aloha.com
>>   
> 
> If your BIOS can boot from a USB CD-ROM, you will be able to install
> FreeBSD with no problems.

That depends!

Lately I've investigated a lot of boot problems and was wondering about
the USB stuff. Sadly, not every vendor has an understanding about the
boot process and not every BIOS does handle booting off USB devices well.

What I've found so far, was interesting while one may assume, how a BIOS
should boot a system should be well known to the vendors for more than
twenty years now.

One BIOS refused to load the MBR (not only usb related) while two
different slices were (by accident) flagged active in the slice table.
The BIOS just claimed it was unable to find a boot device. I expect
problems like these to be handled (or claimed about) by the MBR, not by
the BIOS. (interestingly this was on an Intel Atom board - Intel should
know better)

Another BIOS refused to load the MBR off an USB thumb drive, if the
thumb drive wasn't the first bootable device in the boot device chain
(the first one wasn't bootable). Instead of loading the MBR off the
thumb drive or booting off the flagged active slice, the BIOS saw a FAT
filesystem and tried to boot that (not marked active). IMO a BIOS should
not try to know anything about a filesystem at all.

Another BIOS booted off the USB thumb drive (loaded the MBR) but as soon
as the MBR has been loaded, the BIOS threw away the legacy device
emulation and thus the MBR code was unable to access that device as the
MBR code of course does not have any knowledge of USB devices and has to
rely on INT13 BIOS support. If the USB device isn't accessible through
INT13, you won't go very far.

I've seen the last problem on several boards. If you're lucky, there
might be an option in the BIOS setup to enable EHCI handoff support.

Should you experience problems like the first one, check your slice
table. The other ones can probably worked around by either setting the
USB device to a high boot device priority or trash your board and blame
the BIOS vendor.

For the last problem, it may (or may not) help to play with BIOS settings.

For an USB cdrom drive, it may fail for the BTX loader. Latest versions
should work but YMMV. IMO you should best try to boot off a thumb drive
to see if your board has problems booting off USB devices at all.

> All recent BIOS can - and even older ones actually. I have a couple of
> machines with 865G chipset (not exactly state of the art) and they boot
> just fine.

My mileage varies here ;)

I've experienced the most problems on an 865 board. The board vendor
tried to fix some issues on my request but that wasn't a success.

I expect the BIOS to provide just basic services to the machine but
today's vendors seem to try to get some cleverness into their code which
hurts if you don't use a M$ based system.

Preparing a thumb drive for testing BIOS behavior is easy:
fdisk -BI /dev/daN
bsdlabel -wB /dev/daNs1
newfs it
mount it
cd /usr/src
make distrib-dirs distribution installworld installkernel \
DESTDIR=/daNmountpoint
unmount it

Good luck!

Volker



More information about the freebsd-mobile mailing list