diff --git a/config/kernel/kernel.config.aarch64-ipfire b/config/kernel/kernel.config.aarch64-ipfire index 37e190741..fd7073490 100644 --- a/config/kernel/kernel.config.aarch64-ipfire +++ b/config/kernel/kernel.config.aarch64-ipfire @@ -349,6 +349,7 @@ CONFIG_EFI_PARTITION=y # CONFIG_CMDLINE_PARTITION is not set CONFIG_BLOCK_COMPAT=y CONFIG_BLK_MQ_PCI=y +CONFIG_BLK_MQ_VIRTIO=y # # IO Schedulers @@ -539,6 +540,8 @@ CONFIG_NO_BOOTMEM=y CONFIG_MEMORY_ISOLATION=y # CONFIG_HAVE_BOOTMEM_INFO_NODE is not set CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_MEMORY_BALLOON=y +CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y CONFIG_MIGRATION=y CONFIG_PHYS_ADDR_T_64BIT=y @@ -1292,6 +1295,8 @@ CONFIG_OPENVSWITCH_GRE=m CONFIG_OPENVSWITCH_VXLAN=m CONFIG_OPENVSWITCH_GENEVE=m CONFIG_VSOCKETS=m +CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO_VSOCKETS_COMMON=m CONFIG_NETLINK_DIAG=m CONFIG_MPLS=y CONFIG_NET_MPLS_GSO=m @@ -1615,6 +1620,8 @@ CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=16384 # CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_BLK_SCSI=y # CONFIG_BLK_DEV_RBD is not set # CONFIG_BLK_DEV_RSXX is not set CONFIG_NVME_CORE=m @@ -1795,6 +1802,7 @@ CONFIG_ISCSI_BOOT_SYSFS=m # CONFIG_SCSI_PMCRAID is not set # CONFIG_SCSI_PM8001 is not set # CONFIG_SCSI_BFA_FC is not set +CONFIG_SCSI_VIRTIO=y # CONFIG_SCSI_CHELSIO_FCOE is not set # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set CONFIG_SCSI_DH=y @@ -1989,6 +1997,7 @@ CONFIG_TUN=m CONFIG_TAP=m # CONFIG_TUN_VNET_CROSS_LE is not set CONFIG_VETH=m +CONFIG_VIRTIO_NET=m CONFIG_NLMON=m CONFIG_NET_VRF=m CONFIG_SUNGEM_PHY=m @@ -2860,7 +2869,9 @@ CONFIG_SERIAL_MVEBU_CONSOLE=y CONFIG_PRINTER=m CONFIG_LP_CONSOLE=y CONFIG_PPDEV=m +CONFIG_HVC_DRIVER=y # CONFIG_HVC_DCC is not set +CONFIG_VIRTIO_CONSOLE=m CONFIG_IPMI_HANDLER=m CONFIG_IPMI_DMI_DECODE=y # CONFIG_IPMI_PANIC_EVENT is not set @@ -2873,6 +2884,7 @@ CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_BCM2835=y CONFIG_HW_RANDOM_OMAP=y +CONFIG_HW_RANDOM_VIRTIO=y CONFIG_HW_RANDOM_MESON=y CONFIG_HW_RANDOM_CAVIUM=y CONFIG_R3964=m @@ -4236,6 +4248,7 @@ CONFIG_DRM_UDL=m CONFIG_DRM_RCAR_DW_HDMI=m # CONFIG_DRM_QXL is not set # CONFIG_DRM_BOCHS is not set +CONFIG_DRM_VIRTIO_GPU=m CONFIG_DRM_PANEL=y # @@ -4349,7 +4362,7 @@ CONFIG_FB_OPENCORES=m CONFIG_FB_SMSCUFX=m # CONFIG_FB_UDL is not set # CONFIG_FB_IBM_GXT4500 is not set -# CONFIG_FB_VIRTUAL is not set +CONFIG_FB_VIRTUAL=m # CONFIG_FB_METRONOME is not set # CONFIG_FB_MB862XX is not set # CONFIG_FB_BROADSHEET is not set @@ -5391,12 +5404,17 @@ CONFIG_UIO=m # CONFIG_UIO_MF624 is not set # CONFIG_VFIO is not set CONFIG_VIRT_DRIVERS=y +CONFIG_VIRTIO=y # # Virtio drivers # -# CONFIG_VIRTIO_PCI is not set -# CONFIG_VIRTIO_MMIO is not set +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_PCI_LEGACY=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_INPUT=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y # # Microsoft Hyper-V guest support @@ -6611,6 +6629,7 @@ CONFIG_CRYPTO_CRYPTD=y # CONFIG_CRYPTO_MCRYPTD is not set CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_ENGINE=m # # Authenticated Encryption with Associated Data @@ -6719,6 +6738,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set CONFIG_CRYPTO_DEV_ROCKCHIP=y # CONFIG_CRYPTO_DEV_CHELSIO is not set +CONFIG_CRYPTO_DEV_VIRTIO=m # CONFIG_CRYPTO_DEV_SAFEXCEL is not set # CONFIG_ASYMMETRIC_KEY_TYPE is not set diff --git a/config/rootfiles/common/aarch64/linux b/config/rootfiles/common/aarch64/linux index 28a02a322..c5351db94 100644 --- a/config/rootfiles/common/aarch64/linux +++ b/config/rootfiles/common/aarch64/linux @@ -48,8 +48,8 @@ boot/dtb-KVER-ipfire #boot/dtb-KVER-ipfire/arm/rtsm_ve-aemv8a.dtb #boot/dtb-KVER-ipfire/arm/vexpress-v2f-1xv7-ca53x2.dtb #boot/dtb-KVER-ipfire/broadcom -#boot/dtb-KVER-ipfire/broadcom/bcm2837-rpi-3-b.dtb #boot/dtb-KVER-ipfire/broadcom/bcm2837-rpi-3-b-plus.dtb +#boot/dtb-KVER-ipfire/broadcom/bcm2837-rpi-3-b.dtb #boot/dtb-KVER-ipfire/marvell #boot/dtb-KVER-ipfire/marvell/armada-3720-db.dtb #boot/dtb-KVER-ipfire/marvell/armada-3720-espressobin.dtb @@ -100,6 +100,7 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/crypto/cast_common.ko #lib/modules/KVER-ipfire/kernel/crypto/ccm.ko #lib/modules/KVER-ipfire/kernel/crypto/cmac.ko +#lib/modules/KVER-ipfire/kernel/crypto/crypto_engine.ko #lib/modules/KVER-ipfire/kernel/crypto/cts.ko #lib/modules/KVER-ipfire/kernel/crypto/deflate.ko #lib/modules/KVER-ipfire/kernel/crypto/ecdh_generic.ko @@ -160,6 +161,7 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/drivers/bcma/bcma.ko #lib/modules/KVER-ipfire/kernel/drivers/block #lib/modules/KVER-ipfire/kernel/drivers/block/cryptoloop.ko +#lib/modules/KVER-ipfire/kernel/drivers/block/virtio_blk.ko #lib/modules/KVER-ipfire/kernel/drivers/bluetooth #lib/modules/KVER-ipfire/kernel/drivers/bluetooth/ath3k.ko #lib/modules/KVER-ipfire/kernel/drivers/bluetooth/bcm203x.ko @@ -188,6 +190,7 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/drivers/char/ipmi/ipmi_watchdog.ko #lib/modules/KVER-ipfire/kernel/drivers/char/lp.ko #lib/modules/KVER-ipfire/kernel/drivers/char/ppdev.ko +#lib/modules/KVER-ipfire/kernel/drivers/char/virtio_console.ko #lib/modules/KVER-ipfire/kernel/drivers/clk #lib/modules/KVER-ipfire/kernel/drivers/clk/clk-si5351.ko #lib/modules/KVER-ipfire/kernel/drivers/clk/clk-si570.ko @@ -195,6 +198,9 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/drivers/cpufreq #lib/modules/KVER-ipfire/kernel/drivers/cpufreq/arm_big_little.ko #lib/modules/KVER-ipfire/kernel/drivers/cpufreq/arm_big_little_dt.ko +#lib/modules/KVER-ipfire/kernel/drivers/crypto +#lib/modules/KVER-ipfire/kernel/drivers/crypto/virtio +#lib/modules/KVER-ipfire/kernel/drivers/crypto/virtio/virtio_crypto.ko #lib/modules/KVER-ipfire/kernel/drivers/dma #lib/modules/KVER-ipfire/kernel/drivers/dma/dw #lib/modules/KVER-ipfire/kernel/drivers/dma/dw/dw_dmac_core.ko @@ -203,6 +209,9 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/drivers/firewire/firewire-core.ko #lib/modules/KVER-ipfire/kernel/drivers/firewire/firewire-ohci.ko #lib/modules/KVER-ipfire/kernel/drivers/firewire/firewire-sbp2.ko +#lib/modules/KVER-ipfire/kernel/drivers/firmware +#lib/modules/KVER-ipfire/kernel/drivers/firmware/efi +#lib/modules/KVER-ipfire/kernel/drivers/firmware/efi/efibc.ko #lib/modules/KVER-ipfire/kernel/drivers/gpio #lib/modules/KVER-ipfire/kernel/drivers/gpio/gpio-adnp.ko #lib/modules/KVER-ipfire/kernel/drivers/gpio/gpio-viperboard.ko @@ -254,15 +263,6 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/panel/panel-simple.ko #lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/pl111 #lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/pl111/pl111_drm.ko -#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i -#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun4i-backend.ko -#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun4i-drm-hdmi.ko -#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun4i-drm.ko -#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun4i-tcon.ko -#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun4i_tv.ko -#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun6i_drc.ko -#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun8i-mixer.ko -#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.ko #lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/tinydrm #lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/tinydrm/core #lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/tinydrm/core/tinydrm.ko @@ -272,6 +272,8 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/udl/udl.ko #lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/vc4 #lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/vc4/vc4.ko +#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/virtio +#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/virtio/virtio-gpu.ko #lib/modules/KVER-ipfire/kernel/drivers/hid #lib/modules/KVER-ipfire/kernel/drivers/hid/hid-aureal.ko #lib/modules/KVER-ipfire/kernel/drivers/hid/hid-gyration.ko @@ -525,7 +527,7 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/drivers/md/dm-cache.ko #lib/modules/KVER-ipfire/kernel/drivers/md/dm-crypt.ko #lib/modules/KVER-ipfire/kernel/drivers/md/dm-log-userspace.ko -#lib/modules/KVER-ipfire/kernel/drivers/md/dmpath.ko +#lib/modules/KVER-ipfire/kernel/drivers/md/dm-multipath.ko #lib/modules/KVER-ipfire/kernel/drivers/md/dm-queue-length.ko #lib/modules/KVER-ipfire/kernel/drivers/md/dm-raid.ko #lib/modules/KVER-ipfire/kernel/drivers/md/dm-round-robin.ko @@ -1483,6 +1485,7 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/drivers/net/usb/usbnet.ko #lib/modules/KVER-ipfire/kernel/drivers/net/usb/zaurus.ko #lib/modules/KVER-ipfire/kernel/drivers/net/veth.ko +#lib/modules/KVER-ipfire/kernel/drivers/net/virtio_net.ko #lib/modules/KVER-ipfire/kernel/drivers/net/vmxnet3 #lib/modules/KVER-ipfire/kernel/drivers/net/vmxnet3/vmxnet3.ko #lib/modules/KVER-ipfire/kernel/drivers/net/vrf.ko @@ -1899,6 +1902,7 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/drivers/video/fbdev/ocfb.ko #lib/modules/KVER-ipfire/kernel/drivers/video/fbdev/smscufx.ko #lib/modules/KVER-ipfire/kernel/drivers/video/fbdev/ssd1307fb.ko +#lib/modules/KVER-ipfire/kernel/drivers/video/fbdev/vfb.ko #lib/modules/KVER-ipfire/kernel/drivers/w1 #lib/modules/KVER-ipfire/kernel/drivers/w1/masters #lib/modules/KVER-ipfire/kernel/drivers/w1/masters/ds1wm.ko @@ -1941,6 +1945,8 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/fs/configfs/configfs.ko #lib/modules/KVER-ipfire/kernel/fs/dlm #lib/modules/KVER-ipfire/kernel/fs/dlm/dlm.ko +#lib/modules/KVER-ipfire/kernel/fs/efivarfs +#lib/modules/KVER-ipfire/kernel/fs/efivarfs/efivarfs.ko #lib/modules/KVER-ipfire/kernel/fs/fat #lib/modules/KVER-ipfire/kernel/fs/fat/fat.ko #lib/modules/KVER-ipfire/kernel/fs/fat/msdos.ko @@ -2493,6 +2499,8 @@ lib/modules/KVER-ipfire #lib/modules/KVER-ipfire/kernel/net/unix #lib/modules/KVER-ipfire/kernel/net/unix/unix_diag.ko #lib/modules/KVER-ipfire/kernel/net/vmw_vsock +#lib/modules/KVER-ipfire/kernel/net/vmw_vsock/vmw_vsock_virtio_transport.ko +#lib/modules/KVER-ipfire/kernel/net/vmw_vsock/vmw_vsock_virtio_transport_common.ko #lib/modules/KVER-ipfire/kernel/net/vmw_vsock/vsock.ko #lib/modules/KVER-ipfire/kernel/net/wireless #lib/modules/KVER-ipfire/kernel/net/wireless/cfg80211.ko diff --git a/config/rootfiles/common/aarch64/linux-headers b/config/rootfiles/common/aarch64/linux-headers index db9f3d5dd..6cbe4b964 100644 --- a/config/rootfiles/common/aarch64/linux-headers +++ b/config/rootfiles/common/aarch64/linux-headers @@ -91,6 +91,7 @@ #usr/include/drm/radeon_drm.h #usr/include/drm/savage_drm.h #usr/include/drm/sis_drm.h +#usr/include/drm/sun4i_drm.h #usr/include/drm/tegra_drm.h #usr/include/drm/vc4_drm.h #usr/include/drm/vgem_drm.h diff --git a/config/u-boot/boot.cmd b/config/u-boot/boot.cmd index 6679d679a..1d3017ba9 100644 --- a/config/u-boot/boot.cmd +++ b/config/u-boot/boot.cmd @@ -8,9 +8,13 @@ if test ${boot_part} = ""; then fi; if test ${soc} = "kirkwood"; then - setenv kernel_type kirkwood; + setenv kernel_type -kirkwood; else - setenv kernel_type multi; + if test ${cpu} = "armv8"; then + echo ; + else + setenv kernel_type -multi; + fi; fi; # Import uEnv txt... @@ -34,13 +38,25 @@ fi; if test "${SERIAL-CONSOLE}" = "ON"; then if test ${console} = ""; then if test "${board}" = "rpi"; then - if test "${fdtfile}" = "bcm2837-rpi-3-b-plus.dtb"; then - setenv console ttyS1,115200n8; - else - if test "${fdtfile}" = "bcm2837-rpi-3-b.dtb"; then + if test ${cpu} = "armv8"; then + if test "${fdtfile}" = "boradcom/bcm2837-rpi-3-b-plus.dtb"; then setenv console ttyS1,115200n8; else - setenv console ttyAMA0,115200n8; + if test "${fdtfile}" = "broadcom/bcm2837-rpi-3-b.dtb"; then + setenv console ttyS1,115200n8; + else + setenv console ttyAMA0,115200n8; + fi; + fi; + else + if test "${fdtfile}" = "bcm2837-rpi-3-b-plus.dtb"; then + setenv console ttyS1,115200n8; + else + if test "${fdtfile}" = "bcm2837-rpi-3-b.dtb"; then + setenv console ttyS1,115200n8; + else + setenv console ttyAMA0,115200n8; + fi; fi; fi; else @@ -55,10 +71,10 @@ else fi; setenv fdt_high ffffffff; -fatload ${boot_dev} ${boot_part} ${kernel_addr_r} vmlinuz-${KVER}-ipfire-${kernel_type}; -fatload ${boot_dev} ${boot_part} ${fdt_addr_r} dtb-${KVER}-ipfire-${kernel_type}/${fdtfile}; +fatload ${boot_dev} ${boot_part} ${kernel_addr_r} vmlinuz-${KVER}-ipfire${kernel_type}; +fatload ${boot_dev} ${boot_part} ${fdt_addr_r} dtb-${KVER}-ipfire${kernel_type}/${fdtfile}; setenv ramdisk_addr ${ramdisk_addr_r} -if fatload ${boot_dev} ${boot_part} ${ramdisk_addr} uInit-${KVER}-ipfire-${kernel_type}; then +if fatload ${boot_dev} ${boot_part} ${ramdisk_addr} uInit-${KVER}-ipfire${kernel_type}; then echo Ramdisk loaded...; else echo Ramdisk not loaded...; diff --git a/config/u-boot/boot.scr b/config/u-boot/boot.scr index 188d54456..0d9e67b96 100644 Binary files a/config/u-boot/boot.scr and b/config/u-boot/boot.scr differ diff --git a/lfs/linux b/lfs/linux index f4700859c..c5d8a8e88 100644 --- a/lfs/linux +++ b/lfs/linux @@ -156,6 +156,10 @@ endif ifeq "$(KCFG)" "-multi" # Apply Arm-multiarch kernel patches. cd $(DIR_APP) && xzcat $(DIR_DL)/arm-multi-patches-$(ARM_PATCHES).patch.xz | patch -Np1 +endif +ifeq "$(BUILD_ARCH)" "aarch64" + # Apply Arm-multiarch kernel patches. + cd $(DIR_APP) && xzcat $(DIR_DL)/arm-multi-patches-$(ARM_PATCHES).patch.xz | patch -Np1 endif cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/linux-3.14.79-amba-fix.patch diff --git a/src/initscripts/helper/aws-setup b/src/initscripts/helper/aws-setup index a273aff7d..d8c7a358c 100644 --- a/src/initscripts/helper/aws-setup +++ b/src/initscripts/helper/aws-setup @@ -86,25 +86,27 @@ import_aws_configuration() { # Create setup user if ! getent passwd setup &>/dev/null; then - useradd -r setup -s /usr/bin/run-setup -g nobody -m + useradd setup -s /usr/bin/run-setup -g nobody -m + + # Unlock the account + usermod -p "x" setup fi - # Import SSH keys - local user - for user in /root /home/setup; do - local line - for line in $(get "public-keys/"); do - local key_no="${line%=*}" + # Import SSH keys for setup user + local line + for line in $(get "public-keys/"); do + local key_no="${line%=*}" - local key="$(get public-keys/${key_no}/openssh-key)" - if [ -n "${key}" ] && ! grep -q "^${key}$" "${user}/.ssh/authorized_keys" 2>/dev/null; then - mkdir -p "${user}/.ssh" - chmod 700 "${user}/.ssh" + local key="$(get public-keys/${key_no}/openssh-key)" + if [ -n "${key}" ] && ! grep -q "^${key}$" "/home/setup/.ssh/authorized_keys" 2>/dev/null; then + mkdir -p "/home/setup/.ssh" + chmod 700 "/home/setup/.ssh" + chown setup.nobody "/home/setup/.ssh" - echo "${key}" >> "${user}/.ssh/authorized_keys" - chmod 600 "${user}/.ssh/authorized_keys" - fi - done + echo "${key}" >> "/home/setup/.ssh/authorized_keys" + chmod 600 "/home/setup/.ssh/authorized_keys" + chown setup.nobody "/home/setup/.ssh/authorized_keys" + fi done # Import any DNS server settings