LINUX.ORG.RU
ФорумAdmin

не запускается linux на плате с процессором zynq xc7z010

 , ,


0

1

Добрый день! Некоторое время назад была удалена папка bin по пути mnt/NAND/. До перезагрузки все работало в штатном режиме, кроме программ которые были в папке bin. Подключение к плате идет через rs-232, до загрузки линукса можно остаться в u-boot. Подскажите как можно восстановить папку bin? в u-boot есть команда чтения памяти «md» , с ее помощью можно считать и записать память по адресу. Может кто сможет по логам определить адрес? Есть рабочая точно такая же плата. лог загрузки с ошибкой:

[    7.633439] VFS: Mounted root (yaffs2 filesystem) on device 31:5.
[    7.664184] devtmpfs: mounted
[    7.667391] Freeing unused kernel memory: 252K (c07cf000 - c080e000)
[    7.740401] Kernel panic - not syncing: Requested init /sbin/preinit failed (error -2).
[    7.748327] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.0-infomobility #1
[    7.755257] Hardware name: Infomobility Zynq Platform
[    7.760345] [<c00159ac>] (unwind_backtrace) from [<c00125e4>] (show_stack+0x10/0x14)
[    7.768049] [<c00125e4>] (show_stack) from [<c01c69ec>] (dump_stack+0x80/0xcc)
[    7.775256] [<c01c69ec>] (dump_stack) from [<c008d4cc>] (panic+0x84/0x1ec)
[    7.782113] [<c008d4cc>] (panic) from [<c0591424>] (kernel_init+0x70/0xe4)
[    7.788951] [<c0591424>] (kernel_init) from [<c000ee78>] (ret_from_fork+0x14/0x3c)
[    7.796508] CPU0: stopping
[    7.799200] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.0-infomobility #1
[    7.806130] Hardware name: Infomobility Zynq Platform
[    7.811180] [<c00159ac>] (unwind_backtrace) from [<c00125e4>] (show_stack+0x10/0x14)
[    7.818904] [<c00125e4>] (show_stack) from [<c01c69ec>] (dump_stack+0x80/0xcc)
[    7.826110] [<c01c69ec>] (dump_stack) from [<c0014214>] (ipi_cpu_stop+0x3c/0x6c)
[    7.833483] [<c0014214>] (ipi_cpu_stop) from [<c001492c>] (handle_IPI+0x64/0x84)
[    7.840856] [<c001492c>] (handle_IPI) from [<c00093e8>] (gic_handle_irq+0x74/0x90)
[    7.848413] [<c00093e8>] (gic_handle_irq) from [<c0013014>] (__irq_svc+0x54/0x90)
[    7.855860] Exception stack(0xc080ff60 to 0xc080ffa8)
[    7.860910] ff60: 00000001 00000000 00000000 c001d4c0 00000000 c080e000 00000000 c080ffb8
[    7.869076] ff80: c05988fc dffffcc0 00000000 00000000 00000000 c080ffb0 c000f880 c000f884
[    7.877223] ffa0: 60000013 ffffffff
[    7.880707] [<c0013014>] (__irq_svc) from [<c000f884>] (arch_cpu_idle+0x2c/0x38)
[    7.888098] [<c000f884>] (arch_cpu_idle) from [<c0051b10>] (cpu_startup_entry+0x134/0x210)
[    7.896337] [<c0051b10>] (cpu_startup_entry) from [<c07cfbfc>] (start_kernel+0x348/0x3b4)
[    7.904484] ---[ end Kernel panic - not syncing: Requested init /sbin/preinit failed (error -2).

Ответ на: комментарий от kostik87

Я дико извиняюсь, можно поподробнее? Не сильно спец в убут и линухе, поэтому здесь и спрашиваю. Завтра попробую сделать то что вы написали,с помощью гугла. Если не затруднит сможете дать краткую инструкцию или ссылки которые смогут помочь?

SeFAQer
() автор топика
Ответ на: комментарий от SeFAQer

Вот примерно вот так:

load mmc ${mmcdev}:${mmcpart} ${loadaddr} /boot/uEnv.txt

run loadfdtandoverlays

usb start

fatls usb 0:1

fatload usb 0 $loadaddr /vmlinuz

setenv optargs ${optargs} root=PARTUUID="74bb82b3-02" rootwait ro test1

run setbootargs

bootz ${loadaddr} - ${fdt_addr}

Эти команды нужно ввести в u-boot.

Ну точнее те команды, которые соответствуют твоему контроллеру.

В u-boot есть команда показывающая его текущий конфиг.

Набери в консоли u-boot команду help и посмотри какие команды там даступны. Найди команду, которая выведет текущий конфиг.

Но у тебя ядро должно быть собрано с драйверами USB, файловой системы и scsi устройств монолитно.

Поэтому, скорее всего, тебе придётся пересобрать ядро.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)