previously I have had some doubts to run a Linux kernel on this
evalboard.
Especially to find a BSP for my board ....
In the meantime I have had some problems which I was able to
solve by myself or reading through different forums.
I still have some problems with Barebox and it's ECC for the
NAND-Flash and also the asterix * in this nand -a /dev/nand0.*
is not working. (It is working when I am doing it manually).
But in total I am able to load and start Barebox and then again
loading and starting the kernel.
First I have seen nothing until I switch on the special function
earlyprintk=serial,ttyS0,115200n8
After that I saw that I have mounting/partitioning problem, so I
changed the board specific init.c
in that way that the first three partitions match exactly to the
definition in the configuration file for the init script of
Barebox.
init.c > devfs_add_partition("nand0", 0x00000, SZ_128K,
DEVFS_PARTITION_FIXED,"at91bootstrap_raw");
dev_add_bb_dev("at91bootstrap_raw",
"at91bootstrap");
devfs_add_partition("nand0", SZ_128K, SZ_256K,
DEVFS_PARTITION_FIXED, "self_raw");
dev_add_bb_dev("self_raw", "self0");
devfs_add_partition("nand0", SZ_256K + SZ_128K,
SZ_128K, DEVFS_PARTITION_FIXED, "env_raw");
dev_add_bb_dev("env_raw", "env0");
env/config >
nand_parts="128k(at91bootstrap),256k(barebox),128k(bareboxenv),4M(kernel),80M(rootfs),-(data)"
rootfs_mtdblock_nand=4
rootfs_mtdblock_type=jffs2
After that I was really happy that the kernel is prompting "VFS:
Mounted root (jffs2 filesystem)"
But the next kernel panic is near
It cannot find a init script.
I tried init=/bin/init, init=/sbin/init init=linuxrc everything
with out success each time the same failure occur. I also tried
to execute a simple command like init=/bin/ls ...
But I see in sysroot-target a softlink linuxrc ->
/bin/busybox and also
in the root-folder root/sbin/ init-> ../bin/busybox
Waht is the difference of those directories? (I thought the root
folder is the result for the target, so everything in there will
be contained in the root.jffs2)
I have also changed in busybox between soft and hard links ...
How can I solve this problem?
Has anyone a hint for me, pls?
From the Barebox mailing list they said that I use the wrong ABI
to compile the rootfs but I use the same for Kernel and Barebox
isn't it?
If it is helpful here the last kernel outputs >
Image Name: Linux-3.4.0
Created: 2012-07-20 11:10:09 UTC
OS: Linux
Architecture: ARM
Type: Kernel Image
Compression: uncompressed
Data Size: 1720712 Bytes = 1.6 MB
Load Address: 20008000
Entry Point: 20008000
commandline: console=ttyS0,115200n8 mem=64M
earlyprintk=serial,ttyS0,115200n8 init=/sbin/init
root=/dev/mtdblock4 rw rootfstype=jffs2 noinitrd
mtdparts=atmel_nand:128k(at91bootstrap),256k(barebox),128k(bareboxenv),4M(kernel),80M(rootfs),-(data)
arch_number: 1202
Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Linux version 3.4.0 (user@ubuntu) (gcc version
4.5.2 (OSELAS.Toolchain-2011.03.1) ) #30 Fri Jul 20 13:09:33
CEST 2012
[ 0.000000] bootconsole [earlycon0] enabled
[ 0.000000] AT91: Detected soc type: at91sam9263
[ 0.000000] AT91: Detected soc subtype: Unknown
[ 0.000000] AT91: sram at 0x300000 of 0x14000 mapped at
0xfef64000
[ 0.000000] AT91: sram at 0x500000 of 0x4000 mapped at
0xfef60000
[ 0.000000] gpiochip_add: registered GPIOs 0 to 31 on
device: pioA
[ 0.000000] gpiochip_add: registered GPIOs 32 to 63 on
device: pioB
[ 0.000000] gpiochip_add: registered GPIOs 64 to 95 on
device: pioC
[ 0.000000] gpiochip_add: registered GPIOs 96 to 127 on
device: pioD
[ 0.000000] gpiochip_add: registered GPIOs 128 to 159 on
device: pioE
[ 0.000000] Kernel command line: console=ttyS0,115200n8
mem=64M earlyprintk=serial,ttyS0,115200n8 init=/sbin/init
root=/dev/mtdblock4 rw rootfstype=jffs2 noinitrd
mtdparts=atmel_nand:128k(at91bootstrap),256k(barebox),128k(bareboxenv),4M(kernel),80M(rootfs),-(data)
[ 0.000000] PID hash table entries: 256 (order: -2, 1024
bytes)
[ 0.000000] Dentry cache hash table entries: 8192 (order:
3, 32768 bytes)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2,
16384 bytes)
[ 0.000000] Memory: 64MB = 64MB total
[ 0.000000] Memory: 61072k/61072k available, 4464k
reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4
kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896
kB)
[ 0.000000] vmalloc : 0xc4800000 - 0xff000000 ( 936
MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc4000000 ( 64
MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16
MB)
[ 0.000000] .text : 0xc0008000 - 0xc0324000 (3184
kB)
[ 0.000000] .init : 0xc0324000 - 0xc0349000 ( 148
kB)
[ 0.000000] .data : 0xc034a000 - 0xc03767a8 ( 178
kB)
[ 0.000000] .bss : 0xc03767cc - 0xc03c313c ( 307
kB)
[ 0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3,
MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:192
[ 0.000000] AT91: 160 gpio irqs in 5 banks
[ 0.000000] sched_clock: 32 bits at 100 Hz, resolution
10000000ns, wraps every 4294967286ms
[ 0.000000] Calibrating delay loop... 99.22 BogoMIPS
(lpj=496128)
[ 0.100000] pid_max: default: 32768 minimum: 301
[ 0.100000] Mount-cache hash table entries: 512
[ 0.110000] CPU: Testing write buffer coherency: ok
[ 0.120000] ftrace: allocating 10076 entries in 30 pages
[ 0.230000] Setting up static identity map for 0x2025add0 -
0x2025ae0c
[ 0.240000] devtmpfs: initialized
[ 0.260000] NET: Registered protocol family 16
[ 0.270000] AT91: Power Management
[ 0.270000] AT91: Starting after user reset
[ 0.290000] bio: create slab <bio-0> at 0
[ 0.290000] Switching to clocksource pit
[ 0.330000] NET: Registered protocol family 2
[ 0.340000] IP route cache hash table entries: 1024 (order:
0, 4096 bytes)
[ 0.350000] TCP established hash table entries: 2048
(order: 2, 16384 bytes)
[ 0.350000] TCP bind hash table entries: 2048 (order: 1,
8192 bytes)
[ 0.360000] TCP: Hash tables configured (established 2048
bind 2048)
[ 0.370000] TCP: reno registered
[ 0.370000] UDP hash table entries: 256 (order: 0, 4096
bytes)
[ 0.380000] UDP-Lite hash table entries: 256 (order: 0,
4096 bytes)
[ 0.390000] NET: Registered protocol family 1
[ 0.390000] NetWinder Floating Point Emulator V0.97 (double
precision)
[ 0.440000] VFS: Disk quotas dquot_6.5.2
[ 0.440000] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat,
Inc.
[ 0.450000] msgmni has been set to 119
[ 0.460000] Block layer SCSI generic (bsg) driver version
0.4 loaded (major 254)
[ 0.470000] io scheduler noop registered
[ 0.470000] io scheduler deadline registered
[ 0.480000] io scheduler cfq registered (default)
[ 0.490000] atmel_usart.0: ttyS0 at MMIO 0xffffee00 (irq =
1) is a ATMEL_SERIAL
[ 0.500000] console [ttyS0] enabled, bootconsole disabled
[ 0.500000] console [ttyS0] enabled, bootconsole disabled
[ 0.510000] atmel_usart.1: ttyS1 at MMIO 0xfff8c000 (irq =
7) is a ATMEL_SERIAL
[ 0.540000] atmel_nand: Use On Flash BBT
[ 0.550000] atmel_nand atmel_nand: No DMA support for NAND
access.
[ 0.550000] NAND device: Manufacturer ID: 0x2c, Chip ID:
0xda (Micron NAND 256MiB 3,3V 8-bit)
[ 0.560000] Bad block table found at page 131008, version
0x01
[ 0.570000] Bad block table found at page 130944, version
0x01
[ 0.580000] 6 cmdlinepart partitions found on MTD device
atmel_nand
[ 0.580000] Creating 6 MTD partitions on "atmel_nand":
[ 0.590000] 0x000000000000-0x000000020000 : "at91bootstrap"
[ 0.600000] 0x000000020000-0x000000060000 : "barebox"
[ 0.610000] 0x000000060000-0x000000080000 : "bareboxenv"
[ 0.620000] 0x000000080000-0x000000480000 : "kernel"
[ 0.630000] 0x000000480000-0x000005480000 : "rootfs"
[ 0.640000] 0x000005480000-0x000010000000 : "data"
[ 0.650000] GPIO NAND driver, © 2004 Simtec Electronics
[ 0.660000] TCP: cubic registered
[ 0.660000] NET: Registered protocol family 17
[ 0.670000] Registering the dns_resolver key type
[ 9.860000] VFS: Mounted root (jffs2 filesystem) on device
31:4.
[ 9.870000] devtmpfs: mounted
[ 9.870000] Freeing init memory: 148K
[ 11.830000] Failed to execute /sbin/init. Attempting
defaults...
[ 11.860000] Kernel panic - not syncing: No init found. Try
passing init= option to kernel. See Linux
Documentation/init.txt for guidance.
[ 11.870000] Backtrace:
[ 11.870000] [<c00120f4>] (dump_backtrace+0x0/0x118)
from [<c02587e0>] (dump_stack+0x20/0x24)
[ 11.880000] r6:c033a44c r5:c033a46c r4:c03767e0
[ 11.890000] [<c02587c0>] (dump_stack+0x0/0x24) from
[<c0258864>] (panic+0x80/0x1c8)
[ 11.890000] [<c02587e4>] (panic+0x0/0x1c8) from
[<c0008850>] (init_post+0xb0/0xd4)
[ 11.900000] r3:00000001 r2:c04460a8 r1:c04342e0
r0:c02dad7e
[ 11.910000] r7:c03767e0
[ 11.910000] [<c00087a0>] (init_post+0x0/0xd4) from
[<c0324924>] (kernel_init+0x164/0x1a4)
[ 11.920000] r4:c03767e0
[ 11.920000] [<c03247c0>] (kernel_init+0x0/0x1a4) from
[<c00209f8>] (do_exit+0x0/0x334)
best regards
Sven