Re: can't boot 5.5 TB GPT disk

From: John Baldwin <jhb_at_freebsd.org>
Date: Mon, 13 Apr 2009 14:32:55 -0400
On Sunday 12 April 2009 1:52:27 am James R. Van Artsdalen wrote:
> FreeBSD bigback.housenet.jrv 8.0-CURRENT FreeBSD 8.0-CURRENT #0 r190917:
> Sat Apr 11 19:48:25 CDT 2009
> james_at_bigback.housenet.jrv:/usr/obj/usr/src/sys/GENERIC  amd64
> 
> I can't boot a GPT partitioned 5.5 TB disc, where the UFS root partition
> is near the end of the disk.  If I put another disk in the system and
> mount root from the GPT disk the system runs fine.
> 
> The 5.5 TB disk is partitioned:
> 
> bigback# gpart show
> =>         34  11718748093  ad6  GPT  (5.5T)
>            34            6       - free -  (3.0K)
>            40       409600    1  efi  (200M)
>        409640  11634190128    2  !6a898cc3-1dd2-11b2-99a6-080020736631
> (5.4T)
>   11634599768          128    3  freebsd-boot  (64K)
>   11634599896      4194304    4  freebsd-ufs  (2.0G)
>   11638794200     33554432    5  freebsd-swap  (16G)
>   11672348632      4194304    6  freebsd-ufs  (2.0G)
>   11676542936     33554432    7  freebsd-ufs  (16G)
>   11710097368      8388608    8  freebsd-ufs  (4.0G)
>   11718485976       262151       - free -  (128M)
> 
> If I try to boot it (disk1 so pressing F5 here) it fails looking like
> this (there is no UART available so this is typed from a pic, with typos):
> 
> F1   FreeBSD
> F5   Drive 1
> 
> Default:   F1
> 
> BTX Loader 1.00 BTX version is 1.02
> Consoles: internal video/keyboard
> BIOS drive C: is disk0
> BIOS drive D: is disk1
> BIOS 630kb/3136864kB available memory
> 
> FreeBSD/i386 bootstrap loader, Revision 1.1
> (james_at_bigback.housenet.jrv, Sat Apr 11 08:19:00 CDT 2009
> \
> can't load 'kernel'
> 
> Type '?' for a list of commands, 'help' for more details
> OK
> 
> To get this far suggests to me that PMBR and GPTBOOT worked, and that
> the problem is elsewhere.  Suggestions?  Could there be a 32-bit
> truncation lurking in a loader somewhere?
> 
> PS. Note that the "lsdev' command causes the loader to crash while
> printing out the info on the big disk, right after the EFI line for ad6p1...

I would first try to fix the lsdev crash.  You can use forever loops and 
printfs to narrow down the cause of the crash if needed.  The biosdisk.c code 
should be able to handle 64-bit LBAs.

-- 
John Baldwin
Received on Mon Apr 13 2009 - 16:50:56 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:46 UTC