On 03/09/13 11:26, meino.cra...@gmx.de wrote:
> William Kenworthy <bi...@iinet.net.au> [13-09-03 05:08]:
>> On 03/09/13 10:45, meino.cra...@gmx.de wrote:
>>> walt <w41...@gmail.com> [13-09-03 04:15]:
>>>> On 09/02/2013 09:15 AM, meino.cra...@gmx.de wrote:
>>>>> The rootfs and $HOME of my embedded system is stored 
>>>>> on a 16GB SD-card (about 5GB used, rest free). The FS
>>>>> is ext4.
>>>>>
>>>>> Since the system hangs for unknown reasons several times
>>>> Does it hang at a predictable point, like during boot, or poweroff?
>>>>
>>>> I know almost nothing about SD cards (yet).  Do they develop bad
>>>> blocks like other storage media?  I notice fsck.ext4 has a -c flag
>>>> to check for bad blocks.  
>>>>
>>> No, it hangs while compiling or while updateing (eix-sync; emerge ...).
>>>
>>>
>>> I did the following now:
>>> I did a binary image backup with dd of the sdcard.
>>> I made a backup of the all files from the bad fs with tar.
>>> I say "YES" to fsck to fix what it found.
>>> I made another backup of the all files from the bad fs with tar.
>>> I md5summed both tar archives and found them identical.
>>>
>>> Now...is the conclusion correct, that the identical md5sum
>>> indicate, that the fixed error of the fs only had impact to
>>> already invalidated data?
>>> Or whatelse could this indicate?
>>>
>>> Best regards,
>>> mcc
>>>
>>> PS: What come mind just in this moment:
>>> Can I ran fsck on an binary image of the fs which I made with dd somehow?
>>>
>>>
>>>
>>>
>>>
>> Have you run out of inodes? - ext 4 has had very mixed success for me on
>> solid state.  Running out of inodes is a real problem for gentoo on
>> smaller SD cards with standard settings.
>>
>> BillK
>>
>>
>>
> Does this error message from fsck indicate that? I am really bad in
> guessing what fsck tries to cry at me ... ;)
>
>
>>>     solfire:/root>fsck.ext4 -f -p /dev/sdb2
>>>     rootfs: Inodes that were part of a corrupted orphan linked list found.
>>>
>>>     rootfs: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
>>>         (i.e., without -a or -p options)
>>>     [1]    18644 exit 4     fsck.ext4 -f -p /dev/sdb2
>>>
>>>
> Is there any way to correct the settings from the default values to
> more advances ones, which respect the sdcard size of 16GB *without*
> blanking it...a "correction on the fly" so to say???
>
> And if not: Is there a way to backup the sdcard and playback the files
> after reformatting it by preserving all three time stamps of the
> files (atime is deactivated via fstab though) ?
>
> Best regards,
> mcc
>
>
>
>
>
df -i - if you get 100% iUSE or near to it thats your problem ... I have
seen that error message you give as a result of running out of inodes
corrupting the FS.

No, your only way out is to copy (I use rync) the files off, recreate
the fs with max inodes ("man mke2fs") and rsync the files back.  Once an
ext* fs has been created with a certain number of inodes its fixed until
you re-format.

I get it happening regularly on 4G cards when I forget and just emerge a
couple of packages without cleaning up in between packages.  On 16G
cards, its compiling something like glibc or gcc that uses huge numbers
of inodes at times.  On a single 32G card I have, the standard settings
have been fine ... so far :)

Billk


Reply via email to