Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Jan 2020 16:39:02 +0100
From:      Polytropon <freebsd@edvax.de>
To:        "Thomas Mueller" <mueller6722@twc.com>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Need help trying to recompile kernel with EBR functionality
Message-ID:  <20200101163902.60776151.freebsd@edvax.de>
In-Reply-To: <202001011526.001FQUeA001903@r56.edvax.de>
References:  <DB8PR06MB6442B425832B28E6E16AC181F6210@DB8PR06MB6442.eurprd06.prod.outlook.com> <202001011526.001FQUeA001903@r56.edvax.de>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
On Wed, 01 Jan 2020 06:19:33 +0000, Thomas Mueller wrote:
> > I am a long time user of FreeBSD but have never recompiled my kernel.
> 
> 
> > I am trying to compile a custom 12.1 amd64 kernel with the ability
> > to add/delete EBR partitions, but the online documentation did not
> > help and I ended up losing EBR functionality entirely.
> 
> 
> > The steps I followed were as under :
> 
> 
> > 1) copied [/usr/src/sys/amd64/conf/]GENERIC as EBRKERNEL
> 
> > 2) commented out GEOM_PART_EBR_COMPAT in [/usr/src/sys/amd64/conf/]DEFAULTS

A little sidenote: Do not change that file. All your kernel
configurations should be in the kernel configuration file.
In order to deviate from the defaults, use "nooption <name>"
to disable an existing option, and (as shown correctly)
"option <name>" to add an additional one; same for "device"
and "nodevice".



> > 3) inserted 'options GEOM_PART_EBR' into my kernel configuration
> > file EBRKERNEL
> 
> > 4) cd /usr/src
> 
> > 5) make buildkernel KERNCONF=EBRKERNEL
> 
> > 6) make installkernel KERNCONF=EBRKERNEL
> 
> 
> > When I shutdown the system and rebooted into the new kernel, the
> > boot process halted complaining that it could find any device
> > /dev/ada0s5 (the EBR partition).
> 
> 
> > What am I doing wrong ? Any help in getting me a good custom kernel
> > with the ability to add/delete EBR partitions would be greatly appreciated.
> 
> > Thank you & Regards,
> > Manish Jain
> 
> I am rather confused here.  My first inclination would be to suggest
> you switch to GPT.

This often is not an option for multi-OS settings because it
lacks boot selection (through FreeBSD's boot manager), and
the support across different operating systems (for example,
read partition of of OS 1 from OS 2) sometimes causes trouble
when GPT is involved.



> Using MBR, you get up to 4 partitions, of which one may be
> an extended boot record.  That partition is a container for
> logical-partition data, not a partition that can be mounted
> or copied to or from.

The "DOS extended partition" (which contains "logical volumes")
is not to be addressed directly; instead the "logical volumes"
inside it are. And that's completely okay for non-bootable
partitions (such as data partitions). So basically there are
3 "DOS primary partitions" (bootable - 3 systems), one "slot"
for the "DOS extended partition", and inside it, any further
partitions needed, for example shared /home partitions for
Linux.

FreeBSD itself does not need any of this. ;-)



> It seems to me the EBR partition would be s1, s2, s3, or s4
> but no higher.  I'd need to see your full partition table
> data, such as you get with "fdisk -lu" in Linux, or you can
> use gpart with "show" in FreeBSD.

If I remember the numbering system correctly, s1 - s4 are
reserved for "DOS primary partitions" - slices. The "logical
volumes" as well as the "DOS extended partition" containing
them have a higher "s value".



> Maybe you have the wrong partition name (ada0s5)?  You can
> go to the loader prompt and get a rough idea of what's in
> the partitions, and change the root partition to boot into.

So if ada0s5 is the "DOS extended partition", it's absolutely
understandable that no partition (read: slice) can be found.
I think the problem here is that the number is wrong. It's
worth verifying the correct numbers with gpart. The "logical
volumes" that need to be addressed (as a "slice equivalent")
then probably should be ada0s6 and so on.



> I have created logical partitions with Linux fdisk but never
> any BSD fdisk.  I believe there is a linuxfdisk in FreeBSD
> ports, category would be sysutils to the best of my memory.

In the past, I used FreeBSD's ye olde fdisk for partition
creation, it worked, but the common suggestion was to use
the OS that would be _using_ the partition for initializing
it, and adding the required file systems. WIth goart, however,
this should basically work.



-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?20200101163902.60776151.freebsd>