Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Jul 2005 19:19:30 -0700
From:      Glenn Dawson <glenn@antimatter.net>
To:        Ross Kendall Axe <ross@axe.homelinux.net>, freebsd-questions@freebsd.org
Subject:   Re: /boot on a separate partition
Message-ID:  <6.1.0.6.2.20050718190554.11fe1e10@cobalt.antimatter.net>
In-Reply-To: <42DC53BE.6040205@axe.homelinux.net>
References:  <42DC1173.6020307@axe.homelinux.net> <20050718142635.E7170@border.crystalsphere.multiverse> <42DC53BE.6040205@axe.homelinux.net>

next in thread | previous in thread | raw e-mail | index | archive | help
At 06:13 PM 7/18/2005, Ross Kendall Axe wrote:
>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>
>Luke Dean wrote:
> >
> > On Mon, 18 Jul 2005, Ross Kendall Axe wrote:
> >
> >> I am currently trying to get to grips with FreeBSD and am trying it out
> >> on an old Pentium machine.  However, the machine's BIOS can't seem to
> >> read past 504MB, so I want to place the /boot directory in a small 25MB
> >> partition at the start of the drive.  Setting up the partition with
> >> sysinstall is easy enough, but does anyone have any suggestions of how
> >> to diddle the bootloader to accept this configuration?
> >
> > All I would expect you have to do is use FDISK to make two partitions,
> > remembering to mark the first one as bootable.  Then use disklabel to
> > create your slices.  Make a /boot slice on the first partition, then
> > make a / slice and a swap slice on the second partition.
> > That should be all that's required for what you're trying to do.
> > A little over a year ago, I had to split up a drive to solve the same
> > problem you're having, but I went the "small /" route instead, so you
> > might be running into a problem I didn't have.
> >
> > Luke Dean
> >
>
>I created the partitions easily enough when installing the system.  I
>created a single slice and, inside that, partition d as my small /boot
>partition and partition a as the root.
>
>The problem I'm having is trying to actually boot the system.  On boot,
>the output (after the BIOS) looks like this:
>
>error 1 lba 1190783
>No /boot/loader
>
>FreeBSD/i386 boot
>Default: 0:ad(0,a)/kernel
>boot: <short delay...>
>No /kernel
>
>FreeBSD/i386 boot
>Default: 0:ad(0,a)/kernel
>boot:
>
>The 'error 1' is presumably due to my dodgy BIOS, and 'No /boot/loader'
>happens because it's looking on the wrong place for the stage 3 loader.
>  Undaunted, I type 'ad(0,d)/loader' to load the stage 3 loader.  The
>loader appears to load properly, apart from the fact that is displays
>the message "can't load 'kernel".  At this point, I type 'boot
>kernel/kernel', which successfully loads the kernel and produces a
>momentary 'twirling baton'.  The keyboard then resets and the system hangs.
>
>Attempt 2: Change all occurrences of /boot/ in all text files in the
>/boot directory to /.  Then, at the stage 3 loader prompt, type 'include
>/loader.rc' instead of 'boot /kernel/kernel'.  Again, the kernel appears
>to be loaded successfully, and I get the standard boot menu with the
>ASCII beastie.  However, the boot hangs as before, with a keyboard reset.
>
>Attempt 3: Try to load the kernel directly from stage 2 by typing
>'ad(0.d)/kernel/kernel'.  Fails with a register dump and the message
>'BTX halted'.
>
>It's starting to look to me as though the stage 2 bootloader and kernel
>both want to be in the /boot directory on partition a.  I'd love to be
>proved wrong :-)

I think this is exactly the case.

According to the boot(8) man page, you can create a /boot.config that will 
allow you to customize things.  The only catch being that /boot.config has 
to be on the a partition of the slice you are booting from.  Normally the a 
partition would be / and also contain /boot.

/ defaults to being 256MB.  If you're trying to conserve space, it might be 
easier to run through an install and see how big / really needs to be and 
then do a second install and customize the size of / so that it only has 
the space it really needs.  (On one of my 5.4 systems / requires about 53MB)

You may have problems later on if you make the size of / too small.

-Glenn




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6.1.0.6.2.20050718190554.11fe1e10>