installing FreeBSD 10.1 i386 on USB flash drive
David Christensen
dpchrist at holgerdanske.com
Sun Jan 11 05:07:20 UTC 2015
freebsd-questions:
I tried to do the simplest install I could onto one USB flash drive:
"Welcome to FreeBSD" -- choose "1. Boot Multi User".
"Welcome" -- choose "Install".
"Keymap Selection" -- choose ">>> Continue with default keymap".
"Set Hostname" -- enter "cd2533".
"Distribution Select" -- accept default selections:
games
ports
"Partitioning" -- select "Auto (UFS)":
Choose "da0 15 GB Disk <SanDisk Ultra Fit>"
Choose "Entire Disk", "Yes", "Finish", "Commit".
Enter and confirm root password.
"Network Configuration":
Select "em0"
"IPv4" -- "YES".
"DHCP" -- "YES".
"IPv6" -- "NO".
"Resolver Configuration"
"Search" -- holgerdamske.com
"IPv4 DNS 1" -- 192.168.1.1
"IPv4 DNS 2" --
"Set Local or UTC Clock" -- "YES".
"Time Zone Selector" -- "America North and South" -- "United
"States" -- "Pacific Time". Confirm "PST".
"System Configuration" -- select:
sshd
ntpd
powerd
dumpdev
"Add User Accounts" -- "NO".
"Final Configuration" -- "Exit".
"Manual Configuration" -- "NO".
"Complete" -- "Reboot".
Power down. Remove installation media. Power-up -- nope.
It appears that the BIOS does not think the USB flash drive is bootable.
Put USB flash drive into Linux box:
2015-01-10 20:44:21 root at p43400e ~
# dmesg | tail -n 16
[32861.736027] usb 1-8: new high-speed USB device number 4 using ehci_hcd
[32861.869198] usb 1-8: New USB device found, idVendor=0781, idProduct=5583
[32861.869203] usb 1-8: New USB device strings: Mfr=1, Product=2,
SerialNumber=3
[32861.869207] usb 1-8: Product: Ultra Fit
[32861.869209] usb 1-8: Manufacturer: SanDisk
[32861.869212] usb 1-8: SerialNumber: 4C530123140926106290
[32861.869925] scsi7 : usb-storage 1-8:1.0
[32862.868730] scsi 7:0:0:0: Direct-Access SanDisk Ultra Fit
1.00 PQ: 0 ANSI: 6
[32862.871005] sd 7:0:0:0: Attached scsi generic sg3 type 0
[32862.871477] sd 7:0:0:0: [sdc] 31266816 512-byte logical blocks:
(16.0 GB/14.9 GiB)
[32862.872602] sd 7:0:0:0: [sdc] Write Protect is off
[32862.872608] sd 7:0:0:0: [sdc] Mode Sense: 43 00 00 00
[32862.874030] sd 7:0:0:0: [sdc] Write cache: disabled, read cache:
enabled, doesn't support DPO or FUA
[32862.907881] sdc: sdc1 sdc2 sdc3
[32862.912729] sd 7:0:0:0: [sdc] Attached SCSI removable disk
[32863.333800] ufs was compiled with read-only support, can't be
mounted as read-write
2015-01-10 20:44:27 root at p43400e ~
# parted /dev/sdc u s p free
Model: SanDisk Ultra Fit (scsi)
Disk /dev/sdc: 31266816s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 34s 1057s 1024s
2 1058s 29360161s 29359104s freebsd-ufs
3 29360162s 30922785s 1562624s
30922786s 31266782s 343997s Free Space
Boot flag is not set. STFW:
http://www.rodsbooks.com/gdisk/bios.html
Check version of fdisk:
2015-01-10 20:44:32 root at p43400e ~
# fdisk -V
fdisk (util-linux 2.20.1)
Use fdisk to look at protective MBR partition table:
2015-01-10 20:55:01 root at p43400e ~
# fdisk /dev/sdc
WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util
fdisk doesn't support GPT. Use GNU Parted.
Command (m for help): p
Disk /dev/sdc: 16.0 GB, 16008609792 bytes
256 heads, 63 sectors/track, 1938 cylinders, total 31266816 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdc1 1 31266815 15633407+ ee GPT
Set the boot flag:
Command (m for help): a
Partition number (1-4): 1
Command (m for help): p
Disk /dev/sdc: 16.0 GB, 16008609792 bytes
256 heads, 63 sectors/track, 1938 cylinders, total 31266816 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdc1 * 1 31266815 15633407+ ee GPT
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Put USB drive back into cd2533 and try again -- it works!
So, it appears that there is a bug in the BSD installer -- it is not
setting the boot flag in the protective MBR partition table (?).
David
More information about the freebsd-questions
mailing list