aido 0 18 января, 2016 Опубликовано 18 января, 2016 · Жалоба Доброго времени суток! Пытаюсь сгенерировать device tree по вики-мануалам xilinx, вроде все получается (генерирует, блоб компилируется), но до последнего момента. Когда я прошиваю плату и загружаю линукс с нее, то выдает Kernel panic. При создании devicetree из OpenEmbedded линукс грузится нормально. Может какие-то опции забыл указать? [ 2.804366] VFS: Mounted root (ext2 filesystem) on device 1:0. [ 2.810668] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6 [ 2.818133] Please append a correct "root=" boot option; here are the available partitions: [ 2.826429] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) [ 2.834650] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.19.0-xilinx #1 [ 2.841153] Hardware name: Xilinx Zynq Platform [ 2.845701] [<c0014c08>] (unwind_backtrace) from [<c0011878>] (show_stack+0x10/0x14) [ 2.853404] [<c0011878>] (show_stack) from [<c043fd24>] (dump_stack+0x88/0xc8) [ 2.860613] [<c043fd24>] (dump_stack) from [<c043de90>] (panic+0xa0/0x1f8) [ 2.867474] [<c043de90>] (panic) from [<c05c5210>] (mount_block_root+0x194/0x230) [ 2.874930] [<c05c5210>] (mount_block_root) from [<c05c54a0>] (mount_root+0x108/0x110) [ 2.882826] [<c05c54a0>] (mount_root) from [<c05c6050>] (initrd_load+0x224/0x314) [ 2.890291] [<c05c6050>] (initrd_load) from [<c05c5590>] (prepare_namespace+0xe8/0x1d8) [ 2.898278] [<c05c5590>] (prepare_namespace) from [<c05c4e4c>] (kernel_init_freeable+0x1d4/0x1e4) [ 2.907132] [<c05c4e4c>] (kernel_init_freeable) from [<c043c724>] (kernel_init+0x8/0xe8) [ 2.915203] [<c043c724>] (kernel_init) from [<c000e680>] (ret_from_fork+0x14/0x34) [ 2.922752] CPU0: stopping [ 2.925442] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.19.0-xilinx #1 [ 2.931946] Hardware name: Xilinx Zynq Platform [ 2.936478] [<c0014c08>] (unwind_backtrace) from [<c0011878>] (show_stack+0x10/0x14) [ 2.944195] [<c0011878>] (show_stack) from [<c043fd24>] (dump_stack+0x88/0xc8) [ 2.951396] [<c043fd24>] (dump_stack) from [<c0013498>] (ipi_cpu_stop+0x58/0x68) [ 2.958774] [<c0013498>] (ipi_cpu_stop) from [<c0013b10>] (handle_IPI+0x88/0xb0) [ 2.966152] [<c0013b10>] (handle_IPI) from [<c000865c>] (gic_handle_irq+0x58/0x5c) [ 2.973706] [<c000865c>] (gic_handle_irq) from [<c0012380>] (__irq_svc+0x40/0x74) [ 2.981163] Exception stack(0xc05fbf28 to 0xc05fbf70) [ 2.986201] bf20: ae190bf5 00000000 ae190bf5 00000000 eefd9cc8 c062d6ec [ 2.994361] bf40: ae0c44f3 00000000 00000000 c0446ed8 c06024f0 c05f9600 00000018 c05fbf70 [ 3.002517] bf60: 03000001 c034493c 90000113 ffffffff [ 3.007562] [<c0012380>] (__irq_svc) from [<c034493c>] (cpuidle_enter_state+0x50/0xd0) [ 3.015460] [<c034493c>] (cpuidle_enter_state) from [<c00514f0>] (cpu_startup_entry+0x294/0x2e0) [ 3.024228] [<c00514f0>] (cpu_startup_entry) from [<c05c4c6c>] (start_kernel+0x39c/0x3a8) [ 3.032382] [<c05c4c6c>] (start_kernel) from [<00008074>] (0x8074) [ 3.038544] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
faa 4 18 января, 2016 Опубликовано 18 января, 2016 · Жалоба Пытаюсь сгенерировать device tree по вики-мануалам xilinx, вроде все получается (генерирует, блоб компилируется), но до последнего момента. Когда я прошиваю плату и загружаю линукс с нее, то выдает Kernel panic. При создании devicetree из OpenEmbedded линукс грузится нормально. Может какие-то опции забыл указать? Английским по белому же пишет: [ 2.818133] Please append a correct "root=" boot option; here are the available partitions: [ 2.826429] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) Ядро не видит корневую файловую систему. Просит добавить: "Please append a correct "root=" boot option". Смотрите, что в bootargs при формировании devicetree. У меня как-то так /dts-v1/; /include/ "zynq-7000.dtsi" / { compatible = "xlnx,zynq-ulfft", "xlnx,zynq-7000"; model = "RADIY TN ulfft board "; aliases { ethernet0 = &gem0; i2c0 = &i2c0; serial0 = &uart0; spi0 = &spi0; spi1 = &qspi; }; chosen { /* bootargs = "console=ttyPS0,115200 root=/dev/ram rw earlyprintk"; bootargs = "console=ttyPS0,115200 root=/dev/nfs rw nfsroot=192.168.10.230:/home/faa/nfsroot/zinq,tcp ip=::::ulfft:eth0:dhcp earlyprintk nfsrootdebug"; */ bootargs = "console=ttyPS0,115200 root=/dev/mtdblock3 rootfstype=jffs2 rw rootwait ip=::::ulfft:eth0:dhcp earlyprintk"; linux,stdout-path = "/amba/serial@e0000000"; }; memory@0 { device_type = "memory"; reg = <0x0 0x40000000>; }; }; Первые два варианта использовались при отладке. В первом initrd грузился в память u-boot-ом, второй монтироал rootfs по nfs. Третий (рабочий) - rootfs вшита в qspi. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться