sheynmanyu 0 29 марта, 2018 Опубликовано 29 марта, 2018 (изменено) · Жалоба Здравствуйте! Собираю Petalinux (v 2017.2, собираю на виртуальной машине с Ubuntu 16.04 LTS) для разработанной коллегами платы. На плате стоит zynq7000. Экспортирую дизайн из Vivado (версия так же 2017.2). Все настройки для сборки линукса стандартные. Гружусь с SD карточки. И каждый раз загрузка идет до разных мест: то даже ethernet-контроллер не обнаружит, то дойдет до reading image и повиснет на проверке Verifying Hash Integrity, то выдаст ошибку "Kernel panic - not syncing: Attempted to kill the idle task!" С чем такое поведение может быть связано? Где искать причины и как их устранять? Лог: Petalinux: modem U-Boot 2017.01 (Mar 28 2018 - 16:43:10 +0300) Board: Xilinx Zynq DRAM: ECC disabled 512 MiB MMC: sdhci@e0100000: 0 (SD) Using default environment In: serial Out: serial Err: serial Net: ZYNQ GEM: e000b000, phyaddr ffffffff, interface rgmii-id eth0: ethernet@e000b000 U-BOOT for my_petalinux_modem ethernet@e000b000 Waiting for PHY auto negotiation to complete......... TIMEOUT ! Hit any key to stop autoboot: 0 Device: sdhci@e0100000 Manufacturer ID: 74 OEM: 4a60 Name: USD Tran Speed: 50000000 Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 7.5 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes reading image.ub 20832340 bytes read in 1330 ms (14.9 MiB/s) ## Loading kernel from FIT Image at 10000000 ... Using 'conf@1' configuration Verifying Hash Integrity ... OK Trying 'kernel@0' kernel subimage Description: Linux Kernel Type: Kernel Image Compression: uncompressed Data Start: 0x100000d4 Data Size: 3741152 Bytes = 3.6 MiB Architecture: ARM OS: Linux Load Address: 0x00008000 Entry Point: 0x00008000 Hash algo: sha1 Hash value: be242bcd4030cd2ce3b91666ae9fd53d823d855a Verifying Hash Integrity ... sha1+ OK ## Loading ramdisk from FIT Image at 10000000 ... Using 'conf@1' configuration Trying 'ramdisk@0' ramdisk subimage Description: ramdisk Type: RAMDisk Image Compression: uncompressed Data Start: 0x10394c24 Data Size: 17076286 Bytes = 16.3 MiB Architecture: ARM OS: Linux Load Address: unavailable Entry Point: unavailable Hash algo: sha1 Hash value: e482e0332411eaee448014eb5db20037c597d5a7 Verifying Hash Integrity ... sha1+ OK ## Loading fdt from FIT Image at 10000000 ... Using 'conf@1' configuration Trying 'fdt@0' fdt subimage Description: Flattened Device Tree blob Type: Flat Device Tree Compression: uncompressed Data Start: 0x103917a8 Data Size: 13258 Bytes = 12.9 KiB Architecture: ARM Hash algo: sha1 Hash value: 9a70b78a2bbfbae30dfb37ded05b72ac57222e90 Verifying Hash Integrity ... sha1+ OK Booting using the fdt blob at 0x103917a8 Loading Kernel Image ... OK Loading Ramdisk to 06fb6000, end 07fff03e ... OK Loading Device Tree to 06faf000, end 06fb53c9 ... OK Starting kernel ... Uncompressing Linux... done, booting the kernel. Booting Linux on physical CPU 0x0 Linux version 4.9.0-xilinx-v2017.2 (yulia@yulia-U) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #1 SMP PREEMPT Wed Mar 28 16:39:29 MSK 2018 CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache OF: fdt:Machine model: xlnx,zynq-7000 bootconsole [earlycon0] enabled cma: Reserved 16 MiB at 0x1f000000 Memory policy: Data cache writealloc Unable to handle kernel NULL pointer dereference at virtual address 00000ab4 pgd = c0004000 [00000ab4] *pgd=00000000 Internal error: Oops - BUG: 5 [#1] PREEMPT SMP ARM Modules linked in: CPU: 0 PID: 0 Comm: swapper Not tainted 4.9.0-xilinx-v2017.2 #1 Hardware name: Xilinx Zynq Platform task: c0a06bc0 task.stack: c0a00000 PC is at ___alloc_bootmem_node_nopanic+0x40/0x98 LR is at __alloc_bootmem_node+0x4c/0x68 pc : [<c090fa4c>] lr : [<c090fb48>] psr: 600000d3 sp : c0a01ef8 ip : 00000014 fp : debe83c0 r10: debcb000 r9 : 00000000 r8 : 00000000 r7 : 00000000 r6 : 1ebd9000 r5 : 00000000 r4 : 00000001 r3 : 00000000 r2 : 1ebd9000 r1 : 1ebd9000 r0 : 00000000 Flags: nZCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment none Control: 18c5387d Table: 0000404a DAC: 00000051 Process swapper (pid: 0, stack limit = 0xc0a00210) Stack: (0xc0a01ef8 to 0xc0a02000) 1ee0: 00000000 00000000 1f00: 00000001 00000000 00000000 00000000 ffffffff 1ebd9000 00000000 00000000 1f20: 00000001 debcb000 00000001 c090fb48 00000000 debe73c0 0000e000 00000000 1f40: debcb000 debe83c0 debe73c0 c090eeec ffffffff 00000000 00000000 00000022 1f60: 00001000 00001000 00005ab4 0000654c 00005ab4 0000000c 00000000 00000000 1f80: c0a32800 ffffffff c0a03000 defffe00 c0931a30 00000000 00000000 c090ef9c 1fa0: c090e09c c090e0c4 00000000 00000000 c0a32800 ffffffff c0a03000 c09009a8 1fc0: ffffffff 00000000 00000000 00000000 00000000 c0931a30 00000000 c0a32a94 1fe0: c0a03018 c0931a2c c0a07db8 0000406a 413fc090 0000807c 00000000 00000000 [<c090fa4c>] (___alloc_bootmem_node_nopanic) from [<c090fb48>] (__alloc_bootmem_node+0x4c/0x68) [<c090fb48>] (__alloc_bootmem_node) from [<c090eeec>] (pcpu_embed_first_chunk+0x63c/0x6c4) [<c090eeec>] (pcpu_embed_first_chunk) from [<c090ef9c>] (setup_per_cpu_areas+0x28/0xac) [<c090ef9c>] (setup_per_cpu_areas) from [<c09009a8>] (start_kernel+0xec/0x358) [<c09009a8>] (start_kernel) from [<0000807c>] (0x807c) Code: e58d4008 e58d500c e58d7000 e58d5004 (e5990ab4) ---[ end trace 0000000000000000 ]--- Kernel panic - not syncing: Attempted to kill the idle task! ---[ end Kernel panic - not syncing: Attempted to kill the idle task! Изменено 29 марта, 2018 пользователем sheynmanyu Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimidrol 0 29 марта, 2018 Опубликовано 29 марта, 2018 · Жалоба Было похожее, оказалось, что проблемы с памятью DDR, причем baremetal-тест памяти отрабатывал без ошибок. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sheynmanyu 0 29 марта, 2018 Опубликовано 29 марта, 2018 · Жалоба Было похожее, оказалось, что проблемы с памятью DDR, причем baremetal-тест памяти отрабатывал без ошибок. А как отловили, если не секрет? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimidrol 0 29 марта, 2018 Опубликовано 29 марта, 2018 · Жалоба ЕМНИП, проблема была в отсутствии этих галок https://yadi.sk/i/-PlosRKf3Tt2kf Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sheynmanyu 0 29 марта, 2018 Опубликовано 29 марта, 2018 · Жалоба ЕМНИП, проблема была в отсутствии этих галок https://yadi.sk/i/-PlosRKf3Tt2kf Галки стоят :( Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sheynmanyu 0 2 апреля, 2018 Опубликовано 2 апреля, 2018 (изменено) · Жалоба Снижение скорости DDR контроллера до 303 МГц помогло. Но вылезла другая проблема: Starting kernel ... Uncompressing Linux... done, booting the kernel. Booting Linux on physical CPU 0x0 Linux version 4.9.0-xilinx-v2017.2 (yulia@yulia-U) (gcc version 6.2.1 20161016 (Linaro GCC 6.2-2016.11) ) #1 SMP PREEMPT Fri Mar 30 19:28:37 MSK 2018 CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache OF: fdt:Machine model: xlnx,zynq-7000 bootconsole [earlycon0] enabled cma: Reserved 16 MiB at 0x1f000000 Memory policy: Data cache writealloc percpu: Embedded 14 pages/cpu @debcb000 s25932 r8192 d23220 u57344 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048 Kernel command line: console=ttyPS0,115200 earlyprintk PID hash table entries: 2048 (order: 1, 8192 bytes) Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) Memory: 493520K/524288K available (6144K kernel code, 202K rwdata, 1456K rodata, 1024K init, 229K bss, 14384K reserved, 16384K cma-reserved, 0K highmem) Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xffc00000 - 0xfff00000 (3072 kB) vmalloc : 0xe0800000 - 0xff800000 ( 496 MB) lowmem : 0xc0000000 - 0xe0000000 ( 512 MB) pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) modules : 0xbf000000 - 0xbfe00000 ( 14 MB) .text : 0xc0008000 - 0xc0700000 (7136 kB) .init : 0xc0900000 - 0xc0a00000 (1024 kB) .data : 0xc0a00000 - 0xc0a32800 ( 202 kB) .bss : 0xc0a32800 - 0xc0a6be98 ( 230 kB) Preemptible hierarchical RCU implementation. Build-time adjustment of leaf fanout to 32. RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2. RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2 NR_IRQS:16 nr_irqs:16 16 efuse mapped to e0800000 slcr mapped to e0802000 L2C: platform modifies aux control register: 0x72360000 -> 0x72760000 L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000 L2C-310 erratum 769419 enabled L2C-310 enabling early BRESP for Cortex-A9 L2C-310 full line of zeros enabled for Cortex-A9 L2C-310 ID prefetch enabled, offset 1 lines L2C-310 dynamic clock gating enabled, standby mode enabled L2C-310 cache controller enabled, 8 ways, 512 kB L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001 zynq_clock_init: clkc starts at e0802100 Zynq clock init sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns Switching to timer-based delay loop, resolution 3ns clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns timer #0 at e080a000, irq=17 Console: colour dummy device 80x30 Calibrating delay loop (skipped), value calculated using timer frequency.. 666.66 BogoMIPS (lpj=3333333) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) CPU: Testing write buffer coherency: ok CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 Setting up static identity map for 0x100000 - 0x100058 CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 Brought up 2 CPUs SMP: Total of 2 processors activated (1333.33 BogoMIPS). CPU: All CPU(s) started in SVC mode. devtmpfs: initialized VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4 clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns pinctrl core: initialized pinctrl subsystem NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations cpuidle: using governor menu hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers. hw-breakpoint: maximum watchpoint size is 4 bytes. zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0xe0840000 zynq-pinctrl 700.pinctrl: zynq pinctrl initialized vgaarb: loaded SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb media: Linux media interface: v0.10 Linux video capture interface: v2.00 pps_core: LinuxPPS API ver. 1 registered pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]> PTP clock support registered EDAC MC: Ver: 3.0.0 FPGA manager framework fpga-region fpga-full: FPGA Region probed Advanced Linux Sound Architecture Driver Initialized. clocksource: Switched to clocksource arm_global_timer NET: Registered protocol family 2 TCP established hash table entries: 4096 (order: 2, 16384 bytes) TCP bind hash table entries: 4096 (order: 3, 32768 bytes) TCP: Hash tables configured (established 4096 bind 4096) UDP hash table entries: 256 (order: 1, 8192 bytes) UDP-Lite hash table entries: 256 (order: 1, 8192 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available futex hash table entries: 512 (order: 3, 32768 bytes) workingset: timestamp_bits=30 max_order=17 bucket_order=0 jffs2: version 2.2. (NAND) (SUMMARY) В© 2001-2006 Red Hat, Inc. io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330 dma-pl330 f8003000.dmac: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16 e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 144, base_baud = 6249999) is a xuartps аconsole [ttyPS0] enabled console [ttyPS0] enabled bootconsole [earlycon0] disabled bootconsole [earlycon0] disabled xdevcfg f8007000.devcfg: ioremap 0xf8007000 to e0828000 [drm] Initialized brd: module loaded loop: module loaded libphy: Fixed MDIO Bus: probed CAN device driver interface libphy: MACB_mii_bus: probed macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 145 (00:0a:35:00:1e:53) Generic PHY e000b000.etherne:03: attached PHY driver [Generic PHY] (mii_bus:phy_addr=e000b000.etherne:03, irq=-1) e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k e1000e: Copyright(c) 1999 - 2015 Intel Corporation. ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci-pci: EHCI PCI platform driver usbcore: registered new interface driver usb-storage mousedev: PS/2 mouse device common for all mice i2c /dev entries driver cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 141 EDAC MC: ECC not enabled Xilinx Zynq CpuIdle Driver started sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman sdhci-pltfm: SDHCI platform and OF driver helper mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using DMA ledtrig-cpu: registered to indicate activity on CPUs usbcore: registered new interface driver usbhid usbhid: USB HID core driver NET: Registered protocol family 10 sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver NET: Registered protocol family 17 can: controller area network core (rev 20120528 abi 9) NET: Registered protocol family 29 can: raw protocol (rev 20120528) can: broadcast manager protocol (rev 20161123 t) can: netlink gateway (rev 20130117) max_hops=1 Registering SWP/SWPB emulation handler hctosys: unable to open rtc device (rtc0) of_cfs_init of_cfs_init: OK ALSA device list: No soundcards found. VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6 Please append a correct "root=" boot option; here are the available partitions: 0100 16384 ram0 (driver?) 0101 16384 ram1 (driver?) 0102 16384 ram2 (driver?) 0103 16384 ram3 (driver?) 0104 16384 ram4 (driver?) mmc0: new high speed SDHC card at address 59b4 0105 16384 ram5 (driver?) 0106 16384 ram6 mmcblk0: mmc0:59b4 USD 7.51 GiB (driver?) mmcblk0: p1 p2 0107 16384 ram7 (driver?) 0108 16384 ram8 (driver?) 0109 16384 ram9 (driver?) 010a 16384 ram10 (driver?) 010b 16384 ram11 (driver?) 010c 16384 ram12 (driver?) 010d 16384 ram13 (driver?) 010e 16384 ram14 (driver?) 010f 16384 ram15 (driver?) b300 7879680 mmcblk0 driver: mmcblk b301 65536 mmcblk0p1 d17cd355-01 b302 7810048 mmcblk0p2 d17cd355-02 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 4.9.0-xilinx-v2017.2 #1 Hardware name: Xilinx Zynq Platform [<c010e244>] (unwind_backtrace) from [<c010a4a4>] (show_stack+0x10/0x14) [<c010a4a4>] (show_stack) from [<c02dc2b0>] (dump_stack+0x80/0x9c) [<c02dc2b0>] (dump_stack) from [<c010c9f8>] (ipi_cpu_stop+0x3c/0x70) [<c010c9f8>] (ipi_cpu_stop) from [<c010d210>] (handle_IPI+0x64/0x84) [<c010d210>] (handle_IPI) from [<c0101420>] (gic_handle_irq+0x78/0x94) [<c0101420>] (gic_handle_irq) from [<c010ae8c>] (__irq_svc+0x6c/0xa8) Exception stack(0xde471f70 to 0xde471fb8) 1f60: 00000000 00000000 1e29d000 debde9c0 1f80: 3e0d7c02 00000000 debdde40 00000000 3ddfe73a 00000000 00000000 00000000 1fa0: 0000000b de471fc0 c04af528 c04af54c 60000013 ffffffff [<c010ae8c>] (__irq_svc) from [<c04af54c>] (cpuidle_enter_state+0xe4/0x1b0) [<c04af54c>] (cpuidle_enter_state) from [<c014c834>] (cpu_startup_entry+0x17c/0x19c) [<c014c834>] (cpu_startup_entry) from [<001014cc>] (0x1014cc) ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ALSA device list: No soundcards found. VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6 Please append a correct "root=" boot option; here are the available partitions: 0100 16384 ram0 (driver?) 0101 16384 ram1 (driver?) 0102 16384 ram2 (driver?) 0103 16384 ram3 (driver?) 0104 16384 ram4 (driver?) mmc0: new high speed SDHC card at address 59b4 0105 16384 ram5 (driver?) 0106 16384 ram6 mmcblk0: mmc0:59b4 USD 7.51 GiB (driver?) mmcblk0: p1 p2 0107 16384 ram7 (driver?) 0108 16384 ram8 (driver?) 0109 16384 ram9 (driver?) 010a 16384 ram10 (driver?) 010b 16384 ram11 (driver?) 010c 16384 ram12 (driver?) 010d 16384 ram13 (driver?) 010e 16384 ram14 (driver?) 010f 16384 ram15 (driver?) b300 7879680 mmcblk0 driver: mmcblk b301 65536 mmcblk0p1 d17cd355-01 b302 7810048 mmcblk0p2 d17cd355-02 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 4.9.0-xilinx-v2017.2 #1 Hardware name: Xilinx Zynq Platform [<c010e244>] (unwind_backtrace) from [<c010a4a4>] (show_stack+0x10/0x14) [<c010a4a4>] (show_stack) from [<c02dc2b0>] (dump_stack+0x80/0x9c) [<c02dc2b0>] (dump_stack) from [<c010c9f8>] (ipi_cpu_stop+0x3c/0x70) [<c010c9f8>] (ipi_cpu_stop) from [<c010d210>] (handle_IPI+0x64/0x84) [<c010d210>] (handle_IPI) from [<c0101420>] (gic_handle_irq+0x78/0x94) [<c0101420>] (gic_handle_irq) from [<c010ae8c>] (__irq_svc+0x6c/0xa8) Exception stack(0xde471f70 to 0xde471fb8) 1f60: 00000000 00000000 1e29d000 debde9c0 1f80: 3e0d7c02 00000000 debdde40 00000000 3ddfe73a 00000000 00000000 00000000 1fa0: 0000000b de471fc0 c04af528 c04af54c 60000013 ffffffff [<c010ae8c>] (__irq_svc) from [<c04af54c>] (cpuidle_enter_state+0xe4/0x1b0) [<c04af54c>] (cpuidle_enter_state) from [<c014c834>] (cpu_startup_entry+0x17c/0x19c) [<c014c834>] (cpu_startup_entry) from [<001014cc>] (0x1014cc) ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) Пробовала менять в system-top.dts запись на chosen { bootargs = "earlycon root=/dev/mmcblk0p1 rw devtmpfs.mount=1"; stdout-path = "serial0:115200n8"; }; Не помогло. Пробовала поступить как советовали тут: https://www.xilinx.com/support/answers/68704.html Не помогло. Где? Где и как правильно прописать настройки, чтобы система поняла, откуда ей что грузить? Изменено 2 апреля, 2018 пользователем sheynmanyu Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 2 апреля, 2018 Опубликовано 2 апреля, 2018 (изменено) · Жалоба Пробовала менять в system-top.dts запись на chosen { bootargs = "earlycon root=/dev/mmcblk0p1 rw devtmpfs.mount=1"; stdout-path = "serial0:115200n8"; }; Не помогло. Где? Где и как правильно прописать настройки, чтобы система поняла, откуда ей что грузить? так поищите, откуда ядро берет вот эти параметры: Kernel command line: console=ttyPS0,115200 earlyprintk существуют несколько вариантов передачи параметров и как там у вас организовано отсюда не видно.. как простейший - не перекомпилируете свой dts либо не обновляете dtb возможно в ядре строка для загрузки захардкожена и оно (ядро) не смотрит другие настройки - проверяете через menuconfig как вариант, в юбуте так прописано и его настройки козырнее дефолтный из dts - останавливаете юбут, изучаете вывод printenv в строках для bootcmd и bootargs и смежных.. и еще вариант, настройки могут храниться во внешнем файле, типа uEnv.txt или подобном, считывается юбутом в момент загрузки и чихает на строку dts.. Изменено 2 апреля, 2018 пользователем Jury093 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sheynmanyu 0 2 апреля, 2018 Опубликовано 2 апреля, 2018 (изменено) · Жалоба так поищите, откуда ядро берет вот эти параметры: Kernel command line: console=ttyPS0,115200 earlyprintk Спасибо! Потыркалась по настройкам. Причем именно потыркалась. Проблему решила, но понимания не наступило. Решила вот так (пересоздала проект): Перейдем в тот каталог, где хотим создавать проект petalinux. yulia@yulia-U:<$path-to-prj-dir> petalinux-create --template zynq --type project --name modem Перейдем в папку, где лежат экспортированные файлы из Vivado yulia@yulia-U:<$path-to-exported-from-Vivado-files-dir> petalinux-config --get-hw-description -p <$path-to-prj-dir> В окне настроек: Kernel Bootargs -> generate bootargs automatically Kernel Bootargs ->enable kernel earlyprintk Image Packaging Configuration->Root filesystem type -> выбрала SD card Image Packaging Configuration-> сняла галку с copy final images to tftpboot Save->exit и ждем, пока закончится конфигурация. Возвращаемся в папку с проектом. yulia@yulia-U: <$path-to-prj-dir> petalinux-build yulia@yulia-U: <$path-to-prj-dir> petalinux-package --boot --fsbl zynq_fsbl.elf --fpga design_1_wrapper.bit --u-boot Копируем файлы system.dtb, image.ub, BOOT.BIN на первую часть SD-карты. А файловую систему на второй раздел SD-карты. yulia@yulia-U: <$path-to-prj-dir> cd /media/yulia/rootfs/ yulia@yulia-U:/media/yulia/rootfs$ sudo rm -rf * [sudo] password for yulia: yulia@yulia-U: <$path-to-prj-dir> cd images/linux/ yulia@yulia-U: <$path-to-prj-dir>/images/linux$ sudo mount rootfs.ext3 /mnt -o loop yulia@yulia-U: <$path-to-prj-dir>/images/linux$ sudo cp -rf /mnt/* /media/yulia/rootfs/ Изменено 2 апреля, 2018 пользователем sheynmanyu Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 2 апреля, 2018 Опубликовано 2 апреля, 2018 · Жалоба Потыркалась по настройкам. Причем именно потыркалась. Проблему решила, но понимания не наступило. Решила вот так (пересоздала проект): хорошо, что проблему решили, плохо, что не отследили как - в будущем, если придется что-то дописать/поменять, то не поймете что править.. Kernel Bootargs -> generate bootargs automatically Копируем файлы system.dtb, image.ub, BOOT.BIN на первую часть SD-карты. А файловую систему на второй раздел SD-карты. возможно система берет настройки для первой строки с некоего шаблона - запустите поиск строки по дереву исходников, тогда будете знать, где дописывать аргументы для системы и очень похоже, что system.dtb - это бинарный вариант вашего dts, тут либо он не перекомпилился, либо вы его не положили на целевую плату как пробная версия для поиска - измените что-нить в своем dts, запустите сборку проекта и посмотрите в логах, что есть по dts/dtb, если там нет и в терминале нет, то проверьте содержимое /media/yulia/rootfs/ на предмет своих модификаций Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sheynmanyu 0 2 апреля, 2018 Опубликовано 2 апреля, 2018 · Жалоба хорошо, что проблему решили, плохо, что не отследили как - в будущем, если придется что-то дописать/поменять, то не поймете что править.. Отследила. Я изменила в настройках INITFSRAM на SD card. Похоже, этот пункт в меню петалинукса как раз задает, откуда будет грузиться файловая система. Но полного понимания нет, и нет понимания, как эти настройки прописывать ручками. А поскольку в мире линукса я вообще новичок, то становится совсем весело. Спасибо! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 2 апреля, 2018 Опубликовано 2 апреля, 2018 · Жалоба Отследила. Я изменила в настройках INITFSRAM на SD card. Похоже, этот пункт в меню петалинукса как раз задает, откуда будет грузиться файловая система. Но полного понимания нет, и нет понимания, как эти настройки прописывать ручками. А поскольку в мире линукса я вообще новичок, то становится совсем весело. Спасибо! не похоже, более вероятно, что поменяли переменную, а скрипт сам перекрутил параметры для загрузки. раз у вас прошла успешная загрузка, то смотрите, что там принял ядро в качестве параметров.. или при загруженной системе дайте команду cat /proc/cmdline да не за что, мне как-то не довелось касаться ни petalinux, ни цинка, пробовал помочь на основе общих знаний.. успехов в борьбе с линуксом и ядром! ЗЫ капли инфы есть в гугле "petalinux bootargs" и подобные запросы.. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladimirD 0 9 апреля, 2018 Опубликовано 9 апреля, 2018 · Жалоба В моем случае, Ethernet сеть медленно отвечала. Попогло подключение к отдельному роутеру. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sheynmanyu 0 9 апреля, 2018 Опубликовано 9 апреля, 2018 (изменено) · Жалоба В моем случае, Ethernet сеть медленно отвечала. Попогло подключение к отдельному роутеру. Спасибо! Проблема загрузки решена: я неверно настроила параметры микросхемы памяти. Сейчас все грузится и не вылетает. Правда, теперь не могу загрузиться с NFS: не понимаю, как настроить ядро, чтобы оно знало, откуда и куда что грузить? И как пробросить порты наружу с виртуальной машины (Virtual Box + Ubuntu 16.04 LTS)? Изменено 9 апреля, 2018 пользователем sheynmanyu Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 9 апреля, 2018 Опубликовано 9 апреля, 2018 (изменено) · Жалоба Спасибо! Проблема загрузки решена: я неверно настроила параметры микросхемы памяти. Сейчас все грузится и не вылетает. Правда, теперь не могу загрузиться с NFS: не понимаю, как настроить ядро, чтобы оно знало, откуда и куда что грузить? И как пробросить порты наружу с виртуальной машины (Virtual Box + Ubuntu 16.04 LTS)? в ядре надо разрешить nfs клиента и в строке аргументов для ядра (bootargs) прописать где и чего искать на любом серваке поднимается nfs сервер, расшаривается ресурс с рутовой основные грабли - это раздача прав для доступа, а так все несложно.. в гугле->"embedded linux nfs boot" или "petalinux nfs boot" примерно так с учетом ваших реалий: https://elinux.org/TFTP_Boot_and_NFS_Root_Filesystems Изменено 9 апреля, 2018 пользователем Jury093 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sheynmanyu 0 10 апреля, 2018 Опубликовано 10 апреля, 2018 · Жалоба Еще вопрос. Стоит задача прошивать PL на лету (возможно, будет необходима смена прошивки без перезагрузки лиинукса). Посмотрев сюда: http://www.wiki.xilinx.com/Linux+Drivers обнаружила, что можно использовать команду cat bitstreamfile.bit >/dev/xdevcfg, но смущает то, что драйвер not in mainline. Правильно ли я понимаю, что его в любой момент могут исключить из списка драйверов для petalinux (тогда он станет недоступным вообще)? Как тогда осуществлять прошивку? Только через fsbl? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться