[U-Boot] [PATCH v2 0/4] Add Support for Storage Devices with Blocksizes != 512

Egbert Eich egbert.eich at gmail.com
Wed Apr 10 09:11:53 CEST 2013


From: Egbert Eich <eich at suse.de>

Storage devices with more than 2TB generally use blocksizes of 4096 bytes,
So far u-boot was unable to boot from those devices as block sizes were 
hard coded to 512 bytes.

This patchset adds support for blocksizes != 512 byte to:
 - the ISO partition table.
 - the ext4. 

To be useful, one most likely needs:
   "disk/gpt: Fix GPT Partition handling for Blocksize != 512"
which was posted earlier.

With those fixes in place u-boot loads the kernel and initrd flawlessly       
from an ext2 fs on my 3TB USB hard drive which is set up with a GPT.              

I've also reviewed the FAT code, it seems to be ok already (except for a      
bug that I came across).                                                      
                                                                              
I may be persuaded to take a shot at other fs which are supported by          
a vanilla Linux kernel and I thus can test.                                   

Egbert Eich (4):
  disk/iso: Add Support for block sizes > 512 byte to ISO partition
    support
  fs/fat: Don't multiply fatsize  with sector size
  part/dev_desc: Add log2 of blocksize to block_dev_desc data struct
  fs/ext4: Support device block sizes != 512 bytes

 common/cmd_ide.c          |  5 ++++
 common/cmd_sata.c         |  1 +
 common/cmd_scsi.c         |  4 +++
 common/usb_storage.c      |  1 +
 disk/part_iso.c           |  3 +++
 drivers/block/ata_piix.c  |  1 +
 drivers/block/pata_bfin.c |  2 ++
 drivers/block/systemace.c |  1 +
 drivers/mmc/mmc.c         |  1 +
 fs/ext4/dev.c             | 62 ++++++++++++++++++++++++++++++-----------------
 fs/ext4/ext4_common.c     | 42 +++++++++++++++++---------------
 fs/ext4/ext4_common.h     |  2 +-
 fs/ext4/ext4_journal.c    |  6 ++---
 fs/ext4/ext4_write.c      | 32 ++++++++++++------------
 fs/ext4/ext4fs.c          | 14 ++++++-----
 fs/fat/fat_write.c        |  1 -
 include/common.h          |  2 +-
 include/ext4fs.h          |  1 +
 include/ext_common.h      | 12 +++------
 include/part.h            |  5 ++++
 20 files changed, 120 insertions(+), 78 deletions(-)

-- 
1.8.1.4



More information about the U-Boot mailing list