Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблемы с rootfs
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Алекс1981
Имеется отладочная плата SK-MAT91SAM9XE512 от starterkit.ru
По форуму не нашел решение данной проблемы
Скомпилировал ядро 2.6.34.1, залил его в dataflash, при загрузке выдает
Код
Kernel panic - not syncing: Attempted to kill init!

Понимаю, что что то с файловой системой но не могу решить эту проблему
Полный лог загрузки:
Код
AT91Bootstrap 1.16...


U-Boot 1.1.5 (May 21 2008 - 12:39:37)

DRAM: 32 MB
DataFlash:AT45DB321
Nb pages: 8192
Page Size: 528
Size= 4325376 bytes
Logical address: 0xC0000000
Area 0: C0000000 to C0003FFF (RO)
Area 1: C0004000 to C0007FFF
Area 2: C0008000 to C0037FFF (RO)
Area 3: C0038000 to C041FFFF
In: serial
Out: serial
Err: serial
KS8721 PHY Detected

No link

MAC: error during RMII initialization
Hit any key to stop autoboot: 3  2  1  0
## Booting image at 20400000 ...
Image Name: Linux Kernel Image
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 1475400 Bytes = 1.4 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK

Starting kernel ...

Linux version 2.6.34.1 (root@armmaker) (gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-10)) #7 Tue Jul 27 00:45:45 MSD 2010
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Galex1981 AT91SAM9XE512
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 200 MHz, master 100 MHz, main 12.000 MHz
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128
Kernel command line: root=/dev/ram0 rw initrd=0x21100000,0x500000 console=ttyS0,115200 mem=32M
PID hash table entries: 128 (order: -3, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 32MB = 32MB total
Memory: 24232k/24232k available, 8536k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0xc2800000 - 0xfee00000 ( 966 MB)
lowmem : 0xc0000000 - 0xc2000000 ( 32 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0024000 ( 112 kB)
.text : 0xc0024000 - 0xc02d8000 (2768 kB)
.data : 0xc02d8000 - 0xc02f0880 ( 99 kB)
Hierarchical RCU implementation.
NR_IRQS:192
AT91: 96 gpio irqs in 3 banks
Console: colour dummy device 80x30
console [ttyS0] enabled
Calibrating delay loop... 99.73 BogoMIPS (lpj=498688)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
bio: create slab <bio-0> at 0
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource pit
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
rootfs image is not initramfs (no cpio magic); looks like an initrd
Freeing initrd memory: 5120K
NetWinder Floating Point Emulator V0.97 (double precision)
NTFS driver 2.1.29 [Flags: R/W].
JFFS2 version 2.2. (NAND) (SUMMARY) В© 2001-2006 Red Hat, Inc.
msgmni has been set to 57
io scheduler noop registered (default)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL
atmel_usart.2: ttyS2 at MMIO 0xfffb4000 (irq = 7) is a ATMEL_SERIAL
brd: module loaded
loop: module loaded
macb macb: invalid hw address, using random
MACB_mii_bus: probed
eth0: Atmel MACB at 0xfffc4000 irq 21 (96:f5:17:6a:0a:09)
eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=ffffffff:01, irq=-1)
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP cubic registered
NET: Registered protocol family 17
RAMDISK: gzip image found at block 0
VFS: Mounted root (ext2 filesystem) on device 1:0.
Freeing init memory: 112K
Kernel panic - not syncing: Attempted to kill init!
Backtrace:
[<c0027ef0>] (dump_backtrace+0x0/0x10c) from [<c0028030>] (dump_stack+0x18/0x1c)
r6:00000004 r5:c1c15c40 r4:c02f0d04
[<c0028018>] (dump_stack+0x0/0x1c) from [<c0039900>] (panic+0x4c/0xd0)
[<c00398b4>] (panic+0x0/0xd0) from [<c003c78c>] (do_exit+0x64/0x5a8)
r3:c02dee88 r2:c1c15d58 r1:c1c19d24 r0:c0298b5c
[<c003c728>] (do_exit+0x0/0x5a8) from [<c003cd60>] (do_group_exit+0x90/0xc4)
[<c003ccd0>] (do_group_exit+0x0/0xc4) from [<c0046e40>] (get_signal_to_deliver+0x2e0/0x318)
r4:00000004
[<c0046b60>] (get_signal_to_deliver+0x0/0x318) from [<c0026ff4>] (do_notify_resume+0x60/0x570)
[<c0026f94>] (do_notify_resume+0x0/0x570) from [<c0024e4c>] (work_pending+0x1c/0x20)
Drozd2
Судя по логу происходит stack overflow. У меня вылечилось указанием mem=24M вместо mem=32M. Можно поэкспериментировать с размером. Задается в U-Boot. И еще я бы выключил драйвер ntfs из ядра. Небольшая, но тоже экономия.
Алекс1981
Не помогло, даже когда перекомпилировал ядро без поддержки модулей
Drozd2
Почитал лог повнимательнее. С одной стороны фраза
Цитата
VFS: Mounted root (ext2 filesystem) on device 1:0.
говорит об успешном монтировании rootfs. Правда, не понял, что за устройство 1:0. С другой стороны нет упоминания об успешной или даже неуспешной инициализации nand, соответственно, нет информации о создании разделов в ней. Предполагаю, что в ядре не включена поддержка mtd. Хотя, в этом случае компилятор должен был ругнуться на jffs2.
Еще на размышления наводит
Цитата
Kernel command line: root=/dev/ram0
При размещении rootfs в nand, а ее там обычно и размещают, указывается root=/dev/mtdblock0 при размещении rootfs с нулевого адреса nand.
Кстати, про rootfs негусто информации. Вы ее скомпилировали? Зашили? Если нет, качайте buildroot, собирайте rootfs.
Один из самых информативных ресурсов по этим вопросам http://www.at91.com/linux4sam/bin/view/Linux4SAM/
Расписано по шагам. Предлагаются готовые бинарники.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.