[Buildroot] [PATCH] add default config for qemu-system-xtensa

Arnout Vandecappelle arnout at mind.be
Tue Jun 24 16:15:47 UTC 2014


On 24/06/14 15:19, Waldemar Brodkorb wrote:
> Tested with Qemu 2.0.0.
> Overlay is from
> https://github.com/jcmvbkbc/xtensa-toolchain-build/tree/master/overlays
> 
> Many thanks to Max Filippov <jcmvbkbc at gmail.com> for his extended help
> and kernel config examples.
> 
> A small kernel patch is required, because mkimage does not contain
> support for Xtensa and the uImage target is failing. Redboot is unused
> so disable it, too.
> 
> Signed-off-by: Waldemar Brodkorb <wbx at openadk.org>
> ---
>  .../xtensa-lx60/disable-redboot-and-uboot.patch    |   12 +++++++
>  board/qemu/xtensa-lx60/linux-3.15.config           |   35 ++++++++++++++++++++
>  board/qemu/xtensa-lx60/readme.txt                  |    7 ++++
>  board/qemu/xtensa-lx60/xtensa_dc232b.tar           |  Bin 0 -> 747520 bytes

 Ugh, that's ugly... But the only thing we have I guess.

>  configs/qemu_xtensa_lx60_defconfig                 |   24 ++++++++++++++
>  5 files changed, 78 insertions(+)
>  create mode 100644 board/qemu/xtensa-lx60/disable-redboot-and-uboot.patch
>  create mode 100644 board/qemu/xtensa-lx60/linux-3.15.config
>  create mode 100644 board/qemu/xtensa-lx60/readme.txt
>  create mode 100644 board/qemu/xtensa-lx60/xtensa_dc232b.tar
>  create mode 100644 configs/qemu_xtensa_lx60_defconfig
> 
> diff --git a/board/qemu/xtensa-lx60/disable-redboot-and-uboot.patch b/board/qemu/xtensa-lx60/disable-redboot-and-uboot.patch
> new file mode 100644
> index 0000000..a4d8ce0
> --- /dev/null
> +++ b/board/qemu/xtensa-lx60/disable-redboot-and-uboot.patch

 The patch should have a filename according to the patch naming convention, e.g.

linux-0001-disable-redboot-and-uboot.patch

 Also, the patch should have a description and a Signed-off-by line.

> @@ -0,0 +1,12 @@
> +diff -Nur linux-3.15.orig/arch/xtensa/boot/Makefile linux-3.15/arch/xtensa/boot/Makefile
> +--- linux-3.15.orig/arch/xtensa/boot/Makefile	2014-06-08 20:19:54.000000000 +0200
> ++++ linux-3.15/arch/xtensa/boot/Makefile	2014-06-14 20:07:15.206091165 +0200
> +@@ -23,7 +23,7 @@
> + 
> + bootdir-$(CONFIG_XTENSA_PLATFORM_ISS)	 += boot-elf
> + bootdir-$(CONFIG_XTENSA_PLATFORM_XT2000) += boot-redboot boot-elf boot-uboot
> +-bootdir-$(CONFIG_XTENSA_PLATFORM_XTFPGA) += boot-redboot boot-elf boot-uboot
> ++bootdir-$(CONFIG_XTENSA_PLATFORM_XTFPGA) += boot-elf
> + 
> + zImage Image: $(bootdir-y)
> + 
> diff --git a/board/qemu/xtensa-lx60/linux-3.15.config b/board/qemu/xtensa-lx60/linux-3.15.config
> new file mode 100644
> index 0000000..279a745
> --- /dev/null
> +++ b/board/qemu/xtensa-lx60/linux-3.15.config
> @@ -0,0 +1,35 @@
> +# CONFIG_SWAP is not set
> +CONFIG_BLK_DEV_INITRD=y
> +CONFIG_INITRAMFS_SOURCE="/home/wbx/br/output/images/rootfs.cpio"

 Better to strip this from the saved defconfig.

> +CONFIG_XTENSA_VARIANT_DC232B=y
> +# CONFIG_INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX is not set
> +CONFIG_XTENSA_PLATFORM_XTFPGA=y
> +CONFIG_CMDLINE_BOOL=y
> +CONFIG_CMDLINE="console=ttyS0,38400"
> +# CONFIG_COMPACTION is not set
> +# CONFIG_BOUNCE is not set
> +# CONFIG_CROSS_MEMORY_ATTACH is not set
> +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
> +CONFIG_NET=y
> +CONFIG_PACKET=y
> +CONFIG_UNIX=y
> +CONFIG_INET=y
> +# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
> +# CONFIG_INET_XFRM_MODE_TUNNEL is not set
> +# CONFIG_INET_XFRM_MODE_BEET is not set
> +# CONFIG_INET_LRO is not set
> +# CONFIG_INET_DIAG is not set
> +# CONFIG_IPV6 is not set
> +# CONFIG_WIRELESS is not set
> +CONFIG_DEVTMPFS=y
> +CONFIG_DEVTMPFS_MOUNT=y
> +CONFIG_NETDEVICES=y
> +# CONFIG_WLAN is not set
> +CONFIG_SERIAL_8250=y
> +# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
> +CONFIG_SERIAL_8250_CONSOLE=y
> +# CONFIG_HW_RANDOM is not set
> +# CONFIG_HWMON is not set
> +# CONFIG_VGA_CONSOLE is not set
> +# CONFIG_S32C1I_SELFTEST is not set
> +CONFIG_LD_NO_RELAX=y
> diff --git a/board/qemu/xtensa-lx60/readme.txt b/board/qemu/xtensa-lx60/readme.txt
> new file mode 100644
> index 0000000..0bfed90
> --- /dev/null
> +++ b/board/qemu/xtensa-lx60/readme.txt
> @@ -0,0 +1,7 @@
> +Run the emulation with:
> +
> + qemu-system-xtensa -M lx60 -cpu dc232b -monitor null -nographic -kernel output/images/Image.elf
> +
> +The login prompt will appear in the terminal that started Qemu.
> +
> +Tested with QEMU 2.0.0
> diff --git a/board/qemu/xtensa-lx60/xtensa_dc232b.tar b/board/qemu/xtensa-lx60/xtensa_dc232b.tar
[snip]
> diff --git a/configs/qemu_xtensa_lx60_defconfig b/configs/qemu_xtensa_lx60_defconfig
> new file mode 100644
> index 0000000..70da439
> --- /dev/null
> +++ b/configs/qemu_xtensa_lx60_defconfig
> @@ -0,0 +1,24 @@
> +# Architecture
> +BR2_xtensa=y
> +BR2_XTENSA_CUSTOM=y
> +BR2_XTENSA_CUSTOM_NAME="dc232b"
> +BR2_XTENSA_CORE_NAME="lx60"
> +BR2_XTENSA_OVERLAY_DIR="board/qemu/xtensa-lx60"
> +
> +# System
> +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> +
> +# Filesystem
> +# BR2_TARGET_ROOTFS_TAR is not set
> +BR2_TARGET_ROOTFS_INITRAMFS=y
> +
> +# Kernel
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.15.1"
> +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
> +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/xtensa-lx60/linux-3.15.config"
> +BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
> +BR2_LINUX_KERNEL_IMAGE_NAME="Image.elf"

 Since this patch relies on the other one you sent, you should send the two
patches as a series. That makes the dependency explicit to the maintainers, so
they don't accidentally commit the second patch without committing the first one
first.

> +BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="zImage"
> +BR2_LINUX_KERNEL_PATCH="board/qemu/xtensa-lx60/disable-redboot-and-uboot.patch"

 We're migrating to using BR2_GLOBAL_PATCH_DIR instead. I think we should avoid
the package-specific patch options for new configs.


 Regards,
 Arnout

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F


More information about the buildroot mailing list