# Installing FreeBSD 8.0 on a GPT hard drive



## metayoshi (Jun 24, 2010)

Hi all.

I need to install FreeBSD 8.0 onto a hard drive using a GUID Partition Table (GPT). I am doing some research on GPT, and according to Wikipedia: http://en.wikipedia.org/wiki/GUID_Partition_Table#Unix_Class_Operating_Systems, FreeBSD can be booted from a GPT hard drive. I have tested every single OS that has "Yes" under the "Boot from GPT" columns, including the many flavors of Windows and Linux, but FreeBSD is proving to be a major pain.

Can somebody on here help me out, or at least point me in the right direction? I would appreciate it very much!


----------



## jem (Jun 24, 2010)

I run all my i386 systems with GPT partitioning now.  I did a quick writeup on how to do it.  You can find it here: http://www.b0rken.org/freebsd/gpt.html

This was originally written for FreeBSD 7.2 which had the 'gpt' command instead of 'gpart'.  I updated it for 'gpart' under FreeBSD 8.0 earlier today, but there might still be some errors.

Let me know if it helps.


----------



## metayoshi (Jun 24, 2010)

jem said:
			
		

> I run all my i386 systems with GPT partitioning now.  I did a quite writeup on how to do it.  You can find it here: http://www.b0rken.org/freebsd/gpt.html
> 
> This was originally written for FreeBSD 7.2 which had the 'gpt' command instead of 'gpart'.  I updated it yesterday, but there might still be some errors.
> 
> Let me know if it helps.



Thanks, the guide looks very thorough, although I get 
	
	



```
gpart: provider 'ad0': Invalid argument
```
 after typing [cmd=]gpart create -s GPT ad0[/cmd] I tried changing the 0 to other numbers without success. I'm not sure where to go from there.


----------



## metayoshi (Jun 24, 2010)

metayoshi said:
			
		

> Thanks, the guide looks very thorough, although I get
> 
> 
> 
> ...



Never mind. One of my systems was having trouble seeing the hard drive. I connected it to another system and the command worked.


----------



## metayoshi (Jun 24, 2010)

jem said:
			
		

> I run all my i386 systems with GPT partitioning now.  I did a quick writeup on how to do it.  You can find it here: http://www.b0rken.org/freebsd/gpt.html
> 
> This was originally written for FreeBSD 7.2 which had the 'gpt' command instead of 'gpart'.  I updated it for 'gpart' under FreeBSD 8.0 earlier today, but there might still be some errors.
> 
> Let me know if it helps.



Alright. Now, I got to step 10: "Obtain FreeBSD dist files and make them available locally..." Where do I obtain these dist files? I Googled "freebsd dist files" and I got this site: http://ftp2.ie.freebsd.org/pub/FreeBSD/distfiles/. That seems like way too many files for just a simple installation (but I could be wrong). In any case, which dist files are necessary for a simple bare working installation of FreeBSD?


----------



## jem (Jun 25, 2010)

Have a look here:  ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/8.0-RELEASE/

(These files are also on a standard FreeBSD installation CD in the /FreeBSD directory - but not on the LiveFS CD due to space constraints)

Each of the directories contains a chopped up tarball of a particular component of a FreeBSD installation, and a script to install it.  To get a very basic FreeBSD installation working, you only need the 'base' and 'kernels' directories.

I would download these into /mnt/home (as that filesystem will be empty and unused at this stage), then proceed with step 11.

Set the DISTDIR environment variable to the directory where you mounted the root partition of the hard disk, then run the install.sh script for 'base' first, then the install.sh script for 'kernels' (you need to pass it an argument of "generic").


----------



## metayoshi (Jun 25, 2010)

jem said:
			
		

> Have a look here:  ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/8.0-RELEASE/
> 
> (These files are also on a standard FreeBSD installation CD in the /FreeBSD directory - but not on the LiveFS CD due to space constraints)
> 
> ...



Ok, now, at the end of step 11 when executing install.sh for "base", I get a bunch of "Failed to create dir" and "Can't create" messages. I made made sure I executed "DISTDIR=/mnt" and "export DISTDIR", but I still get the same errors.


----------



## metayoshi (Jun 25, 2010)

metayoshi said:
			
		

> Ok, now, at the end of step 11 when executing install.sh for "base", I get a bunch of "Failed to create dir" and "Can't create" messages. I made made sure I executed "DISTDIR=/mnt" and "export DISTDIR", but I still get the same errors.



Ok. I finally got it working. I looked at install.sh, and it seemed to be looking for DESTDIR instead of DISTDIR. I used "DESTDIR=/mnt" and executing install.sh ran with no problem.

Thank you so much for your help! This helped me out a lot!


----------



## jem (Jun 25, 2010)

My apologies - that's an error in my write up.  I'll fix that in a bit and add some more detail about the distribution files.


----------



## stolennomenclature (Oct 30, 2010)

*cant get anywhere with this*

I am trying to install Freebsd FreeBSD 8.1 on a PC, but having no luck - just keep getting "Unable to create device node xxxxxx on /dev", etc. Seems to correspond roughly to what is happening on this thread.

I have noted the advice given re the manual steps needed to overcome this problem. Is there no automatic way to overcome this problem? I mean, this is a modern operating system, written by thousands of people, and all we are talking about is copying it to a hard drive. How comes the install routine cannot handle this without manual intervention? I don't understand. Even DOS could do this ten years ago. Surely I must be missing something here. I don't give a damn what partitions or slices are used - I just want to get the operating system on the hard drive. Don't care how. So long as I don't need to do a two year course on FreebSD FreeBSD command line semantics to do so, i I'll be happy. 

Does anyone know an easy way to get this install to work? Note, my PC has a standard IDE hard drive (250Gig Western Digital), and I am NOT doing any funny dual boot stuff. Just want to get FreeBSD on the PC to evaluate it. So far after hours of failed attempts I am beginning to appreciate why Windows is so popular!!
:stud


----------



## jb_fvwm2 (Oct 30, 2010)

Fixed disk device drivers changed somewhere during v7 >> v8. Afaik, v8 sysinstall may not be fully updated for the change. You need probably 
	
	



```
geom_mbr.ko, geom_bsd,ko, geom_label.ko
```
 loaded for the devices to be found.  

I ran into the exact same issue. Several workarounds exist.  Maybe install with a v7 disc1, set its sysinstall parameters to set up the network etc, and for an ftp install of version 8 (would need precise case-sensitive syntax). Those ftp installs are quick usually. Sorry I cannot describe more about it. 

Other ways exist but that is the only one I remember that can fit in two  sentences. And it is not entirely certain that those three ko's are the problem.  At any rate, they are mentioned in several other threads so do that forum search and someone may have posted a method that would actually work.


----------



## gnomishinvader (Mar 30, 2011)

For those that need to create a GPT scheme and then install 8.x, I used the recent snapshot of 9.0 with the new *bsdinstall*. Download the recent 9.0 snapshot, I got mine from *this thread*. Then I created the partition scheme for my disk(s) using the "*live cd*" option, then run `# bsdinstall` from there. You go through it until the partition editor comes up, set it how you want, apply it, then as soon as it finishes building out the filesystems, hit * CTRL+C*. You get dropped back into the shell. from there reboot to a 8.x live dvd or memstick and follow the link below.



			
				jem said:
			
		

> I run all my i386 systems with GPT partitioning now.  I did a quick writeup on how to do it.  You can find it here: http://www.b0rken.org/freebsd/gpt.html
> 
> This was originally written for FreeBSD 7.2 which had the 'gpt' command instead of 'gpart'.  I updated it for 'gpart' under FreeBSD 8.0 earlier today, but there might still be some errors.
> 
> Let me know if it helps.


----------

