Hi, I'm trying to bootstrap an Olimex A64-OLinuXino board from scratch, using Debian stretch on x86_64 as the build host. So far, I've:
- cross-built mainline U-boot 2018.01 including the SPL and BL31 from latest https://github.com/apritzel/arm-trusted-firmware.git#allwinner and a64-olinuxino_defconfig: (arm-trusted-firmware) $ make PLAT=sun50iw1p1 DEBUG=1 bl31 CROSS_COMPILE=aarch64- linux-gnu- (u-boot) $ make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- a64-olinuxino_defconfig (u-boot) $ make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- BL31=$(pwd)/../arm-trusted-firmware/build/sun50iw1p1/debug/bl31.bin - cross-built mainline kernel 4.15.7 (kernel) $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig (kernel) $ make -j4 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- - partitioned and installed to SD card following the instructions in board/sunxi/README.sunxi64 SD card has a 128MB FAT partition (p1) and the remainder as ext4 (p2) - ran the debootstrap 1st stage: sudo debootstrap --arch=arm64 --variant=minbase --foreign stretch /mnt - sucessfully booted into /bin/sh using the following boot.scr: setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10 load mmc 0:1 0x43000000 dtb load mmc 0:1 0x41000000 Image booti 0x41000000 - 0x43000000 (no initrd for now since I'm lazy...) However, while running the debootstrap 2nd stage on the board, it seems that the kernel is not stable: # mount -n -o remount,rw / [ 93.035277] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null) # /debootstrap/debootstrap --second-stage I: Keyring file not available at /usr/share/keyrings/debian-archive-keyring.gpg; switching to https mirror https://deb.debian.org/debian I: Installing core packages... [ 109.616360] random: crng init done [ 138.840328] BUG: Bad page state in process dpkg pfn:7bf40 [ 138.845825] page:ffff7e0000efd000 count:64 mapcount:0 mapping: (null) index:0x1 [ 138.853908] flags: 0xfffc00000000000() [ 138.857657] raw: 0fffc00000000000 0000000000000000 0000000000000001 00000040ffffffff [ 138.865390] raw: dead000000000100 dead000000000200 0000000000000000 0000000000000000 [ 138.873119] page dumped because: nonzero _count [ 138.877641] Modules linked in: [ 138.880698] CPU: 3 PID: 1472 Comm: dpkg Tainted: G B 4.15.7 #1 [ 138.887734] Hardware name: Olimex A64-Olinuxino (DT) [ 138.892689] Call trace: [ 138.895144] dump_backtrace+0x0/0x168 [ 138.898805] show_stack+0x14/0x20 [ 138.902117] dump_stack+0x98/0xb8 [ 138.905430] bad_page+0xe4/0x148 [ 138.908653] check_new_page_bad+0x64/0xa0 [ 138.912659] get_page_from_freelist+0xbac/0x1048 [ 138.917269] __alloc_pages_nodemask+0xdc/0xbd8 [ 138.921711] alloc_pages_current+0x80/0xe8 [ 138.925805] __page_cache_alloc+0xa0/0xb0 [ 138.929809] pagecache_get_page+0xf8/0x280 [ 138.933902] grab_cache_page_write_begin+0x24/0x40 [ 138.938690] ext4_da_write_begin+0xa4/0x398 [ 138.942868] generic_perform_write+0x98/0x180 [ 138.947221] __generic_file_write_iter+0x130/0x1a0 [ 138.952005] ext4_file_write_iter+0xe0/0x358 [ 138.956271] __vfs_write+0xb0/0x118 [ 138.959754] vfs_write+0xa4/0x1b0 [ 138.963064] SyS_write+0x44/0xa0 [ 138.966288] el0_svc_naked+0x30/0x34 [ 146.827756] BUG: Bad page state in process frontend pfn:7a940 [ 146.833600] page:ffff7e0000ea5000 count:64 mapcount:0 mapping: (null) index:0x1 [ 146.841682] flags: 0xfffc00000000000() [ 146.845431] raw: 0fffc00000000000 0000000000000000 0000000000000001 00000040ffffffff [ 146.853162] raw: dead000000000100 dead000000000200 0000000000000000 0000000000000000 [ 146.860891] page dumped because: nonzero _count [ 146.865413] Modules linked in: [ 146.868471] CPU: 2 PID: 1499 Comm: frontend Tainted: G B 4.15.7 #1 [ 146.875854] Hardware name: Olimex A64-Olinuxino (DT) [ 146.880810] Call trace: [ 146.883265] dump_backtrace+0x0/0x168 [ 146.886926] show_stack+0x14/0x20 [ 146.890239] dump_stack+0x98/0xb8 [ 146.893551] bad_page+0xe4/0x148 [ 146.896775] check_new_page_bad+0x64/0xa0 [ 146.900780] get_page_from_freelist+0xbac/0x1048 [ 146.905390] __alloc_pages_nodemask+0xdc/0xbd8 [ 146.909832] alloc_pages_vma+0x88/0x1f8 [ 146.913666] __handle_mm_fault+0xa84/0x1098 [ 146.917844] handle_mm_fault+0x124/0x1d0 [ 146.921763] do_page_fault+0x178/0x360 [ 146.925508] do_translation_fault+0x3c/0x48 [ 146.929685] do_mem_abort+0x40/0xb0 [ 146.933160] el0_da+0x20/0x24 I: Unpacking required packages... I: Unpacking libacl1:arm64... I: Unpacking libattr1:arm64... I: Unpacking libaudit-common... I: Unpacking libaudit1:arm64... I: Unpacking base-files... I: Unpacking base-passwd... I: Unpacking bash... I: Unpacking libbz2-1.0:arm64... I: Unpacking libdebconfclient0:arm64... I: Unpacking coreutils... [ 226.850339] Unable to handle kernel NULL pointer dereference at virtual address 0000042e [ 226.854130] BUG: Bad page state in process dpkg pfn:7c969 [ 226.854142] page:ffff7e0000f25a40 count:64 mapcount:0 mapping: (null) index:0x0 [ 226.854150] flags: 0xfffc00000000000() [ 226.854159] raw: 0fffc00000000000 0000000000000000 0000000000000000 00000040ffffffff [ 226.854165] raw: dead000000000100 dead000000000200 0000000000000000 0000000000000000 [ 226.854167] page dumped because: nonzero _refcount [ 226.854169] Modules linked in: [ 226.854180] CPU: 1 PID: 1596 Comm: dpkg Tainted: G B 4.15.7 #1 [ 226.854182] Hardware name: Olimex A64-Olinuxino (DT) [ 226.854185] Call trace: [ 226.854200] dump_backtrace+0x0/0x168 [ 226.854207] show_stack+0x14/0x20 [ 226.854213] dump_stack+0x98/0xb8 [ 226.854219] bad_page+0xe4/0x148 [ 226.854224] free_pages_check_bad+0x6c/0xa8 [ 226.854228] free_pcppages_bulk+0x450/0x4d0 [ 226.854233] free_unref_page_commit+0xc4/0x110 [ 226.854238] free_unref_page+0x68/0x80 [ 226.854243] __put_page+0x44/0x50 [ 226.854250] anon_pipe_buf_release+0x68/0x80 [ 226.854254] pipe_read+0x18c/0x2e8 [ 226.854261] __vfs_read+0xb0/0x110 [ 226.854264] vfs_read+0x8c/0x148 [ 226.854269] SyS_read+0x44/0xa0 [ 226.854274] el0_svc_naked+0x30/0x34 [ 226.967682] Mem abort info: [ 226.970471] ESR = 0x96000004 [ 226.973521] Exception class = DABT (current EL), IL = 32 bits [ 226.979430] SET = 0, FnV = 0 [ 226.982479] EA = 0, S1PTW = 0 [ 226.985614] Data abort info: [ 226.988489] ISV = 0, ISS = 0x00000004 [ 226.992317] CM = 0, WnR = 0 [ 226.995284] user pgtable: 4k pages, 48-bit VAs, pgd = 00000000f0b3b73c [ 227.001800] [000000000000042e] *pgd=0000000000000000 [ 227.006761] Internal error: Oops: 96000004 [#1] PREEMPT SMP [ 227.012325] Modules linked in: [ 227.015382] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G B 4.15.7 #1 [ 227.022592] Hardware name: Olimex A64-Olinuxino (DT) [ 227.027550] pstate: 80000085 (Nzcv daIf -PAN -UAO) [ 227.032344] pc : sched_ttwu_pending+0x5c/0xb0 [ 227.036695] lr : sched_ttwu_pending+0xa8/0xb0 [ 227.041044] sp : ffff000008f53ef0 [ 227.044353] x29: ffff000008f53ef0 x28: 0000000041e40018 [ 227.049661] x27: 0000000000000400 x26: ffff000008f62a80 [ 227.054967] x25: 0000000000000000 x24: ffff000008f59e90 [ 227.060273] x23: 0000000000000000 x22: ffff000008f4b0a8 [ 227.065580] x21: 0000000000000000 x20: ffff80003ef8f180 [ 227.070885] x19: 0000000000000002 x18: 0000000000000000 [ 227.076192] x17: 0000ffffa3cb5d80 x16: ffff0000082161c0 [ 227.081498] x15: 0000000000000000 x14: 0000000000000400 [ 227.086803] x13: 0000000000000400 x12: 0000000000000001 [ 227.092109] x11: 000000000000018f x10: 0000000000000a00 [ 227.097414] x9 : ffff000008f53e80 x8 : ffff000008f634e0 [ 227.102720] x7 : 0000000000000000 x6 : 0000000008c57f78 [ 227.108026] x5 : 00000034d154ea7f x4 : 000000345c74b395 [ 227.113332] x3 : 000000001dcd6500 x2 : 0000000014e1317f [ 227.118637] x1 : ffffffffffffff6a x0 : ffff80003ef8f180 [ 227.123945] Process swapper/0 (pid: 0, stack limit = 0x000000001ebc162c) [ 227.130634] Call trace: [ 227.133080] sched_ttwu_pending+0x5c/0xb0 [ 227.137087] do_idle+0xb8/0x1e0 [ 227.140226] cpu_startup_entry+0x24/0x28 [ 227.144146] rest_init+0xd0/0xe0 [ 227.147375] start_kernel+0x39c/0x3b0 [ 227.151035] Code: b949da80 36080280 d1026261 b4000173 (39531022) [ 227.157128] ---[ end trace 51d0109622e659fa ]--- [ 227.161740] Kernel panic - not syncing: Attempted to kill the idle task! [ 227.168432] SMP: stopping secondary CPUs [ 227.172351] Kernel Offset: disabled [ 227.175835] CPU features: 0x0802004 [ 227.179316] Memory Limit: none [ 227.182369] Rebooting in 10 seconds.. INFO: PSCI Affinity Map: INFO: AffInst: Level 0, MPID 0x0, State ON INFO: AffInst: Level 0, MPID 0x1, State ON INFO: AffInst: Level 0, MPID 0x2, State ON INFO: AffInst: Level 0, MPID 0x3, State ON I will try with a 4.16-rcX kernel, but on the off chance that someone on the list has already been through this and can see anything wrong in the steps I did above or can suggest a known-good recent kernel (including its configuration), let me know. -mato