Package: systemd Version: 230-7~bpo8+2 Severity: normal Hi,
This version of systemd won't boot on arm64 when the kernel is configured for 64K pages: > Starting init: /etc/init exists but couldn't execute it (error -13) > Starting init: /bin/sh exists but couldn't execute it (error -14) > Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance. > CPU: 3 PID: 1 Comm: init Not tainted 4.10.0-rc2-00036-g5a4dd5f49931 #6712 > Hardware name: ARM Juno development board (r1) (DT) > Call trace: > [<ffff000008088f44>] dump_backtrace+0x0/0x25c > [<ffff0000080891c0>] show_stack+0x20/0x28 > [<ffff0000084940b4>] dump_stack+0x94/0xb4 > [<ffff0000081af874>] panic+0x134/0x2a4 > [<ffff0000089ad834>] kernel_init+0xf4/0x104 > [<ffff000008083370>] ret_from_fork+0x10/0x20 Booting with init=/bin/bash and interrogating the linker: > root@(none):/lib/systemd# /lib/ld-linux-aarch64.so.1 --list /sbin/init > /sbin/init: error while loading shared libraries: /sbin/init: ELF load command alignment not page-aligned Comparing sytemd's LOAD sections with bash's: > root@(none):/lib/systemd# readelf -a /sbin/init | grep -A 1 LOAD > LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000 > 0x00000000000bc56c 0x00000000000bc56c R E 1000 > LOAD 0x00000000000bc7a8 0x00000000000bd7a8 0x00000000000bd7a8 > 0x0000000000020a88 0x0000000000020b7d RW 1000 > root@(none):/lib/systemd# readelf -a /bin/bash | grep -A 1 LOAD > LOAD 0x0000000000000000 0x0000000000400000 0x0000000000400000 > 0x00000000000d49f4 0x00000000000d49f4 R E 10000 > LOAD 0x00000000000d4db0 0x00000000004e4db0 0x00000000004e4db0 > 0x0000000000008ae8 0x000000000000e728 RW 10000 (The key to these tables is:) > Program Headers: > Type Offset VirtAddr PhysAddr > FileSiz MemSiz Flags Align The Align value for each of systemd's LOAD sections is 4K aligned, not 64K, so the runtime linker can't load it when the kernel is built with a page-size other than 4K. This was reported by Basil Eljuse who was using a filesystem from Linaro. Sanity check whether this should be reported to debian by poking around in the original deb file: > readlink sbin/init > /lib/systemd/systemd > wget http://ftp.uk.debian.org/debian/pool/main/s/systemd/systemd_230-7~bpo8+2_arm64.deb > ar x systemd_230-7~bpo8+2_arm64.deb > tar xf data.tar.xz > readelf -a lib/systemd/systemd | grep -A 1 LOAD > LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000 > 0x00000000000bc56c 0x00000000000bc56c R E 1000 > LOAD 0x00000000000bc7a8 0x00000000000bd7a8 0x00000000000bd7a8 > 0x0000000000020a88 0x0000000000020b7d RW 1000 This is potentially a wider issue affecting anything else built with the same linker that built this 'bpo' package. Thanks, James -- Package-specific info: -- System Information: Debian Release: 8.6 APT prefers vivid APT policy: (500, 'vivid'), (500, 'stable-updates'), (500, 'stable') Architecture: arm64 (aarch64) Kernel: Linux 4.10.0-rc2-00036-g5a4dd5f49931 (SMP w/6 CPU cores) Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages systemd depends on: ii adduser 3.113+nmu3 ii libacl1 2.2.52-2 ii libapparmor1 2.10.95-4~bpo8+2 ii libaudit1 1:2.4-1+b1 ii libblkid1 2.27.1-1.linarojessie.1 ii libc6 2.19-18+deb8u6 ii libcap2 1:2.24-8 ii libcap2-bin 1:2.24-8 ii libcryptsetup4 2:1.6.6-5 ii libgcrypt20 1.6.3-2+deb8u2 ii libgpg-error0 1.17-3 ii libidn11 1.29-1+deb8u2 ii libkmod2 18-3 ii liblzma5 5.1.1alpha+20120614-2+b3 ii libmount1 2.27.1-1.linarojessie.1 ii libpam0g 1.1.8-3.1+deb8u1+b1 ii libseccomp2 2.2.3-3~bpo8+1 ii libselinux1 2.3-2 ii libsystemd0 230-7~bpo8+2 ii mount 2.27.1-1.linarojessie.1 ii util-linux 2.27.1-1.linarojessie.1 Versions of packages systemd recommends: ii dbus 1.8.20-0+deb8u1 ii libpam-systemd 230-7~bpo8+2 Versions of packages systemd suggests: ii policykit-1 0.105-15~deb8u2 pn systemd-container <none> pn systemd-ui <none> Versions of packages systemd is related to: ii udev 230-7~bpo8+2 -- Configuration Files: /etc/systemd/system.conf changed: [Manager] LogLevel=warning LogTarget=journal -- no debconf information