Message ID | 20220904095237.1401885-3-laurent@vivier.eu |
---|---|
State | Superseded |
Headers | show |
Series | package: add petitboot to use with qemu-system-m68k | expand |
Hello Laurent, On 9/4/22 11:52, Laurent Vivier wrote: > Build a 5.19 (first version with the m68k virt machine) kernel > for "qemu-system-m68k -M virt" machine. > > Signed-off-by: Laurent Vivier <laurent@vivier.eu> > --- > DEVELOPERS | 2 + > board/qemu/m68k-virt/config.linux | 89 ++++++++++++++++++++++ Why not use the linux virt_defconfig ? > board/qemu/m68k-virt/readme.txt | 5 ++ > configs/qemu_m68k_virt_petitboot_defconfig | 25 ++++++ > 4 files changed, 121 insertions(+) > create mode 100644 board/qemu/m68k-virt/config.linux > create mode 100644 board/qemu/m68k-virt/readme.txt > create mode 100644 configs/qemu_m68k_virt_petitboot_defconfig > > diff --git a/DEVELOPERS b/DEVELOPERS > index 45fa4c7e0686..fb500c706543 100644 > --- a/DEVELOPERS > +++ b/DEVELOPERS > @@ -1744,6 +1744,8 @@ F: package/open-lldp/ > > N: Laurent Vivier <laurent@vivier.eu> > F: package/petitboot/ > +F: board/qemu/m68k-virt/ > +F: configs/qemu_m68k_virt_petitboot_defconfig > > N: Lee Jones <lee.jones@linaro.org> > F: boot/afboot-stm32/ > diff --git a/board/qemu/m68k-virt/config.linux b/board/qemu/m68k-virt/config.linux > new file mode 100644 > index 000000000000..88edb9b1eb3f > --- /dev/null > +++ b/board/qemu/m68k-virt/config.linux > @@ -0,0 +1,89 @@ > +CONFIG_LOCALVERSION="-virt" > +CONFIG_SYSVIPC=y > +CONFIG_CGROUPS=y > +CONFIG_BLK_CGROUP=y > +CONFIG_CGROUP_SCHED=y > +CONFIG_CGROUP_PIDS=y > +CONFIG_CGROUP_RDMA=y > +CONFIG_CGROUP_FREEZER=y > +CONFIG_CGROUP_DEVICE=y > +CONFIG_CGROUP_CPUACCT=y > +CONFIG_BLK_DEV_INITRD=y > +CONFIG_KEXEC=y > +CONFIG_BOOTINFO_PROC=y > +CONFIG_VIRT=y > +CONFIG_PROC_HARDWARE=y > +CONFIG_PARTITION_ADVANCED=y > +CONFIG_AMIGA_PARTITION=y > +CONFIG_ATARI_PARTITION=y > +CONFIG_MAC_PARTITION=y > +CONFIG_BSD_DISKLABEL=y > +CONFIG_MINIX_SUBPARTITION=y > +CONFIG_SOLARIS_X86_PARTITION=y > +CONFIG_UNIXWARE_DISKLABEL=y > +CONFIG_LDM_PARTITION=y > +CONFIG_LDM_DEBUG=y > +CONFIG_SUN_PARTITION=y > +CONFIG_SYSV68_PARTITION=y > +CONFIG_NET=y > +CONFIG_PACKET=y > +CONFIG_UNIX=y > +CONFIG_INET=y > +CONFIG_IP_PNP=y > +CONFIG_IP_PNP_DHCP=y > +CONFIG_IP_PNP_BOOTP=y > +CONFIG_CGROUP_NET_PRIO=y > +CONFIG_CGROUP_NET_CLASSID=y > +CONFIG_NET_9P=y > +CONFIG_NET_9P_VIRTIO=y > +CONFIG_DEVTMPFS=y > +CONFIG_DEVTMPFS_MOUNT=y > +CONFIG_BLK_DEV_LOOP=y > +CONFIG_BLK_DEV_RAM=y > +CONFIG_VIRTIO_BLK=y > +CONFIG_SCSI=y > +CONFIG_BLK_DEV_SR=y > +CONFIG_SCSI_VIRTIO=y > +CONFIG_MD=y > +CONFIG_MD_LINEAR=y > +CONFIG_MD_MULTIPATH=y > +CONFIG_MD_FAULTY=y > +CONFIG_BLK_DEV_DM=y > +CONFIG_DM_UNSTRIPED=y > +CONFIG_DM_CRYPT=y > +CONFIG_DM_SNAPSHOT=y > +CONFIG_DM_THIN_PROVISIONING=y > +CONFIG_DM_CACHE=y > +CONFIG_DM_WRITECACHE=y > +CONFIG_DM_EBS=y > +CONFIG_DM_ERA=y > +CONFIG_DM_CLONE=y > +CONFIG_DM_MIRROR=y > +CONFIG_DM_RAID=y > +CONFIG_DM_ZERO=y > +CONFIG_NETDEVICES=y > +CONFIG_VIRTIO_NET=y > +CONFIG_INPUT_MOUSEDEV=y > +CONFIG_INPUT_EVDEV=y > +CONFIG_VIRTIO_CONSOLE=y > +CONFIG_HW_RANDOM_VIRTIO=y > +CONFIG_DRM=y > +CONFIG_DRM_VIRTIO_GPU=y > +CONFIG_FB=y > +CONFIG_SOUND=y > +CONFIG_SND=y > +CONFIG_SND_VIRTIO=y > +CONFIG_VIRT_DRIVERS=y > +CONFIG_VIRTIO_INPUT=y > +CONFIG_EXT4_FS=y > +CONFIG_AUTOFS_FS=y > +CONFIG_ISO9660_FS=y > +CONFIG_JOLIET=y > +CONFIG_ZISOFS=y > +CONFIG_UDF_FS=y > +CONFIG_TMPFS=y > +CONFIG_TMPFS_POSIX_ACL=y > +CONFIG_9P_FS=y > +CONFIG_9P_FS_POSIX_ACL=y > +CONFIG_9P_FS_SECURITY=y > +CONFIG_EARLY_PRINTK=y > diff --git a/board/qemu/m68k-virt/readme.txt b/board/qemu/m68k-virt/readme.txt > new file mode 100644 > index 000000000000..30803d403a4c > --- /dev/null > +++ b/board/qemu/m68k-virt/readme.txt > @@ -0,0 +1,5 @@ > +Run the emulation with: > + > + qemu-system-m68k -M virt -kernel output/images/vmlinux -initrd output/images/rootfs.cpio.xz -append "console=ttyGF0" --nographic # /qemu_m68k_virt_petitboot_defconfig > + > +The petiboot menu will appear in the terminal where QEMU has been started. > diff --git a/configs/qemu_m68k_virt_petitboot_defconfig b/configs/qemu_m68k_virt_petitboot_defconfig > new file mode 100644 > index 000000000000..4f289fb7a667 > --- /dev/null > +++ b/configs/qemu_m68k_virt_petitboot_defconfig > @@ -0,0 +1,25 @@ > +BR2_m68k=y > +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y > +BR2_CCACHE=y > +BR2_RELRO_NONE=y > +BR2_TARGET_GENERIC_ISSUE="Welcome to Petitboot" > +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y > +BR2_ROOTFS_MERGED_USR=y > +BR2_TARGET_GENERIC_GETTY_PORT="ttyGF0" > +BR2_ROOTFS_OVERLAY="package/petitboot/fs-overlay" You could add : BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/post-image.sh" BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_DEFCONFIG)" > +BR2_LINUX_KERNEL=y > +BR2_LINUX_KERNEL_CUSTOM_VERSION=y > +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19" > +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y > +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-virt/config.linux" > +BR2_LINUX_KERNEL_XZ=y > +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y > +BR2_PACKAGE_KEXEC=y > +BR2_PACKAGE_KEXEC_ZLIB=y > +BR2_PACKAGE_ETHTOOL=y > +BR2_PACKAGE_NET_TOOLS=y > +BR2_PACKAGE_NETCAT=y > +BR2_PACKAGE_RSYNC=y > +BR2_PACKAGE_PETITBOOT=y > +BR2_TARGET_ROOTFS_CPIO=y > +BR2_TARGET_ROOTFS_CPIO_XZ=y and : # host-qemu for gitlab testing BR2_PACKAGE_HOST_QEMU=y BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y Thanks, C.
Le 17/11/2022 à 19:00, Cédric Le Goater a écrit : > Hello Laurent, > > On 9/4/22 11:52, Laurent Vivier wrote: >> Build a 5.19 (first version with the m68k virt machine) kernel >> for "qemu-system-m68k -M virt" machine. >> >> Signed-off-by: Laurent Vivier <laurent@vivier.eu> >> --- >> DEVELOPERS | 2 + >> board/qemu/m68k-virt/config.linux | 89 ++++++++++++++++++++++ > > Why not use the linux virt_defconfig ? Because it doesn't have all the needed options to kexec a kernel and to use RAID/LVM/Device Mapper Thanks, Laurent
On Thu, 17 Nov 2022 20:19:33 +0100
Laurent Vivier <laurent@vivier.eu> wrote:
> Because it doesn't have all the needed options to kexec a kernel and to use RAID/LVM/Device Mapper
One option is to add a Linux kernel configuration fragment to add just
the few additional options that you need.
Best regards,
Thomas
diff --git a/DEVELOPERS b/DEVELOPERS index 45fa4c7e0686..fb500c706543 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1744,6 +1744,8 @@ F: package/open-lldp/ N: Laurent Vivier <laurent@vivier.eu> F: package/petitboot/ +F: board/qemu/m68k-virt/ +F: configs/qemu_m68k_virt_petitboot_defconfig N: Lee Jones <lee.jones@linaro.org> F: boot/afboot-stm32/ diff --git a/board/qemu/m68k-virt/config.linux b/board/qemu/m68k-virt/config.linux new file mode 100644 index 000000000000..88edb9b1eb3f --- /dev/null +++ b/board/qemu/m68k-virt/config.linux @@ -0,0 +1,89 @@ +CONFIG_LOCALVERSION="-virt" +CONFIG_SYSVIPC=y +CONFIG_CGROUPS=y +CONFIG_BLK_CGROUP=y +CONFIG_CGROUP_SCHED=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_RDMA=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_KEXEC=y +CONFIG_BOOTINFO_PROC=y +CONFIG_VIRT=y +CONFIG_PROC_HARDWARE=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_AMIGA_PARTITION=y +CONFIG_ATARI_PARTITION=y +CONFIG_MAC_PARTITION=y +CONFIG_BSD_DISKLABEL=y +CONFIG_MINIX_SUBPARTITION=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_LDM_PARTITION=y +CONFIG_LDM_DEBUG=y +CONFIG_SUN_PARTITION=y +CONFIG_SYSV68_PARTITION=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_INET=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_CGROUP_NET_PRIO=y +CONFIG_CGROUP_NET_CLASSID=y +CONFIG_NET_9P=y +CONFIG_NET_9P_VIRTIO=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_RAM=y +CONFIG_VIRTIO_BLK=y +CONFIG_SCSI=y +CONFIG_BLK_DEV_SR=y +CONFIG_SCSI_VIRTIO=y +CONFIG_MD=y +CONFIG_MD_LINEAR=y +CONFIG_MD_MULTIPATH=y +CONFIG_MD_FAULTY=y +CONFIG_BLK_DEV_DM=y +CONFIG_DM_UNSTRIPED=y +CONFIG_DM_CRYPT=y +CONFIG_DM_SNAPSHOT=y +CONFIG_DM_THIN_PROVISIONING=y +CONFIG_DM_CACHE=y +CONFIG_DM_WRITECACHE=y +CONFIG_DM_EBS=y +CONFIG_DM_ERA=y +CONFIG_DM_CLONE=y +CONFIG_DM_MIRROR=y +CONFIG_DM_RAID=y +CONFIG_DM_ZERO=y +CONFIG_NETDEVICES=y +CONFIG_VIRTIO_NET=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_EVDEV=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_DRM=y +CONFIG_DRM_VIRTIO_GPU=y +CONFIG_FB=y +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_VIRTIO=y +CONFIG_VIRT_DRIVERS=y +CONFIG_VIRTIO_INPUT=y +CONFIG_EXT4_FS=y +CONFIG_AUTOFS_FS=y +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_9P_FS=y +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_9P_FS_SECURITY=y +CONFIG_EARLY_PRINTK=y diff --git a/board/qemu/m68k-virt/readme.txt b/board/qemu/m68k-virt/readme.txt new file mode 100644 index 000000000000..30803d403a4c --- /dev/null +++ b/board/qemu/m68k-virt/readme.txt @@ -0,0 +1,5 @@ +Run the emulation with: + + qemu-system-m68k -M virt -kernel output/images/vmlinux -initrd output/images/rootfs.cpio.xz -append "console=ttyGF0" --nographic # /qemu_m68k_virt_petitboot_defconfig + +The petiboot menu will appear in the terminal where QEMU has been started. diff --git a/configs/qemu_m68k_virt_petitboot_defconfig b/configs/qemu_m68k_virt_petitboot_defconfig new file mode 100644 index 000000000000..4f289fb7a667 --- /dev/null +++ b/configs/qemu_m68k_virt_petitboot_defconfig @@ -0,0 +1,25 @@ +BR2_m68k=y +BR2_TOOLCHAIN_BUILDROOT_WCHAR=y +BR2_CCACHE=y +BR2_RELRO_NONE=y +BR2_TARGET_GENERIC_ISSUE="Welcome to Petitboot" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_MERGED_USR=y +BR2_TARGET_GENERIC_GETTY_PORT="ttyGF0" +BR2_ROOTFS_OVERLAY="package/petitboot/fs-overlay" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.19" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/m68k-virt/config.linux" +BR2_LINUX_KERNEL_XZ=y +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_KEXEC=y +BR2_PACKAGE_KEXEC_ZLIB=y +BR2_PACKAGE_ETHTOOL=y +BR2_PACKAGE_NET_TOOLS=y +BR2_PACKAGE_NETCAT=y +BR2_PACKAGE_RSYNC=y +BR2_PACKAGE_PETITBOOT=y +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_XZ=y
Build a 5.19 (first version with the m68k virt machine) kernel for "qemu-system-m68k -M virt" machine. Signed-off-by: Laurent Vivier <laurent@vivier.eu> --- DEVELOPERS | 2 + board/qemu/m68k-virt/config.linux | 89 ++++++++++++++++++++++ board/qemu/m68k-virt/readme.txt | 5 ++ configs/qemu_m68k_virt_petitboot_defconfig | 25 ++++++ 4 files changed, 121 insertions(+) create mode 100644 board/qemu/m68k-virt/config.linux create mode 100644 board/qemu/m68k-virt/readme.txt create mode 100644 configs/qemu_m68k_virt_petitboot_defconfig