[LEDE-DEV] Ext4 resize fault
Gerhard Bertelsmann
info at gerhard-bertelsmann.de
Thu Sep 1 23:05:16 PDT 2016
Hi,
I want to distribute a small Lede image for BananaPi. This image
should be automatically expanded to the maximum size of the SD card
like the way Raspbian is doing it.
But resize2fs exits with a fault.
Here the steps I have done:
Before reboot:
root at Modellbahn-BPi:/# fdisk -l | egrep "Device|^/dev"
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 * 2048 43007 40960 20M c W95 FAT32 (LBA)
/dev/mmcblk0p2 45056 1093631 1048576 512M 83 Linux
Resized and booted:
root at Modellbahn-BPi:/# fdisk -l | egrep "Device|^/dev"
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 * 2048 43007 40960 20M c W95 FAT32 (LBA)
/dev/mmcblk0p2 45056 15130623 15085568 7.2G 83 Linux
root at Modellbahn-BPi:/# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 504040 65256 428300 13% /
tmpfs 515568 44 515524 0% /tmp
tmpfs 512 0 512 0% /dev
And now try to resize:
root at Modellbahn-BPi:~# resize2fs /dev/mmcblk0p2
resize2fs 1.43.1 (08-Jun-2016)
Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
resize2fs: Invalid argument While checking for on-line resizing support
which also shows following on the console:
[ 120.846183] EXT4-fs (mmcblk0p2): resizing filesystem from 131072 to
1885696 blocks
[ 120.910386] EXT4-fs warning (device mmcblk0p2):
reserve_backup_gdb:968: reserved block 32 not at offset 31
[ 120.920136] EXT4-fs (mmcblk0p2): resized filesystem to 1885696
[ 124.239447] EXT4-fs warning (device mmcblk0p2):
ext4_group_extend:1730: can't shrink FS - resize aborted
As far as I know (googled), the small GDT number is the problem. My
slightly
modified image (size 256M -> 512M and 12,000 -> 48,000 inodes) looks
like:
% tune2fs -l lede-sunxi-root.ext4
tune2fs 1.42.9 (4-Feb-2014)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 57f8f4bc-abf4-655f-bf67-946fc0f9f25b
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode filetype
extent sparse_super large_file uninit_bg
Filesystem flags: unsigned_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Remount read-only
Filesystem OS type: Linux
Inode count: 48000
Block count: 131072
Reserved block count: 0
Free blocks: 109688
Free inodes: 40349
First block: 0
Block size: 4096
Fragment size: 4096
Reserved ks: 31
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 12000
Inode blocks per group: 750
Last mount time: n/a
Last write time: Thu Jan 1 01:00:00 1970
Mount count: 0
Maximum mount count: -1
Last checked: Thu Jan 1 01:00:00 1970
Check interval: 0 (<none>)
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: tea
Journal backup: inode blocks
I had a look at make_ext4fs.c but I don't get any clue how to increase
the amount of GDT entries created.
Does anybody know how I could influence the GDT number ?
Regards
Gerd
More information about the Lede-dev
mailing list