# FreeBSD on external USB HDD with GPT and ZFS



## ekar (Oct 14, 2011)

Dear support,

I want to install FreeBSD on external USB HDD (1TB) with GPT and ZFS to use with any PC.

Because there are many threads showing the problems booting from USB related to BIOS/MBR/GPT.. I am already confused what is actually working and what is not and how to avoid problems in the future, so I would be very happy if you could answer to me when FreeBSD with a setup described above won't boot? Would it boot on any PC or it depends on a BIOS?

I have tried to boot FreeBSD 9 BETA-3 memstick which is not with MBR but with GPT and I can't boot it from my PC. Should I avoid GPT and use MBR if I want to boot from any PC my wanted setup above?

Many thanks.


----------



## jem (Oct 21, 2011)

ekar said:
			
		

> I have tried to boot FreeBSD 9 BETA-3 memstick which is not with MBR but with GPT and I can't boot it from my PC. Should I avoid GPT and use MBR if I want to boot from any PC my wanted setup above?



The memstick installation images use a dedicated bsdlabel, not GPT.


----------



## wblock@ (Oct 21, 2011)

jem said:
			
		

> The memstick installation images use a dedicated bsdlabel, not GPT.



Things have changed.  Earlier memstick images were "dangerously dedicated" (raw bsdlabel):

```
% file FreeBSD-8.2-RC3-i386-memstick.img 
FreeBSD-8.2-RC3-i386-memstick.img: x86 boot sector; partition 4: ID=0xa5, active, starthead 0,
startsector 0, 50000 sectors, code offset 0x3c, [color="Red"]BSD disklabel[/color]
```

Later, it switched to GPT.  9.0-BETA3 memstick is GPT:

```
% file FreeBSD-9.0-BETA3-amd64-memstick.img
FreeBSD-9.0-BETA3-amd64-memstick.img: x86 boot sector; partition 1: ID=[color="Red"]0xee[/color], active, starthead 1,
startsector 1, 1339319 sectors, code offset 0x31
```

When that image is dd(1)ed to a memstick that isn't exactly the same size as the original, the backup GPT table that should be at the end of the disk is no longer at the end of the disk.  Apparently some BIOS implementations actually care about that, so now it's supposed to go back to MBR.  However, 9.0-RC1 is something different:


```
file FreeBSD-9.0-RC1-amd64-memstick.img 
FreeBSD-9.0-RC1-amd64-memstick.img: Unix Fast File system [v1] (little-endian), last mounted on ,
last written at Tue Oct 18 13:24:52 2011, clean flag 1, number of blocks 665392, number of data
blocks 663455, number of cylinder groups 12, block size 8192, fragment size 1024, minimum percentage
of free blocks 8, rotational delay 0ms, disk rotational speed 60rps, TIME optimization
```

That does actually boot, despite looking like it wouldn't.  And a da0a node is created.


----------

