FreeBSD Installer not recognizing existing partition tables

Polytropon freebsd at edvax.de
Fri Jan 18 11:24:36 UTC 2019


On Fri, 18 Jan 2019 01:55:11 -0400, Joel Maxuel wrote:
> Looking to set up FreeBSD as part of a dual-boot with Debian Stretch
> (already installed).  The drives I will be using includes an SSD
> (ada0/sda) for rootfs and an HDD (ada1/sdb) for swap and /home.

Such kinds of setting are possible.



> When I ran the FreeBSD installer, everything went fine until I got to
> partitioning - I chose the semi-manual option, and only ada0 & ada1
> appeared - no existing partitions below.
> 
> dmesg revealed:
> 
> ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
> ...
> ada0: Command Queueing enabled
> ada0: 262321MB (537234768 512 byte sectors)
> ada1 at ahcich1 bus 0 scbus1 target 0 lun 0
> ...
> ada1: Command Queueing enabled
> ada1: 953869MB (1953525168 512 byte sectors)
> ada1: quirks=0x1<4k>
> GEOM_PART: integrity check failed (ada0, BSD)
> GEOM_PART: integrity check failed (ada1, BSD)

That is correct so far - two physical devices.



> The parted details (I had pre-made the partitions for FreeBSD):

You should not pre-make anything for FreeBSD, just supply
unused disk space. The installer will create the required
partitions on its own. Experience tells us to leave the
installation tasks to the installer of the OS we want to
install. ;-)



> ~> sudo parted /dev/sda unit s print
> Model: ATA Crucial_CT275MX3 (scsi)
> Disk /dev/sda: 537234768s
> Sector size (logical/physical): 512B/512B
> Partition Table: msdos
> Disk Flags: 
> 
> Number  Start       End         Size        Type      File
> system  Flags
>  1      2048s       117229567s  117227520s  primary   ext4         boot
>  2      117229568s  537233407s  420003840s  extended
>  5      117231616s  419311615s  302080000s  logical   ext4
>  6      419313664s  419315711s  2048s       logical   freebsd-ufs
>  7      419317760s  537233407s  117915648s  logical

And this reveals your problem:

Within the MBR partitioning scheme (as opposed to GPT which
doesn't require any further discussion here), FreeBSD needs
to be installed into a slice. A slice is a DOS primary (!)
partition which the installer cannot allocate here - disk
space insufficient.

FreeBSD cannot be installed into a logical drive inside a
DOS extended partition, which is what you're trying to do.

If you free up disk space, the installer - in "MBR mode" -
will create a slice (another DOS primary partition), and
inside this slice, will create partitions / labels.

Example:

/dev/ada0s1 -> ext4
(extended and logicals omitted)
/dev/ada0s2 -> FreeBSD slice
	/dev/ada0s2a -> FreeBSD boot partition (or "everything")
	/dev/ada0s2b -> FreeBSD swap partition

Depending on how you want to set the system up, you will
at least need ada0s2 with ada0s2a; everything else is optional
or can be located elsewhere.

	

> ~> sudo parted /dev/sdb unit s print
> Model: ATA WDC WD1003FZEX-0 (scsi)
> Disk /dev/sdb: 1953525168s
> Sector size (logical/physical): 512B/4096B
> Partition Table: msdos
> Disk Flags: 
> 
> Number  Start        End          Size         Type      File
> system     Flags
>  1      2048s        78125055s    78123008s    primary   ext4
>  2      78127102s    1953523711s  1875396610s  extended
>  5      78127104s    97656831s    19529728s    logical   ext4
>  6      97658880s    117188607s   19529728s    logical   ext4
>  7      117190656s   128907263s   11716608s    logical   linux-swap(v1)
>  8      128909312s   695232511s   566323200s   logical   ext4
>  9      695234560s   1827696639s  1132462080s  logical   ext2
> 10      1827698688s  1945135103s  117436416s   logical   freebsd-ufs
> 11      1945137152s  1953523711s  8386560s     logical

Same problem here: No free disk space, and only a logical
drive within a DOS extended partition which FreeBSD cannot
natively use, at least not for booting.

It _might_ be possible to initialize this one with newfs
manually, and use it as /home (with "newfs" command and
maybe "tunefs" if needed). The corresponding /dev/ada1s<?>
will be a mystery for now. :-)

Sorry, I have never been using heavy DOS partitioning in
combination with FreeBSD, and even for dual-booting systems,
I've only been using primary partitions. I never needed
more than 4 "drive letters"... :-)

Sidenote:

For /home, if I understood you correctly, you don't even
need to add a label to the slice. Let's say, /dev/ada1s2
will be the DOS primary partition on the 2nd disk where
you want to place /home. You now _could_ add a 'd' label
('a' reserved for boot partition, 'b' for swap, and 'c'
for "the whole thing, whatever it is"), and then run
"newfs /dev/ada1s2d" on it. That's not needed, you can
"newfs /dev/ada1s2" as well, and then use /dev/ada1s2
for the /etc/fstab entry. If you wanted to use the entire
disk as "FreeBSD data" (i. e., not to boot from), you
could use "newfs /dev/ada1" to initialize it. This approach,
not using any partitioning at all, is called "dedicated",
because only FreeBSD can use it. The omission of partitioning
information will make it unusable for other operating systems,
even if they have UFS file system support.

However, if you use the typical FreeBSD partitioning approach,
you should get things up and running without further problems.



> `gpart show` returns nothing, and because the GEOM error automatically
> assumes the partition tables are BSD when they are really MBR (msdos),
> I don't believe the thread I found will be of assistance:
> 
> https://www.mail-archive.com/freebsd-geom@freebsd.org/msg01424.html
> 
> ...nor would I want to really risk blowing everything away (even with
> backups) for the possibility that my partition tables have gone weird
> over the years.

Try to remove the logical drives you prepared. See if the
installer picks up the free disk space. You have sufficient
DOS primary partitions left (you only need 1), that should
be okay. The installer seems to be a little confused here,
don't make it harder for it than it needs to be. :-)



> AHCI is turned on in my BIOS, but I am wondering if due to my other
> BIOS settings (noted above; IME disabled as well as it can be) if that
> is making FreeBSD expect something different from the controller than
> what is really happening.  I feel it is going to be something silly
> such as a slightly different process for non-UEFI.

I don't think so. The drives seem to be detected correctly
without any errors. It's just the confusing partitioning.
With unused disk space, things should work better.



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


More information about the freebsd-questions mailing list