From 3cea71a11f3cb8cfe7adbf63d4edbc5d21f3bb72 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 25 Apr 2023 18:05:10 +0200 Subject: [PATCH] configs/amd64_minimal_defconfig: simplified basic Linux build This build is intended as a base reference and for use as a very simple end device. The default starts DHCP and IPv4LL (ZeroConf) on eth0, but can be configured by editing /etc/network/interfaces.d/* Signed-off-by: Joachim Wiberg --- board/native/post-build.sh | 8 ++ board/native/rootfs/bin/chom | 2 + board/{common => native}/rootfs/etc/mdev.conf | 0 board/{common => native}/rootfs/etc/motd | 0 .../rootfs/etc/network/interfaces | 0 .../rootfs/etc/network/interfaces.d/.empty | 0 .../rootfs/etc/network/interfaces.d/eth0 | 3 + board/{common => native}/rootfs/etc/rc.local | 0 board/native/rootfs/lib/infix/use-etc | 2 + configs/amd64_minimal_defconfig | 111 ++++++++++++++++++ 10 files changed, 126 insertions(+) create mode 100755 board/native/post-build.sh create mode 100755 board/native/rootfs/bin/chom rename board/{common => native}/rootfs/etc/mdev.conf (100%) rename board/{common => native}/rootfs/etc/motd (100%) rename board/{common => native}/rootfs/etc/network/interfaces (100%) rename board/{common => native}/rootfs/etc/network/interfaces.d/.empty (100%) create mode 100644 board/native/rootfs/etc/network/interfaces.d/eth0 rename board/{common => native}/rootfs/etc/rc.local (100%) create mode 100755 board/native/rootfs/lib/infix/use-etc create mode 100644 configs/amd64_minimal_defconfig diff --git a/board/native/post-build.sh b/board/native/post-build.sh new file mode 100755 index 00000000..b668c0b2 --- /dev/null +++ b/board/native/post-build.sh @@ -0,0 +1,8 @@ +#!/bin/sh +. "$BR2_CONFIG" + +# Prevent regen of host key at every boot, /etc is saved across reboots +if [ -L "$TARGET_DIR/etc/dropbear" ]; then + rm "$TARGET_DIR/etc/dropbear" + mkdir "$TARGET_DIR/etc/dropbear" +fi diff --git a/board/native/rootfs/bin/chom b/board/native/rootfs/bin/chom new file mode 100755 index 00000000..4ee30389 --- /dev/null +++ b/board/native/rootfs/bin/chom @@ -0,0 +1,2 @@ +#!/bin/sh +dialog --msgbox "This build is hardwired to native /etc mode." 6 48 diff --git a/board/common/rootfs/etc/mdev.conf b/board/native/rootfs/etc/mdev.conf similarity index 100% rename from board/common/rootfs/etc/mdev.conf rename to board/native/rootfs/etc/mdev.conf diff --git a/board/common/rootfs/etc/motd b/board/native/rootfs/etc/motd similarity index 100% rename from board/common/rootfs/etc/motd rename to board/native/rootfs/etc/motd diff --git a/board/common/rootfs/etc/network/interfaces b/board/native/rootfs/etc/network/interfaces similarity index 100% rename from board/common/rootfs/etc/network/interfaces rename to board/native/rootfs/etc/network/interfaces diff --git a/board/common/rootfs/etc/network/interfaces.d/.empty b/board/native/rootfs/etc/network/interfaces.d/.empty similarity index 100% rename from board/common/rootfs/etc/network/interfaces.d/.empty rename to board/native/rootfs/etc/network/interfaces.d/.empty diff --git a/board/native/rootfs/etc/network/interfaces.d/eth0 b/board/native/rootfs/etc/network/interfaces.d/eth0 new file mode 100644 index 00000000..030e443c --- /dev/null +++ b/board/native/rootfs/etc/network/interfaces.d/eth0 @@ -0,0 +1,3 @@ +auto eth0 +iface eth0 inet dhcp + pre-up ip link set eth0 group iface diff --git a/board/common/rootfs/etc/rc.local b/board/native/rootfs/etc/rc.local similarity index 100% rename from board/common/rootfs/etc/rc.local rename to board/native/rootfs/etc/rc.local diff --git a/board/native/rootfs/lib/infix/use-etc b/board/native/rootfs/lib/infix/use-etc new file mode 100755 index 00000000..039e4d00 --- /dev/null +++ b/board/native/rootfs/lib/infix/use-etc @@ -0,0 +1,2 @@ +#!/bin/sh +exit 0 diff --git a/configs/amd64_minimal_defconfig b/configs/amd64_minimal_defconfig new file mode 100644 index 00000000..d6d4055b --- /dev/null +++ b/configs/amd64_minimal_defconfig @@ -0,0 +1,111 @@ +BR2_x86_64=y +BR2_x86_corei7=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY=y +BR2_DL_DIR="${BR2_EXTERNAL_INFIX_PATH}/dl" +BR2_CCACHE=y +BR2_CCACHE_DIR="${BR2_EXTERNAL_INFIX_PATH}/.ccache" +BR2_GLOBAL_PATCH_DIR="${BR2_EXTERNAL_INFIX_PATH}/patches" +BR2_TARGET_GENERIC_HOSTNAME="infix" +BR2_TARGET_GENERIC_ISSUE="Infix by KernelKit" +BR2_INIT_FINIT=y +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y +BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt ${BR2_EXTERNAL_INFIX_PATH}/board/common/xattrs" +BR2_TARGET_GENERIC_GETTY_TERM="linux" +BR2_SYSTEM_DHCP="eth0" +BR2_ENABLE_LOCALE_WHITELIST="C en_US en_CA" +BR2_GENERATE_LOCALE="en_US en_CA" +BR2_TARGET_TZ_INFO=y +BR2_ROOTFS_USERS_TABLES="${BR2_EXTERNAL_INFIX_PATH}/board/common/users" +BR2_ROOTFS_OVERLAY="${BR2_EXTERNAL_INFIX_PATH}/board/common/rootfs ${BR2_EXTERNAL_INFIX_PATH}/board/native/rootfs ${BR2_EXTERNAL_INFIX_PATH}/board/amd64/rootfs" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/qemu/x86_64/post-build.sh ${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh ${BR2_EXTERNAL_INFIX_PATH}/board/common/post-build.sh ${BR2_EXTERNAL_INFIX_PATH}/board/native/post-build.sh" +BR2_ROOTFS_POST_IMAGE_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-image.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19.17" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/amd64/linux_defconfig" +BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y +BR2_PACKAGE_BUSYBOX_CONFIG="${BR2_EXTERNAL_INFIX_PATH}/board/common/busybox_defconfig" +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_JQ=y +BR2_PACKAGE_RNG_TOOLS=y +BR2_PACKAGE_UBOOT_TOOLS=y +BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT=y +BR2_PACKAGE_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y +BR2_PACKAGE_UBOOT_TOOLS_FIT_CHECK_SIGN=y +BR2_PACKAGE_LIBCURL_CURL=y +BR2_PACKAGE_NSS_MDNS=y +BR2_PACKAGE_ONIGURUMA=y +BR2_PACKAGE_AVAHI=y +# BR2_PACKAGE_AVAHI_AUTOIPD is not set +BR2_PACKAGE_AVAHI_DAEMON=y +BR2_PACKAGE_AVAHI_DEFAULT_SERVICES=y +BR2_PACKAGE_DHCPCD=y +BR2_PACKAGE_DNSMASQ=y +BR2_PACKAGE_DROPBEAR=y +BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS=y +BR2_PACKAGE_DROPBEAR_WTMP=y +BR2_PACKAGE_DROPBEAR_LASTLOG=y +BR2_PACKAGE_DROPBEAR_LEGACY_CRYPTO=y +BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_FPING=y +# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set +BR2_PACKAGE_IPROUTE2=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_IPTABLES_NFTABLES=y +BR2_PACKAGE_LLDPD=y +BR2_PACKAGE_LYNX=y +BR2_PACKAGE_MTR=y +BR2_PACKAGE_NETCALC=y +BR2_PACKAGE_NFTABLES=y +BR2_PACKAGE_NMAP=y +BR2_PACKAGE_NMAP_NMAP=y +BR2_PACKAGE_NMAP_NPING=y +BR2_PACKAGE_OPENRESOLV=y +BR2_PACKAGE_SOCAT=y +BR2_PACKAGE_SSDP_RESPONDER=y +BR2_PACKAGE_TCPDUMP=y +BR2_PACKAGE_TRACEROUTE=y +BR2_PACKAGE_PDMENU=y +BR2_PACKAGE_KMOD=y +BR2_PACKAGE_PWGEN=y +BR2_PACKAGE_RAUC=y +BR2_PACKAGE_RAUC_GPT=y +BR2_PACKAGE_RAUC_NETWORK=y +BR2_PACKAGE_SYSKLOGD=y +BR2_PACKAGE_SYSKLOGD_LOGGER=y +BR2_PACKAGE_WATCHDOGD=y +BR2_PACKAGE_MG=y +BR2_PACKAGE_MOST=y +BR2_PACKAGE_NANO=y +BR2_TARGET_ROOTFS_SQUASHFS=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_EDK2=y +BR2_TARGET_GRUB2=y +BR2_TARGET_GRUB2_X86_64_EFI=y +BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_gpt normal efi_gop configfile loadenv test terminfo terminal echo" +BR2_TARGET_GRUB2_BUILTIN_CONFIG_EFI="${BR2_EXTERNAL_INFIX_PATH}/board/amd64/grub-embed.cfg" +BR2_TARGET_GRUB2_INSTALL_TOOLS=y +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_E2FSPROGS=y +BR2_PACKAGE_HOST_ENVIRONMENT_SETUP=y +BR2_PACKAGE_HOST_GENEXT2FS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y +BR2_PACKAGE_HOST_RAUC=y +BR2_PACKAGE_HOST_UBOOT_TOOLS=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y +BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y +BR2_PACKAGE_FACTORY=y +BR2_PACKAGE_FINIT_SULOGIN=y +BR2_PACKAGE_FINIT_PLUGIN_HOTPLUG=y +BR2_PACKAGE_FINIT_PLUGIN_HOOK_SCRIPTS=y +BR2_PACKAGE_FINIT_PLUGIN_MODULES_LOAD=y +BR2_PACKAGE_FINIT_PLUGIN_MODPROBE=y +BR2_PACKAGE_FINIT_PLUGIN_RTC=y +BR2_PACKAGE_FINIT_PLUGIN_TTY=y +BR2_PACKAGE_FINIT_PLUGIN_URANDOM=y +BR2_PACKAGE_IFUPDOWN_NG=y +BR2_PACKAGE_TETRIS=y