iPXE discussion forum

Full Version: INT 13: invalid blocksize (4096) for non-extended read-write
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
iscsi boot works in EFI mode but when I try to boot in BIOS I get (in debug output):

INT 13 drive 80 invalid blocksize (4096) for non-extended read/write
INT13,02 *80) failed with status 01
INT13 drive 80 could not read MBR (status 0101)
INT13 drive 80 has no boot catalog
INT13,4d (80) failed with status 01
INT13 drive 80 could not read El Torito boot catalog (status 0100)

target is a Linux server. How can I fix the error (I think it's because the blocksize of disk is 4096 while BIOS/int13 expects 512 blocks).
(2017-03-21 17:15)mpiechotka Wrote: [ -> ]How can I fix the error (I think it's because the blocksize of disk is 4096 while BIOS/int13 expects 512 blocks).

You are correct. BIOS boot requires the ability to read 512-byte blocks. iPXE can emulate larger 2048-byte blocks (for a CD-ROM) if the underlying device uses 512-byte blocks, but has no support for emulating blocks smaller than the underlying device.

You will need to ensure that the target is configured to use a 512 byte blocksize. This will not affect performance, since any modern filesystem will use an effective blocksize of 4096 anyway (i.e. will always read and write multiples of 8 512-byte blocks).

Michael
For reference - in targetcli you need to unmap lun (otherwise you will get a invalid value error) and 'set attribute block_size=512'.

(2017-03-21 17:20)mcb30 Wrote: [ -> ]This will not affect performance, since any modern filesystem will use an effective blocksize of 4096 anyway (i.e. will always read and write multiples of 8 512-byte blocks).

I would think the thing affecting performance would be network and lack of LAN...
Reference URL's