armbian-next: qemu-uboot-arm64 and qemu-uboot-x86 new boards

- sharing most UEFI code, will replace the `virtual` one soon
- x86: patch uboot defconfig to use the `q35` machine type, not `i440fx`
  - separate x86 bootscript, due to non-uInitrd-ness of it
  - hack ramdisk load address both in u-boot source and bootscript
  - use 32-bit u-boot, not 64-bit
- grub: introduce `UEFI_GRUB=skip`, does not deploy GRUB (but does the kernel packages, etc)
- auto-enable qcow2 output for these
- works with both distro's and Armbian's kernels
This commit is contained in:
Ricardo Pardini
2022-08-11 10:51:18 +02:00
parent b951f7b873
commit 4a9529dd34
10 changed files with 203 additions and 30 deletions

View File

@@ -0,0 +1,46 @@
Index: include/configs/qemu-x86.h
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/include/configs/qemu-x86.h b/include/configs/qemu-x86.h
--- a/include/configs/qemu-x86.h (revision 4debc57a3da6c3f4d3f89a637e99206f4cea0a96)
+++ b/include/configs/qemu-x86.h (date 1669899370752)
@@ -13,10 +13,9 @@
#include <linux/sizes.h>
#define BOOT_TARGET_DEVICES(func) \
+ func(VIRTIO, virtio, 0) \
func(USB, usb, 0) \
func(SCSI, scsi, 0) \
- func(VIRTIO, virtio, 0) \
- func(IDE, ide, 0) \
func(DHCP, dhcp, na)
#include <config_distro_bootcmd.h>
Index: include/configs/x86-common.h
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/include/configs/x86-common.h b/include/configs/x86-common.h
--- a/include/configs/x86-common.h (revision 4debc57a3da6c3f4d3f89a637e99206f4cea0a96)
+++ b/include/configs/x86-common.h (date 1669899456091)
@@ -50,7 +50,7 @@
/* Default environment */
#define CONFIG_ROOTPATH "/opt/nfsroot"
#define CONFIG_HOSTNAME "x86"
-#define CONFIG_RAMDISK_ADDR 0x4000000
+#define CONFIG_RAMDISK_ADDR 0x8000000
#if defined(CONFIG_GENERATE_ACPI_TABLE) || defined(CONFIG_EFI_STUB)
#define CONFIG_OTHBOOTARGS "othbootargs=\0"
#else
@@ -77,7 +77,7 @@
CONFIG_OTHBOOTARGS \
"scriptaddr=0x7000000\0" \
"kernel_addr_r=0x1000000\0" \
- "ramdisk_addr_r=0x4000000\0" \
+ "ramdisk_addr_r=0x8000000\0" \
"ramdiskfile=initramfs.gz\0"

View File

@@ -0,0 +1,25 @@
--- a/configs/qemu-x86_defconfig 2022-12-01 12:44:02.389010874 +0000
+++ b/configs/qemu-x86_defconfig 2022-12-01 12:52:35.218984706 +0000
@@ -4,7 +4,7 @@
CONFIG_NR_DRAM_BANKS=8
CONFIG_ENV_SIZE=0x40000
CONFIG_MAX_CPUS=2
-CONFIG_DEFAULT_DEVICE_TREE="qemu-x86_i440fx"
+CONFIG_DEFAULT_DEVICE_TREE="qemu-x86_q35"
CONFIG_SMP=y
CONFIG_GENERATE_PIRQ_TABLE=y
CONFIG_GENERATE_MP_TABLE=y
@@ -50,11 +50,13 @@
CONFIG_SYS_64BIT_LBA=y
CONFIG_CPU=y
CONFIG_NVME_PCI=y
+CONFIG_DM_RNG=y
CONFIG_SPI=y
CONFIG_USB_KEYBOARD=y
CONFIG_FRAMEBUFFER_SET_VESA_MODE=y
CONFIG_FRAMEBUFFER_VESA_MODE_USER=y
CONFIG_FRAMEBUFFER_VESA_MODE=0x144
CONFIG_CONSOLE_SCROLL_LINES=5
+CONFIG_VIRTIO_MMIO=y
CONFIG_GENERATE_ACPI_TABLE=y
# CONFIG_GZIP is not set