Martin Lucina
2018-03-13 13:09:19 UTC
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
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