Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: i386/amd64 image generated trough mkimage stuck on primary bootsrap at boot



On Sun, 10 Jul 2022, Izumi Tsutsui wrote:

IIRC libsa/sa/ufs.c requires large heapsize to read blocksize,
from ffs, so sometimes it fails to load on blocksize=65536 fs.
(but I'm nots sure 64KB blocksize is valied on FFS because
newfs(8) man page just says 4KB-32KB for it)


On Mon, 11 Jul 2022, matthew green wrote:

FWIW, i've been using 64K block *and frag size FFS for over
a decade without any problem, on a file system that almost
always has extremely large files on it.


I think what's happening here on x86/amd64 systems with a 64k
or larger FS block-sizes is that:

a) the no. of sectors exceeds the count allowed in the INT 13h
   disk-read call (less likely), or,

b) the buffer allocated in sys/lib/libsa/ufs.c:724 crosses a
   64k x86 segment boundary (more likely).

I see that sys/arch/i386/stand/lib/biosdisk_ll.c:242 sets cold=1
which will most likely result in situation b) for any of the
bootxx_* bootloaders.

It should be documented somewhere that block-sizes > 32k are a
problem for the BIOS bootloaders on the x86/amd64 arch...

-RVP



Home | Main Index | Thread Index | Old Index