[yocto] System recovery

Martin Townsend mtownsend1973 at gmail.com
Wed May 9 02:25:06 PDT 2018


Hi Enrico,

UBI is only designed to work on raw NAND using the MTD subsystem.  MMC
will be a standard block device as the SD card will have Flash
Translation layer. See the excellent MTD website for more info
http://www.linux-mtd.infradead.org/doc/ubi.html

In Yocto I believe you can use "sdcard" in the IMAGE_FSTYPES for a
flashable image for SD cards that can be used with U-Boot.

-Martin.


On Wed, May 9, 2018 at 9:31 AM, Enrico Bonomi <enrico.bonomi92 at gmail.com> wrote:
> Hi,
>
> I work with Yocto Poky 1.7.3 on an imx6 dual lite SOM. I recently came
> across a problem with a preexisting system. Infact in a couple of cases,
> after about one year of work with no problems, file system results corrupted
> and the machine can't work. So i decide to implement a recovery system that
> can intervene in theese cases. An sd card is mounted on my board, so i think
> that i can use it to act this process. Using gparted i create a partition on
> sd card that can store my recovery file system.
> This partition starts at block 1581056 (so 0x00182000), every block has a
> size of 512 bytes and the file system size is 370262016 bytes (so
> 0x1611c000) that are 723168 blocks (so 0x000b08e0).
> In the u-boot i do the following instructions:
>
> nand erase.part rootfs
> ubi part rootfs
> ubi create rootfs
> mmc dev 0
> mmc read 12000000 0x00182000  0x000b08e0
> ubi write 12000000 rootfs 0x1611c000
> ubifsmount ubi0:rootfs
>
> and this instruction results in the following errors:
>
> UBIFS error (pid 0): ubifs_read_node: bad node type (0 but expected 6)
> UBIFS error (pid 0): ubifs_read_node: bad node at LEB 0:0
> UBIFS error (pid 0): ubifs_mount: Error reading superblock on volume
> 'ubi0:rootfs' errno=-22!
>
> ubifsmount - mount UBIFS volume
>
> Usage:
> ubifsmount <volume-name>
>    - mount 'volume-name' volume
>
> the strange thing is that when i first program all new devices i use the
> following instruction:
>
> tftpboot prall
>
> and prall is the compiled of a txt file which, when programming file system
> use the same instructions, obviously except for
>
> tftp 12000000 rootfs.ubifs
>
> instead of my mmc instructions, and
>
> ubi write 12000000 rootfs ${filesize}
>
> but from what i understand the "filesize" variable is set from the tftp
> instruction
>
> Where do i fail?
>
> Thanks
>
> Enrico
>
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>


More information about the yocto mailing list