diff options
33 files changed, 180 insertions, 56 deletions
diff --git a/mk/build.mk b/mk/build.mk index aae4ffeca..89c7303bf 100644 --- a/mk/build.mk +++ b/mk/build.mk @@ -101,6 +101,12 @@ POSTCONFIG= -@\ rebuild=1;\ fi; \ done; \ + for i in ADK_TARGET_DUAL_BOOT ADK_TARGET_QEMU_WITH_GRAPHIC;do \ + if [ "$$(grep ^$$i .config|md5sum)" != "$$(grep ^$$i .config.old|md5sum)" ];then \ + touch .rebuild.grub;\ + rebuild=1;\ + fi; \ + done; \ for i in ADK_TARGET_GPU_MEM ADK_LINUX_KERNEL_SND_BCM2708;do \ if [ "$$(grep ^$$i .config|md5sum)" != "$$(grep ^$$i .config.old|md5sum)" ];then \ touch .rebuild.bcm28xx-bootloader;\ diff --git a/mk/image.mk b/mk/image.mk index 364b80db3..8459c5f90 100644 --- a/mk/image.mk +++ b/mk/image.mk @@ -347,7 +347,7 @@ ${FW_DIR}/${GENIMAGE}: ${TARGET_DIR} kernel-package mkdir -p $(TARGET_DIR)/boot/extlinux $(CP) $(EXTLINUX) $(TARGET_DIR)/boot/extlinux $(CP) $(FW_DIR)/kernel $(TARGET_DIR)/boot - -$(CP) $(FW_DIR)/*.dtb $(TARGET_DIR)/boot + -$(CP) $(FW_DIR)/*.dtb $(TARGET_DIR)/boot 2>/dev/null ifeq ($(ADK_RUNTIME_FIX_PERMISSION),y) echo '#!/bin/sh' > $(ADK_TOPDIR)/scripts/fakeroot.sh echo "chown -R 0:0 $(TARGET_DIR)" >> $(ADK_TOPDIR)/scripts/fakeroot.sh @@ -359,7 +359,7 @@ ifeq ($(ADK_RUNTIME_FIX_PERMISSION),y) endif ifeq ($(ADK_TARGET_DUAL_BOOT),y) $(CP) $(FW_DIR)/kernel $(TARGET_DIR) - -$(CP) $(FW_DIR)/*.dtb $(TARGET_DIR) + -$(CP) $(FW_DIR)/*.dtb $(TARGET_DIR) 2>/dev/null mkdir $(TARGET_DIR)/extlinux $(CP) $(EXTLINUX) $(TARGET_DIR)/extlinux $(SED) "s#root=.*#root=/dev/$(ADK_TARGET_ROOTDEV)p1#" $(TARGET_DIR)/extlinux/extlinux.conf @@ -393,10 +393,10 @@ endif ifeq ($(ADK_TARGET_DUAL_BOOT),y) (cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | sort | \ PATH='${HOST_PATH}' $(CPIO) -o --quiet -Hustar --owner=0:0 | \ - ${GZIP} -c > ${FW_DIR}/openadk.tar.gz) + gzip -c > ${FW_DIR}/openadk.tar.gz) (cd ${FW_DIR}; PATH='${HOST_PATH}' sha256sum openadk.tar.gz \ | cut -d\ -f1 > sha256.txt) - (cd ${FW_DIR}; PATH='${HOST_PATH}' tar -cf ${ADK_TARGET_SYSTEM}-update.tar openadk.tar.gzip sha256.txt) + (cd ${FW_DIR}; PATH='${HOST_PATH}' tar -cf ${ADK_TARGET_SYSTEM}-update.tar openadk.tar.gz sha256.txt) @rm -rf ${FW_DIR}/temp endif ifeq ($(ADK_PACKAGE_GRUB_EFI_X86)$(ADK_PACKAGE_GRUB_EFI_X86_64),y) diff --git a/package/arm-trusted-firmware/Makefile b/package/arm-trusted-firmware/Makefile index 10bb72a25..17f59c444 100644 --- a/package/arm-trusted-firmware/Makefile +++ b/package/arm-trusted-firmware/Makefile @@ -11,6 +11,8 @@ PKG_DESCR:= ARM Trusted Firmware PKG_SECTION:= base/boot PKG_SITES:= https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git +PKG_ARCH_DEPENDS:= arm + include $(ADK_TOPDIR)/mk/package.mk $(eval $(call PKG_template,ARM_TRUSTED_FIRMWARE,arm-trusted-firmware,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION))) diff --git a/package/busybox/Makefile b/package/busybox/Makefile index 78b76ead5..c50e4af11 100644 --- a/package/busybox/Makefile +++ b/package/busybox/Makefile @@ -4,9 +4,9 @@ include $(ADK_TOPDIR)/rules.mk PKG_NAME:= busybox -PKG_VERSION:= 1.36.1 +PKG_VERSION:= 1.37.0 PKG_RELEASE:= 1 -PKG_HASH:= b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314 +PKG_HASH:= 3311dff32e746499f4df0d5df04d7eb396382d7e108bb9250e7b519b837043a4 PKG_DESCR:= core utilities for embedded systems PKG_SECTION:= base/apps PKG_URL:= http://www.busybox.net/ diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in index d5cbed6a5..573c55f8c 100644 --- a/package/busybox/config/Config.in +++ b/package/busybox/config/Config.in @@ -108,6 +108,17 @@ config BUSYBOX_LFS programs that can benefit from large file support include dd, gzip, cp, mount, tar. +config BUSYBOX_TIME64 + bool "Support 64bit wide time types" + default y + depends on BUSYBOX_LFS + help + Make times later than 2038 representable for several libc syscalls + (stat, clk_gettime etc.). Note this switch is specific to glibc + and has no effect on platforms that already use 64bit wide time types + (i.e. all 64bit archs and some selected 32bit archs (currently riscv + and x32)). + config BUSYBOX_PAM bool "Support PAM (Pluggable Authentication Modules)" default n diff --git a/package/busybox/config/findutils/Config.in b/package/busybox/config/findutils/Config.in index d4aa403a5..ff1f5ed0c 100644 --- a/package/busybox/config/findutils/Config.in +++ b/package/busybox/config/findutils/Config.in @@ -136,6 +136,13 @@ config BUSYBOX_FEATURE_FIND_EXEC_PLUS Without this option, -exec + is a synonym for -exec ; (IOW: it works correctly, but without expected speedup) +config BUSYBOX_FEATURE_FIND_EXEC_OK + bool "Enable -ok: execute confirmed commands" + default y + depends on BUSYBOX_FEATURE_FIND_EXEC + help + Support the 'find -ok' option which prompts before executing. + config BUSYBOX_FEATURE_FIND_USER bool "Enable -user: username/uid matching" default y diff --git a/package/busybox/config/miscutils/Config.in b/package/busybox/config/miscutils/Config.in index 82aeff339..612d270e1 100644 --- a/package/busybox/config/miscutils/Config.in +++ b/package/busybox/config/miscutils/Config.in @@ -380,6 +380,11 @@ config BUSYBOX_FLASHCP help The flashcp binary, inspired by mtd-utils as of git head 5eceb74f7. This utility is used to copy images into a MTD device. +config BUSYBOX_GETFATTR + bool "getfattr (12.3 kb)" + default y + help + Get extended attributes on files config BUSYBOX_HDPARM bool "hdparm (25 kb)" default y diff --git a/package/busybox/config/networking/Config.in b/package/busybox/config/networking/Config.in index 5e0ea5819..028fbdba6 100644 --- a/package/busybox/config/networking/Config.in +++ b/package/busybox/config/networking/Config.in @@ -582,6 +582,12 @@ config BUSYBOX_IPLINK help Short form of "ip link" +config BUSYBOX_FEATURE_IP_LINK_CAN + bool "ip link set type can" + default y + help + Configure CAN devices with "ip". + config BUSYBOX_IPROUTE bool "iproute (15 kb)" default y diff --git a/package/busybox/config/networking/udhcp/Config.in b/package/busybox/config/networking/udhcp/Config.in index 111e6b5f5..9018780aa 100644 --- a/package/busybox/config/networking/udhcp/Config.in +++ b/package/busybox/config/networking/udhcp/Config.in @@ -11,6 +11,13 @@ config BUSYBOX_UDHCPD udhcpd is a DHCP server geared primarily toward embedded systems, while striving to be fully functional and RFC compliant. +config BUSYBOX_FEATURE_UDHCPD_BOOTP + bool "Answer to BOOTP requests as well" + default y + depends on BUSYBOX_UDHCPD + help + Support old BOOTP protocol too. + config BUSYBOX_FEATURE_UDHCPD_BASE_IP_ON_MAC bool "Select IP address based on client MAC" default n diff --git a/package/busybox/config/shell/Config.in b/package/busybox/config/shell/Config.in index 6ffa3b2b0..b26195889 100644 --- a/package/busybox/config/shell/Config.in +++ b/package/busybox/config/shell/Config.in @@ -201,11 +201,6 @@ config BUSYBOX_ASH_TEST default y depends on BUSYBOX_SHELL_ASH -config BUSYBOX_ASH_SLEEP - bool "sleep builtin" - default y - depends on BUSYBOX_SHELL_ASH - config BUSYBOX_ASH_HELP bool "help builtin" default y diff --git a/package/busybox/patches/004-libbb-sha-add-missing-guard.patch b/package/busybox/patches/004-libbb-sha-add-missing-guard.patch new file mode 100644 index 000000000..ec41ba73a --- /dev/null +++ b/package/busybox/patches/004-libbb-sha-add-missing-guard.patch @@ -0,0 +1,17 @@ +diff --git a/libbb/hash_md5_sha.c b/libbb/hash_md5_sha.c +index 57a801459..75a61c32c 100644 +--- a/libbb/hash_md5_sha.c ++++ b/libbb/hash_md5_sha.c +@@ -1313,7 +1313,9 @@ unsigned FAST_FUNC sha1_end(sha1_ctx_t *ctx, void *resbuf) + hash_size = 8; + if (ctx->process_block == sha1_process_block64 + #if ENABLE_SHA1_HWACCEL ++# if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) + || ctx->process_block == sha1_process_block64_shaNI ++# endif + #endif + ) { + hash_size = 5; +-- +2.48.1 + diff --git a/package/gnutls/Makefile b/package/gnutls/Makefile index b93c9f15d..1c32b7979 100644 --- a/package/gnutls/Makefile +++ b/package/gnutls/Makefile @@ -12,6 +12,7 @@ PKG_SECTION:= libs/crypto PKG_DEPENDS:= libgcrypt libtasn1 zlib libnettle libgmp libunistring PKG_BUILDDEP:= libgcrypt liblzo libtasn1 PKG_BUILDDEP+= zlib ncurses libnettle libunistring +HOST_BUILDDEP:= libnettle-host libtasn1-host libunistring-host PKG_URL:= http://www.gnutls.org/ PKG_SITES:= https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/ PKG_LIBNAME:= libgnutls @@ -27,8 +28,10 @@ PKG_FLAVOURS_LIBGNUTLS:=WITH_CRYPTODEV PKGFD_WITH_CRYPTODEV:= enable support for cryptodev-linux PKGFB_WITH_CRYPTODEV:= cryptodev-linux +include ${ADK_TOPDIR}/mk/host.mk include $(ADK_TOPDIR)/mk/package.mk +$(eval $(call HOST_template,LIBGNUTLS,libgnutls,${PKG_VERSION}-${PKG_RELEASE})) $(eval $(call PKG_template,LIBGNUTLS,libgnutls,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKGSC_LIBGNUTLS),$(PKG_OPTS))) $(eval $(call PKG_template,GNUTLS_UTILS,gnutls-utils,$(PKG_VERSION)-$(PKG_RELEASE),$(PKGSS_GNUTLS_UTILS),$(PKGSD_GNUTLS_UTILS),$(PKGSC_GNUTLS_UTILS))) @@ -37,6 +40,10 @@ CONFIGURE_ARGS+= --enable-cryptodev endif TARGET_LDFLAGS+= -pthread +HOST_CONFIGURE_ARGS+= --without-p11-kit \ + --disable-seccomp-tests \ + --disable-tests \ + --disable-doc CONFIGURE_ARGS+= --disable-rpath \ --disable-doc \ --disable-tests \ @@ -54,4 +61,5 @@ gnutls-utils-install: $(CP) $(WRKINST)/usr/bin/{{cert,psk}tool,gnutls-{cli,serv}} \ $(IDIR_GNUTLS_UTILS)/usr/bin +include ${ADK_TOPDIR}/mk/host-bottom.mk include $(ADK_TOPDIR)/mk/pkg-bottom.mk diff --git a/package/grub/Makefile b/package/grub/Makefile index d37472b8c..3d7f8d868 100644 --- a/package/grub/Makefile +++ b/package/grub/Makefile @@ -66,6 +66,11 @@ GRUB_PREFIX= (hd0,msdos1)/boot/grub GRUB_TARGET= i386 GRUB_PLATFORM= pc GRUB_MODULES= boot linux ext2 fat part_msdos part_gpt normal biosdisk +ifeq ($(ADK_TARGET_QEMU_WITH_GRAPHIC),y) +GRUB_CFG= grub-pc-vga.cfg +else +GRUB_CFG= grub-pc-serial.cfg +endif endif ifeq ($(ADK_PACKAGE_GRUB_EFI_X86),y) @@ -77,6 +82,11 @@ GRUB_PREFIX= /EFI/BOOT GRUB_TARGET= i386 GRUB_PLATFORM= efi GRUB_MODULES= boot linux ext2 fat part_msdos part_gpt normal efi_gop +ifeq ($(ADK_TARGET_DUAL_BOOT),y) +GRUB_CFG= grub-efi-serial-dual.cfg +else +GRUB_CFG= grub-efi-serial.cfg +endif endif ifeq ($(ADK_PACKAGE_GRUB_EFI_X86_64),y) @@ -88,15 +98,10 @@ GRUB_PREFIX= /EFI/BOOT GRUB_TARGET= x86_64 GRUB_PLATFORM= efi GRUB_MODULES= boot linux ext2 fat part_msdos part_gpt normal efi_gop -endif - ifeq ($(ADK_TARGET_DUAL_BOOT),y) -GRUB_CFG= grub-dual.cfg -else -ifeq ($(ADK_TARGET_QEMU_WITH_GRAPHIC),y) -GRUB_CFG= grub-pc-vga.cfg +GRUB_CFG= grub-efi-dual-serial.cfg else -GRUB_CFG= grub.cfg +GRUB_CFG= grub-efi-serial.cfg endif endif diff --git a/package/grub/files/grub-dual.cfg b/package/grub/files/grub-efi-dual-serial.cfg index 46b5451ad..fde844e09 100644 --- a/package/grub/files/grub-dual.cfg +++ b/package/grub/files/grub-efi-dual-serial.cfg @@ -1,13 +1,17 @@ +serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1 +terminal_input serial +terminal_output serial + if [ "x\${timeout}" != "x-1" ]; then if keystatus; then if keystatus --shift; then set timeout=-1 else - set timeout=0 + set timeout=2 fi else if sleep --interruptible 2; then - set timeout=0 + set timeout=2 fi fi fi diff --git a/package/grub/files/grub.cfg b/package/grub/files/grub-efi-serial.cfg index 3fdc48eda..3fdc48eda 100644 --- a/package/grub/files/grub.cfg +++ b/package/grub/files/grub-efi-serial.cfg diff --git a/package/grub/files/grub-pc-serial.cfg b/package/grub/files/grub-pc-serial.cfg new file mode 100644 index 000000000..d48b82c45 --- /dev/null +++ b/package/grub/files/grub-pc-serial.cfg @@ -0,0 +1,14 @@ +serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1 +terminal_input serial +terminal_output serial + +set default=0 +set timeout=3 + +menuentry "OpenADK" { + insmod msdospart + insmod ext2 + set root='hd0,1' + echo "Loading OpenADK" + linux /boot/kernel rootfstype=ext4 rootwait panic=10 +} diff --git a/package/grub/files/grub-pc-vga.cfg b/package/grub/files/grub-pc-vga.cfg index b0259ddb3..8200624d6 100644 --- a/package/grub/files/grub-pc-vga.cfg +++ b/package/grub/files/grub-pc-vga.cfg @@ -6,5 +6,5 @@ menuentry "OpenADK" { insmod ext2 set root='hd0,1' echo "Loading OpenADK" - linux /boot/kernel root=/dev/sda1 rootfstype=ext4 rootwait panic=10 + linux /boot/kernel console=tty0 rootfstype=ext4 rootwait panic=10 } diff --git a/package/libnettle/Makefile b/package/libnettle/Makefile index c9d3f38e1..9eb763d9e 100644 --- a/package/libnettle/Makefile +++ b/package/libnettle/Makefile @@ -18,8 +18,10 @@ PKG_OPTS:= dev DISTFILES:= nettle-${PKG_VERSION}.tar.gz WRKDIST= ${WRKDIR}/nettle-${PKG_VERSION} +include $(ADK_TOPDIR)/mk/host.mk include $(ADK_TOPDIR)/mk/package.mk +$(eval $(call HOST_template,LIBNETTLE,libnettle,${PKG_VERSION}-${PKG_RELEASE})) $(eval $(call PKG_template,LIBNETTLE,libnettle,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) CONFIGURE_ARGS+= --disable-documentation @@ -31,4 +33,5 @@ libnettle-install: $(CP) $(WRKINST)/usr/lib/libhogweed.so* \ $(IDIR_LIBNETTLE)/usr/lib +include ${ADK_TOPDIR}/mk/host-bottom.mk include ${ADK_TOPDIR}/mk/pkg-bottom.mk diff --git a/package/libtasn1/Makefile b/package/libtasn1/Makefile index e91f75001..7cf62dc53 100644 --- a/package/libtasn1/Makefile +++ b/package/libtasn1/Makefile @@ -15,8 +15,10 @@ PKG_OPTS:= dev DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz +include $(ADK_TOPDIR)/mk/host.mk include $(ADK_TOPDIR)/mk/package.mk +$(eval $(call HOST_template,LIBTASN1,libtasn1,${PKG_VERSION}-${PKG_RELEASE})) $(eval $(call PKG_template,LIBTASN1,libtasn1,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS))) CONFIGURE_ARGS+= --disable-gtk-doc-html \ @@ -26,4 +28,5 @@ libtasn1-install: $(INSTALL_DIR) $(IDIR_LIBTASN1)/usr/lib $(CP) $(WRKINST)/usr/lib/libtasn1.so* $(IDIR_LIBTASN1)/usr/lib +include ${ADK_TOPDIR}/mk/host-bottom.mk include $(ADK_TOPDIR)/mk/pkg-bottom.mk diff --git a/package/libunistring/Makefile b/package/libunistring/Makefile index 46b83438a..a6ea2f4b2 100755 --- a/package/libunistring/Makefile +++ b/package/libunistring/Makefile @@ -13,12 +13,15 @@ PKG_URL:= http://www.gnu.org/software/libunistring/ PKG_SITES:= ${MASTER_SITE_GNU:=libunistring/} PKG_OPTS:= dev +include $(ADK_TOPDIR)/mk/host.mk include ${ADK_TOPDIR}/mk/package.mk +$(eval $(call HOST_template,LIBUNISTRING,libunistring,${PKG_VERSION}-${PKG_RELEASE})) $(eval $(call PKG_template,LIBUNISTRING,libunistring,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) libunistring-install: ${INSTALL_DIR} ${IDIR_LIBUNISTRING}/usr/lib ${CP} ${WRKINST}/usr/lib/libunistring.so* ${IDIR_LIBUNISTRING}/usr/lib +include ${ADK_TOPDIR}/mk/host-bottom.mk include ${ADK_TOPDIR}/mk/pkg-bottom.mk diff --git a/package/u-boot/Makefile b/package/u-boot/Makefile index ba64d7356..bf97764b2 100644 --- a/package/u-boot/Makefile +++ b/package/u-boot/Makefile @@ -9,7 +9,7 @@ PKG_RELEASE:= 1 PKG_HASH:= f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f PKG_DESCR:= portable bootloader PKG_SECTION:= base/boot -HOST_BUILDDEP:= openssl-host dtc-host swig-host python3-host python-setuptools-host +HOST_BUILDDEP:= gnutls-host openssl-host dtc-host swig-host python3-host python-setuptools-host PKG_BUILDDEP:= python3-host python-setuptools-host swig-host u-boot-host PKG_URL:= http://www.denx.de/wiki/U-Boot PKG_SITES:= ftp://ftp.denx.de/pub/u-boot/ diff --git a/package/u-boot/patches/patch-tools_Makefile b/package/u-boot/patches/patch-tools_Makefile deleted file mode 100644 index fc284ad58..000000000 --- a/package/u-boot/patches/patch-tools_Makefile +++ /dev/null @@ -1,11 +0,0 @@ ---- u-boot-2024.01.orig/tools/Makefile 2024-01-08 16:37:48.000000000 +0100 -+++ u-boot-2024.01/tools/Makefile 2024-01-17 17:56:21.004096375 +0100 -@@ -250,7 +250,7 @@ HOSTLDLIBS_mkeficapsule += \ - $(shell pkg-config --libs gnutls 2> /dev/null || echo "-lgnutls") - HOSTLDLIBS_mkeficapsule += \ - $(shell pkg-config --libs uuid 2> /dev/null || echo "-luuid") --hostprogs-$(CONFIG_TOOLS_MKEFICAPSULE) += mkeficapsule -+#hostprogs-$(CONFIG_TOOLS_MKEFICAPSULE) += mkeficapsule - - mkfwumdata-objs := mkfwumdata.o generated/lib/crc32.o - HOSTLDLIBS_mkfwumdata += -luuid diff --git a/package/yaboot/Makefile b/package/yaboot/Makefile index 48ddcdba8..573440bc0 100644 --- a/package/yaboot/Makefile +++ b/package/yaboot/Makefile @@ -13,6 +13,8 @@ PKG_BUILDDEP:= e2fsprogs PKG_URL:= http://yaboot.ozlabs.org/ PKG_SITES:= http://yaboot.ozlabs.org/releases/ +PKG_ARCH_DEPENDS:= ppc + DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz include $(ADK_TOPDIR)/mk/package.mk diff --git a/scripts/create.sh b/scripts/create.sh index cc0099b4d..7ca6b3a3b 100755 --- a/scripts/create.sh +++ b/scripts/create.sh @@ -2,7 +2,7 @@ #- # Copyright © 2010, 2011, 2012 # Thorsten Glaser <tg@mirbsd.org> -# Copyright © 2010-2024 +# Copyright © 2010-2025 # Waldemar Brodkorb <wbx@openadk.org> # # Provided that these terms and disclaimer and all copyright notices @@ -152,7 +152,7 @@ else fi if (( usegrub )); then - tar -xOJf "$src" boot/grub/core.img >"$T/core.img" + tar -xOzf "$src" boot/grub/core.img >"$T/core.img" integer coreimgsz=$($statcmd "$T/core.img") if (( coreimgsz < 1024 )); then print -u2 core.img is probably too small: $coreimgsz diff --git a/target/config/Config.in.qemuopts b/target/config/Config.in.qemuopts index 78c608b49..df7128efa 100644 --- a/target/config/Config.in.qemuopts +++ b/target/config/Config.in.qemuopts @@ -95,20 +95,8 @@ endchoice choice prompt "Qemu Emulation using VirtIO drivers" depends on ADK_TARGET_SYSTEM_QEMU_SPARC64 || \ - ADK_TARGET_SYSTEM_QEMU_AARCH64 || \ - ADK_TARGET_SYSTEM_QEMU_ARC || \ - ADK_TARGET_SYSTEM_QEMU_CSKY || \ - ADK_TARGET_SYSTEM_QEMU_M68K_VIRT || \ - ADK_TARGET_SYSTEM_QEMU_RISCV32 || \ - ADK_TARGET_SYSTEM_QEMU_RISCV64 || \ ADK_TARGET_SYSTEM_QEMU_X86 || \ ADK_TARGET_SYSTEM_QEMU_X86_64 -default ADK_TARGET_QEMU_WITH_VIRTIO if ADK_TARGET_SYSTEM_QEMU_AARCH64 -default ADK_TARGET_QEMU_WITH_VIRTIO if ADK_TARGET_SYSTEM_QEMU_ARC -default ADK_TARGET_QEMU_WITH_VIRTIO if ADK_TARGET_SYSTEM_QEMU_CSKY -default ADK_TARGET_QEMU_WITH_VIRTIO if ADK_TARGET_SYSTEM_QEMU_RISCV32 -default ADK_TARGET_QEMU_WITH_VIRTIO if ADK_TARGET_SYSTEM_QEMU_RISCV64 -default ADK_TARGET_QEMU_WITH_VIRTIO if ADK_TARGET_SYSTEM_QEMU_M68K_VIRT config ADK_TARGET_QEMU_WITHOUT_VIRTIO bool "disabled" diff --git a/target/linux/config/Config.in.kernel b/target/linux/config/Config.in.kernel index e2b619926..eb9c66abb 100644 --- a/target/linux/config/Config.in.kernel +++ b/target/linux/config/Config.in.kernel @@ -294,7 +294,7 @@ config ADK_LINUX_KERNEL_NET_NS default n config ADK_LINUX_KERNEL_TIME_NS - bool "Network namespace" + bool "Time namespace" select ADK_LINUX_KERNEL_NAMESPACES select ADK_LINUX_KERNEL_GENERIC_VDSO_TIME_NS default n diff --git a/target/linux/config/Config.in.virtio b/target/linux/config/Config.in.virtio index 526e2920e..053b2465c 100644 --- a/target/linux/config/Config.in.virtio +++ b/target/linux/config/Config.in.virtio @@ -10,9 +10,6 @@ config ADK_LINUX_KERNEL_VIRTIO_MENU config ADK_LINUX_KERNEL_VIRTIO bool -config ADK_LINUX_KERNEL_VIRTIO_CONSOLE - bool - config ADK_LINUX_KERNEL_VIRTIO_PCI_LEGACY bool @@ -22,6 +19,20 @@ config ADK_LINUX_KERNEL_VIRTIO_PCI config ADK_LINUX_KERNEL_VIRTIO_MMIO bool +config ADK_LINUX_KERNEL_VIRTIO_CONSOLE + bool "Virtio console driver" + select ADK_LINUX_KERNEL_VIRTIO + default y if ADK_TARGET_SYSTEM_QEMU_AARCH64 + default y if ADK_TARGET_SYSTEM_QEMU_ARC + default y if ADK_TARGET_SYSTEM_QEMU_CSKY + default y if ADK_TARGET_SYSTEM_QEMU_M68K_VIRT + default y if ADK_TARGET_SYSTEM_QEMU_RISCV32 + default y if ADK_TARGET_SYSTEM_QEMU_RISCV64 + default y if ADK_TARGET_SYSTEM_QEMU_S390 + default n + help + Enables support for Virtio console driver. + config ADK_LINUX_KERNEL_VIRTIO_NET tristate "Virtio net driver" select ADK_LINUX_KERNEL_VIRTIO @@ -29,6 +40,12 @@ config ADK_LINUX_KERNEL_VIRTIO_NET select ADK_LINUX_KERNEL_VIRTIO_MMIO select ADK_LINUX_KERNEL_VIRTIO_PCI select ADK_LINUX_KERNEL_VIRTIO_PCI_LEGACY + default y if ADK_TARGET_SYSTEM_QEMU_AARCH64 + default y if ADK_TARGET_SYSTEM_QEMU_ARC + default y if ADK_TARGET_SYSTEM_QEMU_CSKY + default y if ADK_TARGET_SYSTEM_QEMU_M68K_VIRT + default y if ADK_TARGET_SYSTEM_QEMU_RISCV32 + default y if ADK_TARGET_SYSTEM_QEMU_RISCV64 default y if ADK_TARGET_SYSTEM_QEMU_S390 default n help @@ -42,6 +59,13 @@ config ADK_LINUX_KERNEL_VIRTIO_BLK select ADK_LINUX_KERNEL_VIRTIO_PCI_LEGACY select ADK_LINUX_KERNEL_VIRTIO_MMIO select ADK_LINUX_KERNEL_BLK_DEV + default y if ADK_TARGET_SYSTEM_QEMU_AARCH64 + default y if ADK_TARGET_SYSTEM_QEMU_ARC + default y if ADK_TARGET_SYSTEM_QEMU_CSKY + default y if ADK_TARGET_SYSTEM_QEMU_M68K_VIRT + default y if ADK_TARGET_SYSTEM_QEMU_RISCV32 + default y if ADK_TARGET_SYSTEM_QEMU_RISCV64 + default y if ADK_TARGET_SYSTEM_QEMU_S390 default n help Enables support for Virtio Block driver. diff --git a/target/x86/Makefile b/target/x86/Makefile index b9bbc72a3..d2283400c 100644 --- a/target/x86/Makefile +++ b/target/x86/Makefile @@ -10,7 +10,13 @@ KERNEL:=$(LINUX_DIR)/arch/x86/boot/bzImage QEMU_ARCH:=i386 QEMU_ARGS:=-M pc QEMU_ARGS+=${ADK_QEMU_ARGS} + +ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y) +QEMU_ARGS+=-net nic,model=virtio -net user +QEMU_ARGS+=-drive file=qemu-${ADK_TARGET_CPU_ARCH}.img,if=virtio +else QEMU_ARGS+=-net user -net nic,model=e1000 +endif ifeq ($(ADK_PACKAGE_GRUB_EFI_X86),y) QEMU_ARGS+=-L . -bios bios-x86.bin @@ -40,7 +46,11 @@ ifeq ($(ADK_TARGET_QEMU),y) @echo "$(CREATE) qemu-${ADK_TARGET_CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)" @echo "Start qemu with following options:" ifeq ($(ADK_TARGET_QEMU_WITH_BOOTLOADER),y) +ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y) + @echo 'qemu-system-${QEMU_ARCH} ${QEMU_ARGS}' +else @echo 'qemu-system-${QEMU_ARCH} ${QEMU_ARGS} qemu-${ADK_TARGET_CPU_ARCH}.img' +endif else @echo 'qemu-system-${QEMU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${ADK_TARGET_CPU_ARCH}.img' endif diff --git a/target/x86/kernel/qemu-x86 b/target/x86/kernel/qemu-x86 index 1049b23d8..bb28f8ec4 100644 --- a/target/x86/kernel/qemu-x86 +++ b/target/x86/kernel/qemu-x86 @@ -1,3 +1,4 @@ CONFIG_X86=y CONFIG_X86_32=y CONFIG_CMDLINE_BOOL=y +CONFIG_CMDLINE_OVERRIDE=y diff --git a/target/x86_64/Makefile b/target/x86_64/Makefile index 2c5bcd253..221311091 100644 --- a/target/x86_64/Makefile +++ b/target/x86_64/Makefile @@ -10,11 +10,19 @@ KERNEL:=$(LINUX_DIR)/arch/x86/boot/bzImage QEMU_ARCH:=x86_64 QEMU_ARGS:=-M pc -m 256 +QEMU_ARGS+=${ADK_QEMU_ARGS} + ifeq ($(ADK_PACKAGE_GRUB_EFI_X86_64),y) QEMU_ARGS+=-L . -bios bios-x86_64.bin endif -QEMU_ARGS+=${ADK_QEMU_ARGS} + +ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y) +QEMU_ARGS+=-net nic,model=virtio -net user +QEMU_ARGS+=-drive file=qemu-${ADK_TARGET_CPU_ARCH}.img,if=virtio +else QEMU_ARGS+=-net user -net nic,model=e1000 +endif + ifeq ($(ADK_TARGET_QEMU_WITH_AUDIO),y) QEMU_ARGS+=-device AC97 endif @@ -39,7 +47,11 @@ ifeq ($(ADK_TARGET_QEMU),y) @echo "$(CREATE) qemu-${ADK_TARGET_CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)" @echo "Start qemu with following options:" ifeq ($(ADK_TARGET_QEMU_WITH_BOOTLOADER),y) +ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y) + @echo 'qemu-system-${QEMU_ARCH} ${QEMU_ARGS}' +else @echo 'qemu-system-${QEMU_ARCH} ${QEMU_ARGS} qemu-${ADK_TARGET_CPU_ARCH}.img' +endif else @echo 'qemu-system-${QEMU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${ADK_TARGET_CPU_ARCH}.img' endif diff --git a/target/x86_64/kernel/qemu-x86_64 b/target/x86_64/kernel/qemu-x86_64 index 9e9c1197f..073a4c7ca 100644 --- a/target/x86_64/kernel/qemu-x86_64 +++ b/target/x86_64/kernel/qemu-x86_64 @@ -11,3 +11,4 @@ CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y CONFIG_AMD_NB=y CONFIG_IA32_EMULATION=y CONFIG_CMDLINE_BOOL=y +CONFIG_CMDLINE_OVERRIDE=y diff --git a/target/x86_64/qemu-x86_64/genimage-dual.cfg b/target/x86_64/qemu-x86_64/genimage-dual.cfg index 647a2bcb5..c9b73170d 100644 --- a/target/x86_64/qemu-x86_64/genimage-dual.cfg +++ b/target/x86_64/qemu-x86_64/genimage-dual.cfg @@ -8,6 +8,7 @@ image disk.img { image = "boot.img" offset = 0 size = 512 + holes = {"(440; 512)"} } partition grub { diff --git a/target/x86_64/qemu-x86_64/genimage-efi-dual.cfg b/target/x86_64/qemu-x86_64/genimage-efi-dual.cfg index ff3cb08d2..247511d57 100644 --- a/target/x86_64/qemu-x86_64/genimage-efi-dual.cfg +++ b/target/x86_64/qemu-x86_64/genimage-efi-dual.cfg @@ -22,14 +22,14 @@ image disk.img { partition root1 { partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a - image = "rootfs.ext" - size = 128M + image = "rootfs1.ext" + size = 64M } partition root2 { partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a - image = "rootfs.ext" - size = 128M + image = "rootfs2.ext" + size = 64M } partition cfgfs { |