initial buildroot for linux 5.15
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
image disk.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
in-partition-table = "no"
|
||||
image = "boot.img"
|
||||
offset = 0
|
||||
size = 512
|
||||
}
|
||||
|
||||
partition grub {
|
||||
in-partition-table = "no"
|
||||
image = "grub.img"
|
||||
offset = 512
|
||||
}
|
||||
|
||||
partition root {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
image efi-part.vfat {
|
||||
vfat {
|
||||
file EFI {
|
||||
image = "efi-part/EFI"
|
||||
}
|
||||
|
||||
file bzImage {
|
||||
image = "bzImage"
|
||||
}
|
||||
}
|
||||
|
||||
size = 16352K # 16MB - 32KB
|
||||
}
|
||||
|
||||
image disk.img {
|
||||
hdimage {
|
||||
gpt = true
|
||||
}
|
||||
|
||||
partition boot {
|
||||
image = "efi-part.vfat"
|
||||
partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b
|
||||
offset = 32K
|
||||
bootable = true
|
||||
}
|
||||
|
||||
partition root {
|
||||
partition-type-uuid = 44479540-f297-41b2-9af7-d131d5f0458a
|
||||
partition-uuid = UUID_TMP
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
set default="0"
|
||||
set timeout="5"
|
||||
|
||||
menuentry "Buildroot" {
|
||||
linux /boot/bzImage root=/dev/sda1 rootwait console=tty1
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
set default="0"
|
||||
set timeout="5"
|
||||
|
||||
menuentry "Buildroot" {
|
||||
linux /bzImage root=PARTUUID=UUID_TMP rootwait console=tty1
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_HYPERVISOR_GUEST=y
|
||||
CONFIG_PARAVIRT=y
|
||||
CONFIG_EFI=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_NETFILTER=y
|
||||
CONFIG_IP_NF_IPTABLES=y
|
||||
CONFIG_IP_NF_FILTER=y
|
||||
CONFIG_CFG80211=m
|
||||
CONFIG_CFG80211_WEXT=y
|
||||
CONFIG_MAC80211=m
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_SCSI_VIRTIO=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_ATA_PIIX=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_VIRTIO_NET=y
|
||||
CONFIG_ATL2=m
|
||||
CONFIG_ATL1=m
|
||||
CONFIG_ATL1E=m
|
||||
CONFIG_ATL1C=m
|
||||
CONFIG_ALX=m
|
||||
CONFIG_E100=m
|
||||
CONFIG_E1000=m
|
||||
CONFIG_E1000E=m
|
||||
CONFIG_IGB=m
|
||||
CONFIG_NE2K_PCI=y
|
||||
CONFIG_8139CP=y
|
||||
CONFIG_R8169=m
|
||||
CONFIG_ATH9K=m
|
||||
CONFIG_ATH9K_HTC=m
|
||||
CONFIG_CARL9170=m
|
||||
CONFIG_ATH10K=m
|
||||
CONFIG_ATH10K_PCI=m
|
||||
CONFIG_IWL4965=m
|
||||
CONFIG_IWL3945=m
|
||||
CONFIG_IWLWIFI=m
|
||||
CONFIG_RT2X00=m
|
||||
CONFIG_RT2800PCI=m
|
||||
CONFIG_RT73USB=m
|
||||
CONFIG_RT2800USB=m
|
||||
CONFIG_RT2800USB_RT3573=y
|
||||
CONFIG_RT2800USB_RT53XX=y
|
||||
CONFIG_RT2800USB_RT55XX=y
|
||||
# CONFIG_RTL_CARDS is not set
|
||||
CONFIG_RTL8XXXU=m
|
||||
CONFIG_INPUT_EVDEV=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_VIRTIO_CONSOLE=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=m
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_I915=y
|
||||
CONFIG_DRM_QXL=y
|
||||
CONFIG_DRM_BOCHS=y
|
||||
CONFIG_DRM_VIRTIO_GPU=y
|
||||
CONFIG_FB_VESA=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
CONFIG_SND_HDA_INTEL=y
|
||||
CONFIG_SND_HDA_GENERIC=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_XHCI_HCD=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_UHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_BALLOON=y
|
||||
CONFIG_VIRTIO_INPUT=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_FUSE_FS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
CONFIG_SQUASHFS=y
|
||||
CONFIG_UNWINDER_FRAME_POINTER=y
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
BOARD_DIR=$(dirname "$0")
|
||||
|
||||
# Detect boot strategy, EFI or BIOS
|
||||
if [ -d "$BINARIES_DIR/efi-part/" ]; then
|
||||
cp -f "$BOARD_DIR/grub-efi.cfg" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg"
|
||||
else
|
||||
cp -f "$BOARD_DIR/grub-bios.cfg" "$TARGET_DIR/boot/grub/grub.cfg"
|
||||
|
||||
# Copy grub 1st stage to binaries, required for genimage
|
||||
cp -f "$TARGET_DIR/lib/grub/i386-pc/boot.img" "$BINARIES_DIR"
|
||||
fi
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
UUID=$(dumpe2fs "$BINARIES_DIR/rootfs.ext2" 2>/dev/null | sed -n 's/^Filesystem UUID: *\(.*\)/\1/p')
|
||||
sed -i "s/UUID_TMP/$UUID/g" "$BINARIES_DIR/efi-part/EFI/BOOT/grub.cfg"
|
||||
sed "s/UUID_TMP/$UUID/g" board/pc/genimage-efi.cfg > "$BINARIES_DIR/genimage-efi.cfg"
|
||||
support/scripts/genimage.sh -c "$BINARIES_DIR/genimage-efi.cfg"
|
||||
@@ -0,0 +1,72 @@
|
||||
Bare PC sample config
|
||||
=====================
|
||||
|
||||
1. Build
|
||||
|
||||
First select the appropriate target you want.
|
||||
|
||||
For BIOS-based boot strategy:
|
||||
|
||||
$ make pc_x86_64_bios_defconfig
|
||||
|
||||
For EFI-based boot strategy on a GPT-partitioned disk:
|
||||
|
||||
$ make pc_x86_64_efi_defconfig
|
||||
|
||||
Add any additional packages required and build:
|
||||
|
||||
$ make
|
||||
|
||||
2. Write the pendrive
|
||||
|
||||
The build process will create a pendrive image called sdcard.img in
|
||||
output/images.
|
||||
|
||||
Write the image to a pendrive:
|
||||
|
||||
$ dd if=output/images/disk.img of=/dev/sdc; sync
|
||||
|
||||
Once it's done insert it into the target PC and boot.
|
||||
|
||||
Remember that if said PC has another boot device you might need to
|
||||
select this alternative for it to boot.
|
||||
|
||||
In the case of EFI boot you might need to disable Secure Boot from
|
||||
the setup as well.
|
||||
|
||||
3. Enjoy
|
||||
|
||||
Emulation in qemu (BIOS)
|
||||
========================
|
||||
|
||||
1. Edit grub-bios.cfg
|
||||
|
||||
Since the driver will show up in the virtual machine as /dev/vda,
|
||||
change board/pc/grub-bios.cfg to use root=/dev/vda2 instead of
|
||||
root=/dev/sda2. Then rebuild grub2 and the image.
|
||||
|
||||
2. Run the emulation with:
|
||||
|
||||
qemu-system-x86_64 \
|
||||
-M pc \
|
||||
-drive file=output/images/disk.img,if=virtio,format=raw \
|
||||
-net nic,model=virtio \
|
||||
-net user
|
||||
|
||||
|
||||
Emulation in qemu (UEFI)
|
||||
========================
|
||||
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-x86_64 \
|
||||
-M pc \
|
||||
-bios </path/to/OVMF_CODE.fd> \
|
||||
-drive file=output/images/disk.img,if=virtio,format=raw \
|
||||
-net nic,model=virtio \
|
||||
-net user
|
||||
|
||||
Note that </path/to/OVMF.fd> needs to point to a valid x86_64 UEFI
|
||||
firmware image for qemu. It may be provided by your distribution as a
|
||||
edk2 or OVMF package, in path such as
|
||||
/usr/share/edk2/ovmf/OVMF_CODE.fd .
|
||||
Reference in New Issue
Block a user