diff --git a/boot-qemu.sh b/boot-qemu.sh index 07c30b3..6c2768a 100755 --- a/boot-qemu.sh +++ b/boot-qemu.sh @@ -29,7 +29,7 @@ function parse_parameters() { -a | --arch | --architecture) shift case ${1} in - arm32_v5 | arm32_v6 | arm32_v7 | arm64 | mips | mipsel | ppc32 | ppc64 | ppc64le | x86_64) ARCH=${1} ;; + arm32_v5 | arm32_v6 | arm32_v7 | arm64 | mips | mipsel | ppc32 | ppc64 | ppc64le | x86 | x86_64) ARCH=${1} ;; *) die "Invalid --arch value '${1}'" ;; esac ;; @@ -185,6 +185,13 @@ function setup_qemu_args() { QEMU=(qemu-system-ppc64) ;; + x86) + KIMAGE=bzImage + QEMU_ARCH_ARGS=(-append "console=ttyS0${RDINIT}" -enable-kvm) + QEMU_RAM=512m + QEMU=(qemu-system-i386) + ;; + x86_64) KIMAGE=bzImage QEMU_ARCH_ARGS=(-append "console=ttyS0${RDINIT}") diff --git a/buildroot/rebuild.sh b/buildroot/rebuild.sh index f55311d..d15b536 100755 --- a/buildroot/rebuild.sh +++ b/buildroot/rebuild.sh @@ -32,7 +32,7 @@ CONFIGS=() while ((${#})); do case ${1} in all) for CONFIG in *.config; do CONFIGS+=("../${CONFIG}"); done ;; - arm64 | arm | mips | mipsel | ppc32 | ppc64 | ppc64le | x86_64) CONFIGS+=("../${1}.config") ;; + arm64 | arm | mips | mipsel | ppc32 | ppc64 | ppc64le | x86 | x86_64) CONFIGS+=("../${1}.config") ;; *) die "Unknown parameter '${1}', exiting!" ;; esac shift diff --git a/buildroot/x86.config b/buildroot/x86.config new file mode 100644 index 0000000..a63e599 --- /dev/null +++ b/buildroot/x86.config @@ -0,0 +1,11 @@ +BR2_OPTIMIZE_3=y +BR2_KERNEL_HEADERS_4_4=y +BR2_BINUTILS_VERSION_2_31_X=y +BR2_GCC_VERSION_8_X=y +BR2_TARGET_GENERIC_ROOT_PASSWD="root" +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" +BR2_ROOTFS_OVERLAY="../overlay-poweroff" +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_BASH=y +BR2_TARGET_ROOTFS_CPIO=y +# BR2_TARGET_ROOTFS_TAR is not set diff --git a/images/x86/rootfs.cpio.zst b/images/x86/rootfs.cpio.zst new file mode 100644 index 0000000..b19178a Binary files /dev/null and b/images/x86/rootfs.cpio.zst differ