Auto merge of #81539 - nikic:update-armhf-gnu, r=sanxiyn
Update armhf-gnu to Ubuntu 20.04 This requires updating the used Linux kernel to avoid an assembler error, the used busybox version to avoid a linker error, the used rootfs to match the host version and the qemu flags to work with the newer version. r? `@Mark-Simulacrum`
This commit is contained in:
commit
d60b29d1ae
@ -1,6 +1,6 @@
|
||||
FROM ubuntu:16.04
|
||||
FROM ubuntu:20.04
|
||||
|
||||
RUN apt-get update -y && apt-get install -y --no-install-recommends \
|
||||
RUN apt-get update -y && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
bc \
|
||||
bzip2 \
|
||||
ca-certificates \
|
||||
@ -33,32 +33,32 @@ WORKDIR /build
|
||||
# the kernel. This file was generated by running `make vexpress_defconfig`
|
||||
# followed by `make menuconfig` and then enabling the IPv6 protocol page.
|
||||
COPY host-x86_64/armhf-gnu/vexpress_config /build/.config
|
||||
RUN curl https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.42.tar.xz | \
|
||||
RUN curl https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.253.tar.xz | \
|
||||
tar xJf - && \
|
||||
cd /build/linux-4.4.42 && \
|
||||
cd /build/linux-4.4.253 && \
|
||||
cp /build/.config . && \
|
||||
make -j$(nproc) all && \
|
||||
cp arch/arm/boot/zImage /tmp && \
|
||||
cd /build && \
|
||||
rm -rf linux-4.4.42
|
||||
rm -rf linux-4.4.253
|
||||
|
||||
# Compile an instance of busybox as this provides a lightweight system and init
|
||||
# binary which we will boot into. Only trick here is configuring busybox to
|
||||
# build static binaries.
|
||||
RUN curl https://www.busybox.net/downloads/busybox-1.21.1.tar.bz2 | tar xjf - && \
|
||||
cd busybox-1.21.1 && \
|
||||
RUN curl https://www.busybox.net/downloads/busybox-1.32.1.tar.bz2 | tar xjf - && \
|
||||
cd busybox-1.32.1 && \
|
||||
make defconfig && \
|
||||
sed -i 's/.*CONFIG_STATIC.*/CONFIG_STATIC=y/' .config && \
|
||||
make -j$(nproc) && \
|
||||
make install && \
|
||||
mv _install /tmp/rootfs && \
|
||||
cd /build && \
|
||||
rm -rf busybox-1.12.1
|
||||
rm -rf busybox-1.32.1
|
||||
|
||||
# Download the ubuntu rootfs, which we'll use as a chroot for all our tests.
|
||||
WORKDIR /tmp
|
||||
RUN mkdir rootfs/ubuntu
|
||||
RUN curl http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04.6-base-armhf.tar.gz | \
|
||||
RUN curl http://cdimage.ubuntu.com/ubuntu-base/releases/20.04/release/ubuntu-base-20.04.1-base-armhf.tar.gz | \
|
||||
tar xzf - -C rootfs/ubuntu && \
|
||||
cd rootfs && mkdir proc sys dev etc etc/init.d
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm 4.4.42 Kernel Configuration
|
||||
# Linux/arm 4.4.253 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM_HAS_SG_CHAIN=y
|
||||
@ -60,6 +60,7 @@ CONFIG_HAVE_ARCH_AUDITSYSCALL=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
CONFIG_GENERIC_IRQ_SHOW=y
|
||||
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
|
||||
CONFIG_GENERIC_IRQ_MIGRATION=y
|
||||
CONFIG_HARDIRQS_SW_RESEND=y
|
||||
CONFIG_IRQ_DOMAIN=y
|
||||
CONFIG_IRQ_DOMAIN_HIERARCHY=y
|
||||
@ -136,6 +137,7 @@ CONFIG_RD_LZMA=y
|
||||
CONFIG_RD_XZ=y
|
||||
CONFIG_RD_LZO=y
|
||||
CONFIG_RD_LZ4=y
|
||||
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_ANON_INODES=y
|
||||
@ -389,6 +391,8 @@ CONFIG_SWP_EMULATE=y
|
||||
# CONFIG_CPU_BIG_ENDIAN is not set
|
||||
# CONFIG_CPU_ICACHE_DISABLE is not set
|
||||
# CONFIG_CPU_BPREDICT_DISABLE is not set
|
||||
CONFIG_CPU_SPECTRE=y
|
||||
CONFIG_HARDEN_BRANCH_PREDICTOR=y
|
||||
CONFIG_KUSER_HELPERS=y
|
||||
CONFIG_VDSO=y
|
||||
CONFIG_OUTER_CACHE=y
|
||||
@ -611,7 +615,7 @@ CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
# CONFIG_NET_IPGRE_DEMUX is not set
|
||||
CONFIG_NET_IP_TUNNEL=m
|
||||
CONFIG_NET_IP_TUNNEL=y
|
||||
# CONFIG_SYN_COOKIES is not set
|
||||
# CONFIG_NET_IPVTI is not set
|
||||
# CONFIG_NET_UDP_TUNNEL is not set
|
||||
@ -621,7 +625,7 @@ CONFIG_NET_IP_TUNNEL=m
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_XFRM_TUNNEL is not set
|
||||
CONFIG_INET_TUNNEL=m
|
||||
CONFIG_INET_TUNNEL=y
|
||||
CONFIG_INET_XFRM_MODE_TRANSPORT=y
|
||||
CONFIG_INET_XFRM_MODE_TUNNEL=y
|
||||
CONFIG_INET_XFRM_MODE_BEET=y
|
||||
@ -643,12 +647,12 @@ CONFIG_IPV6=y
|
||||
# CONFIG_IPV6_ILA is not set
|
||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET6_TUNNEL is not set
|
||||
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
|
||||
CONFIG_INET6_XFRM_MODE_TUNNEL=m
|
||||
CONFIG_INET6_XFRM_MODE_BEET=m
|
||||
CONFIG_INET6_XFRM_MODE_TRANSPORT=y
|
||||
CONFIG_INET6_XFRM_MODE_TUNNEL=y
|
||||
CONFIG_INET6_XFRM_MODE_BEET=y
|
||||
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
|
||||
# CONFIG_IPV6_VTI is not set
|
||||
CONFIG_IPV6_SIT=m
|
||||
CONFIG_IPV6_SIT=y
|
||||
# CONFIG_IPV6_SIT_6RD is not set
|
||||
CONFIG_IPV6_NDISC_NODETYPE=y
|
||||
# CONFIG_IPV6_TUNNEL is not set
|
||||
@ -667,6 +671,7 @@ CONFIG_IPV6_NDISC_NODETYPE=y
|
||||
# CONFIG_L2TP is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
CONFIG_HAVE_NET_DSA=y
|
||||
# CONFIG_NET_DSA is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
@ -682,7 +687,6 @@ CONFIG_HAVE_NET_DSA=y
|
||||
# CONFIG_BATMAN_ADV is not set
|
||||
# CONFIG_OPENVSWITCH is not set
|
||||
# CONFIG_VSOCKETS is not set
|
||||
# CONFIG_NETLINK_MMAP is not set
|
||||
# CONFIG_NETLINK_DIAG is not set
|
||||
# CONFIG_MPLS is not set
|
||||
# CONFIG_HSR is not set
|
||||
@ -718,6 +722,7 @@ CONFIG_NET_9P_VIRTIO=y
|
||||
# CONFIG_CEPH_LIB is not set
|
||||
# CONFIG_NFC is not set
|
||||
# CONFIG_LWTUNNEL is not set
|
||||
CONFIG_DST_CACHE=y
|
||||
CONFIG_HAVE_BPF_JIT=y
|
||||
|
||||
#
|
||||
@ -1267,6 +1272,7 @@ CONFIG_LEGACY_PTY_COUNT=16
|
||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
# CONFIG_N_GSM is not set
|
||||
# CONFIG_TRACE_SINK is not set
|
||||
CONFIG_LDISC_AUTOLOAD=y
|
||||
CONFIG_DEVMEM=y
|
||||
CONFIG_DEVKMEM=y
|
||||
|
||||
@ -1304,7 +1310,6 @@ CONFIG_VIRTIO_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
# CONFIG_HW_RANDOM_TIMERIOMEM is not set
|
||||
CONFIG_HW_RANDOM_VIRTIO=y
|
||||
# CONFIG_R3964 is not set
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
# CONFIG_TCG_TPM is not set
|
||||
# CONFIG_XILLYBUS is not set
|
||||
@ -2009,7 +2014,6 @@ CONFIG_USB_ISP1760_HOST_ROLE=y
|
||||
# CONFIG_USB_EMI26 is not set
|
||||
# CONFIG_USB_ADUTUX is not set
|
||||
# CONFIG_USB_SEVSEG is not set
|
||||
# CONFIG_USB_RIO500 is not set
|
||||
# CONFIG_USB_LEGOTOWER is not set
|
||||
# CONFIG_USB_LCD is not set
|
||||
# CONFIG_USB_LED is not set
|
||||
@ -2318,8 +2322,6 @@ CONFIG_ARM_PMU=y
|
||||
# CONFIG_ANDROID is not set
|
||||
# CONFIG_NVMEM is not set
|
||||
# CONFIG_STM is not set
|
||||
# CONFIG_STM_DUMMY is not set
|
||||
# CONFIG_STM_SOURCE_CONSOLE is not set
|
||||
# CONFIG_INTEL_TH is not set
|
||||
|
||||
#
|
||||
@ -2332,6 +2334,7 @@ CONFIG_ARM_PMU=y
|
||||
#
|
||||
CONFIG_ARM_PSCI_FW=y
|
||||
# CONFIG_FIRMWARE_MEMMAP is not set
|
||||
CONFIG_HAVE_ARM_SMCCC=y
|
||||
|
||||
#
|
||||
# File systems
|
||||
@ -2676,6 +2679,7 @@ CONFIG_TRACING_EVENTS_GPIO=y
|
||||
# CONFIG_TEST_KSTRTOX is not set
|
||||
# CONFIG_TEST_PRINTF is not set
|
||||
# CONFIG_TEST_RHASHTABLE is not set
|
||||
# CONFIG_TEST_HASH is not set
|
||||
# CONFIG_DMA_API_DEBUG is not set
|
||||
# CONFIG_TEST_LKM is not set
|
||||
# CONFIG_TEST_USER_COPY is not set
|
||||
|
@ -185,8 +185,10 @@ fn start_qemu_emulator(target: &str, rootfs: &Path, server: &Path, tmpdir: &Path
|
||||
.arg("-append")
|
||||
.arg("console=ttyAMA0 root=/dev/ram rdinit=/sbin/init init=/sbin/init")
|
||||
.arg("-nographic")
|
||||
.arg("-redir")
|
||||
.arg("tcp:12345::12345");
|
||||
.arg("-netdev")
|
||||
.arg("user,id=net0,hostfwd=tcp::12345-:12345")
|
||||
.arg("-device")
|
||||
.arg("virtio-net-device,netdev=net0,mac=00:00:00:00:00:00");
|
||||
t!(cmd.spawn());
|
||||
}
|
||||
"aarch64-unknown-linux-gnu" => {
|
||||
|
Loading…
Reference in New Issue
Block a user