[U-Boot] ext4: crash when writing a file

Sébastien Szymanski sebastien.szymanski at armadeus.com
Tue Nov 29 14:10:54 CET 2016


On 11/29/2016 01:14 PM, Brüns, Stefan wrote:
> On Dienstag, 29. November 2016 10:50:45 CET you wrote:
>> Hello,
>>
>> I am working on a i.MX6UL based board with a 4GB eMMC partitioned as
>> following:
>>
>> Device     Boot   Start     End Sectors  Size Id Type
>> /dev/sdb1          2048  264191  262144  128M 83 Linux
>> /dev/sdb2        264192 4458495 4194304    2G 83 Linux
>> /dev/sdb3       4458496 7634943 3176448  1.5G 83 Linux
>>
>> On the 2nd partition, I write this ext4 filesystem file generated by
>> Buildroot:
>> Filesystem volume name:   "ROOTFS"
>> Last mounted on:          <not available>
>> Filesystem UUID:          b9833a36-e89d-429a-b120-c3b00bcb7785
>> Filesystem magic number:  0xEF53
>> Filesystem revision #:    1 (dynamic)
>> Filesystem features:      has_journal dir_index filetype extent
>> sparse_super uninit_bg
>> Filesystem flags:         signed_directory_hash
>> Default mount options:    (none)
>> Filesystem state:         clean
>> Errors behavior:          Unknown (continue)
>> Filesystem OS type:       Linux
>> Inode count:              3456
>> Block count:              91756
> 91756 blocks ...
> 
>> Reserved block count:     4587
>> Free blocks:              13458
>> Free inodes:              488
>> First block:              1
>> Block size:               1024
> 1k each -> 91 MByte filesystem

Yes. Is there something wrong here ?

> 
>> Fragment size:            1024
>> Blocks per group:         7648
>> Fragments per group:      7648
>> Inodes per group:         288
>> Inode blocks per group:   36
>> Last mount time:          n/a
>> Last write time:          Tue Nov 29 09:44:52 2016
>> Mount count:              0
>> Maximum mount count:      -1
>> Last checked:             Tue Nov 29 09:44:52 2016
>> Check interval:           0 (<none>)
>> Reserved blocks uid:      0 (user root)
>> Reserved blocks gid:      0 (group root)
>> First inode:              11
>> Inode size:               128
>> Journal inode:            8
>> Default directory hash:   half_md4
>> Directory Hash Seed:      a583a07f-6b59-442d-8e08-9be305f78d17
>> Journal backup:           inode blocks
>>
>> This filesystem is written with the following commands:
>>
>> BIOS> setexpr nbblocks ${filesize} / 0x200
>> BIOS> setexpr nbblocks ${nbblocks} + 1
>> BIOS> mmc write ${loadaddr} 0x40800 ${nbblocks}
>> MMC write: dev # 0, block # 264192, count 183513 ... 183513 blocks
>> written: OK
>>
>> I can boot Linux with it without any issues, however if I try to write a
>> file in it I get the following crash:
>>
>> BIOS> ext4write mmc 0:2 ${loadaddr} /boot/${kernelimg} ${filesize}
> 
> What are you trying to achieve here? What is the value of $filesize?

I try to update the kernel image which is /boot/opos6ul-linux.bin. I
download it from a tftp server so $filesize is the size of the kernel image

BIOS> printenv filesize
filesize=518f68

> 
> Btw, which u-boot version are you using?

I first noticed the issue on U-Boot 2016.05 so I rebase on master from
http://git.denx.de/u-boot.git

Regards,

> 
> Regards,
> 
> Stefan
> 


-- 
Sébastien Szymanski
Software Engineer, Armadeus Systems
sebastien.szymanski at armadeus.com
Tel: +33 (0)9 72 29 41 44
Fax: +33 (0)9 72 28 79 26


More information about the U-Boot mailing list