# CONFIG_CMDLINE_PARTITION is not set
CONFIG_BLOCK_COMPAT=y
CONFIG_BLK_MQ_PCI=y
+CONFIG_BLK_MQ_VIRTIO=y
#
# IO Schedulers
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
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
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
# 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
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
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
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
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
#
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
# 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
# CONFIG_CRYPTO_MCRYPTD is not set
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_TEST=m
+CONFIG_CRYPTO_ENGINE=m
#
# Authenticated Encryption with Associated Data
# 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
#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
#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
#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
#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
#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
#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
#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
#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
#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
#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
#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
#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
#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
#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
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...
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;
+ if test ${cpu} = "armv8"; then
+ if test "${fdtfile}" = "boradcom/bcm2837-rpi-3-b-plus.dtb"; then
+ setenv console ttyS1,115200n8;
+ else
+ 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.dtb"; then
+ if test "${fdtfile}" = "bcm2837-rpi-3-b-plus.dtb"; then
setenv console ttyS1,115200n8;
else
- setenv console ttyAMA0,115200n8;
+ if test "${fdtfile}" = "bcm2837-rpi-3-b.dtb"; then
+ setenv console ttyS1,115200n8;
+ else
+ setenv console ttyAMA0,115200n8;
+ fi;
fi;
fi;
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...;
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
# 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%=*}"
-
- 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"
-
- echo "${key}" >> "${user}/.ssh/authorized_keys"
- chmod 600 "${user}/.ssh/authorized_keys"
- fi
- done
+ # 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}$" "/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}" >> "/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