восстановление встроенной системы Linux yocto

380
Enrico

Я работаю с Yocto Poky 1.7.3 на imx6DL и пытаюсь осуществить восстановление системы. Я могу загрузить систему как с NAND, так и с SD-карты, но «основная» система находится на NAND. В случае повреждения моя идея состояла в том, чтобы загрузить систему с SD, а затем перезаписать файловую систему на NAND той, которая находится на SD. На SD-карте есть 2 раздела: один для загрузки и один для файловой системы (rootfs.ubifs).

То, что я попробовал, было:

mount /dev/mmcblk0p2 /mnt dd if=/mnt/rootfs.ubifs of=/dev/mtd3 bs=4096 

но когда я перезагружаю свою систему, я получаю очень длинную последовательность (ровно 692 раза) следующих ошибок:

UBI error: ubi_io_read: error -74 (ECC error) while reading 64 bytes from PEB 691:0, read 64 bytes UBI error: ubi_io_read: error -74 (ECC error) while reading 4096 bytes from PEB 691:4096, read 4096 bytes 

и в конце:

UBI error: vtbl_check: bad CRC at record 15: 0xd2799447, not 0xf116c36b Volume table record 15 dump: reserved_pebs 0 alignment 0 data_pad 0 vol_type 0 upd_marker 0 name_len 0 name NULL UBI error: vtbl_check: bad CRC at record 15: 0xd2799447, not 0xf116c36b Volume table record 15 dump: reserved_pebs 0 alignment 0 data_pad 0 vol_type 0 upd_marker 0 name_len 0 name NULL UBI error: process_lvol: both volume tables are corrupted UBI error: ubi_attach_mtd_dev: failed to attach mtd3, error -22 UBI error: ubi_init: cannot attach mtd3 UBIFS error (pid 1): ubifs_mount: cannot open "ubi0:rootfs", error -19 Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) CPU1: stopping CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.10.17imx6dl-ilux-00.00.007 #1 [<80013974>] (unwind_backtrace+0x0/0xec) from [<80011594>] (show_stack+0x10/0x14) [<80011594>] (show_stack+0x10/0x14) from [<80012ba0>] (handle_IPI+0x108/0x118) [<80012ba0>] (handle_IPI+0x108/0x118) from [<80008558>] (gic_handle_irq+0x58/0x5c) [<80008558>] (gic_handle_irq+0x58/0x5c) from [<8000dd00>] (__irq_svc+0x40/0x70) Exception stack(0xa8097f50 to 0xa8097f98) 7f40: a8097f98 3b9aca00 60217e3e 00000002 7f60: 80874114 808740c8 81136130 00000001 5ecee2a6 00000002 a8096000 00000000 7f80: 00000017 a8097f98 00000009 80428f64 00000113 ffffffff [<8000dd00>] (__irq_svc+0x40/0x70) from [<80428f64>] (cpuidle_enter_state+0x54/0xe4) [<80428f64>] (cpuidle_enter_state+0x54/0xe4) from [<804290b0>] (cpuidle_idle_call+0xbc/0x154) [<804290b0>] (cpuidle_idle_call+0xbc/0x154) from [<8000ece4>] (arch_cpu_idle+0x10/0x54) [<8000ece4>] (arch_cpu_idle+0x10/0x54) from [<80059788>] (cpu_startup_entry+0x100/0x14c) [<80059788>] (cpu_startup_entry+0x100/0x14c) from [<105ff564>] (0x105ff564) 

Есть ли инструкции по правильной замене файловой системы?

Спасибо

0
afaik ubi и ubifs полагаются на сырую вспышку. без FTL, без исправления ошибок. они ожидают ошибок и как их устранить. [MTD Большая красная заметка] (http://www.linux-mtd.infradead.org/doc/ubifs.html#L_rednote). Так что запись на необработанное флэш-устройство с ожидаемыми ошибками без учета ошибок (с dd вместо ubi / ubifs) должна давать ... случайные ошибки A.B 5 лет назад 0
человек там посмотрел, он знал, что он делал: https://stackoverflow.com/questions/26130717/copy-ubifs-partition-to-nand-device (но я не получил всего этого, потребовалось бы прочитать документ Ubi ...) A.B 5 лет назад 0

0 ответов на вопрос

Похожие вопросы