Hi Fathi
Ha, ouch, I wrote a request into linaro-kernel in July...
Ok you cc'ed linaro.dev, let see if one can help.
My need is to boot a freshly build kernel, with a standard (regular?) rootfs.
I provide here more detail about what I did today.
I first downloaded and boot a pre-build system like this.
Dowloaded this as explained at http://www.linaro.org/engineering/engineering-projects/armv8
FM000-KT-00035-r0p8-48rel5.tgz gcc-linaro-aarch64-linux-gnu-4.8-2013.07-1_linux.tar.xz img-foundation.axf vexpress64-openembedded_lamp-armv8_20130719-403.img.gz
I exploded the img.gz into rootfs.img
And booted like this ./Foundation_v8pkg/models/Linux64_GCC-4.1/Foundation_v8 --image ./img-foundation .axf --block-device ./rootfs.img --network=nat
All boot fine and I get this at the console root@genericarmv8:~# uname -a Linux genericarmv8 3.10.1.0-1-linaro-vexpress64 #1ubuntu1~ci+130718012724 SMP Thu Jul 18 01:30:58 UTC 2013 aarch64 GNU/Linux root@genericarmv8:~#
The to build a kernel I follow this receipe https://wiki.linaro.org/HowTo/BuildArm64Kernel
With the little variation tha tI used the 4.8 toolchain (My prev attempt failed the same way with 4.7).
So I get the gits given on the receipe page.
From there I can sucessfully build the kernel for this git source.
CU82$ ls boot-wrapper-aarch64 linaro-aarch64
CU82$ ll linaro-aarch64/vmlinux -rwxr-xr-x 1 phi phi 66629618 Aug 21 10:34 linaro-aarch64/vmlinux
And an Image is built too CU82$ ll linaro-aarch64/arch/arm64/boot/Image -rwxr-xr-x 1 phi phi 4878372 Aug 21 10:34 linaro-aarch64/arch/arm64/boot/Image
I can verify with strings that is is all my build in there.
From there I followed the receipe to obtain a boot loader
I made the symlinks as specified and made the make for vexpress.
make clean
make CROSS_COMPILE=aarch64-linux-gnu- BOOTARGS='"root=/dev/vda2 consolelog=9 rw console=ttyAMA0"' FDT_SRC=vexpress-foundation-v8.dts IMAGE=linux-system-foundation.axf
I got a .axf file
CU82$ ll boot-wrapper-aarch64/*axf -rwxr-xr-x 1 phi phi 5114841 Aug 21 09:41 boot-wrapper-aarch64/linux-system-foun dation.axf
And I am stuck there I dunno what to do with the the Image and linux-system-foun dation.axf,
I thought I got to boot the linux-system-foundation.axf with the original rootfs.img unchanged but it doesn't work
./Foundation_v8pkg/models/Linux64_GCC-4.1/Foundation_v8 --image ./boot.axf --bl ock-device ./rootfs.img --network=nat
(boot.axf is a cp of the linux-system-foundation.axf)
. . . msgmni has been set to 7928 io scheduler noop registered io scheduler cfq registered (default) vda: vda1 vda2 smc91x: IOADDR ffffff800001a000 doesn't match configuration (300). smc91x.c: v1.1, sep 22 2004 by Nicolas Pitre nico@fluxnic.net eth0: SMC91C11xFD (rev 1) at ffffff800001a000 IRQ 47 [nowait] eth0: Ethernet addr: 00:02:f7:ef:7e:f2 mousedev: PS/2 mouse device common for all mice TCP: cubic registered NET: Registered protocol family 17 EXT3-fs (vda2): error: couldn't mount because of unsupported optional features (240) EXT2-fs (vda2): error: couldn't mount because of unsupported optional features (240) EXT4-fs (vda2): mounted filesystem with ordered data mode. Opts: (null) VFS: Mounted root (ext4 filesystem) on device 254:2. Freeing init memory: 164K INIT: version 2.88 booting init[390]: undefined instruction: pc=0000007f9c80e4b8 Code: 2947bcce d50339bf b94038cd d5033fdf (d53be029) init[1]: undefined instruction: pc=0000007f9c80e4b8 Code: 2947bcce d50339bf b94038cd d5033fdf (d53be029) Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
Call trace: [<ffffffc0000875a4>] dump_backtrace+0x0/0x12c [<ffffffc0003ab01c>] dump_stack+0x14/0x1c [<ffffffc0003ab26c>] panic+0xe8/0x208 [<ffffffc000097b9c>] do_exit+0x714/0x7c0 [<ffffffc000098ca4>] do_group_exit+0x3c/0xd0 [<ffffffc0000a4238>] get_signal_to_deliver+0x150/0x48c [<ffffffc000086f24>] do_signal+0x5c0/0x5dc [<ffffffc0000871ac>] do_notify_resume+0x84/0x94
Thanx in advance for any help, for booting a freshly made kernel.
Cheers, Phi
On Wed, Aug 21, 2013 at 11:09 AM, Fathi Boudra fathi.boudra@linaro.org wrote:
Hi,
On 21 August 2013 12:46, Phi Debian phi.debian@gmail.com wrote:
Hi Fathi,
Do you know someone who could help me progress on this, I am stuck since Jul 12, well doing other things meanwhile :)
I follow the receipe to download an boot and armv8 image, all that goes well.
Which recipe? http://www.linaro.org/engineering/engineering-projects/armv8 http://releases.linaro.org/13.07/openembedded/aarch64 (build from source tab)
I then follow the receipe to build the latest kernel from git, it all goes well, I got an Image along with a vmlinux (with debug info).
Which tree?
I made the boot linux-system-foundation.axf file as descrived, I can see that my kernel in in there
$ strings -a linux-system-foundation.axf | grep phi %s version %s (phi@hpfrcu82) (gcc version 4.8.2 20130624 ...
Then this is where I am stuck and can't find receipe how to boot this.
I tried a brute ./Foundation_v8pkg/models/Linux64_GCC-4.1/Foundation_v8 --image ./linux-system-foundation.axf --block-device ./rootfs.img --network=nat
I assume you tried our 13.07 release and it works fine, right? (to rule out an issue with your set up or the rootfs)
Where rootfs.img is the vexpress64-openembedded_lamp-armv8_20130719-403.img.gz
Then I thougt 'may be' I got to populate the /boot in the rootfs.img with my new kernel stuff, so I mounted it (losetp _offset, etc..) placed Image.gz-3.7.0-rc2+ config-3.7.0-rc2+ System.map-3.7.0-rc2+ boot.axf In there but still no joy
This part isn't needed.
Is there someone at linaro who know how to boot a fresshly build kernel, the receipe on the web must be incorect or out dated?
linaro-dev mailing list is more appropriate.
Cheers, Fathi