Skip to contentSkip to conversation

board: add support for Synopsys VDK Software Development Platform

PATCH Superseded Joao Pinto 2 participants 3 messages Sep 30, 2015 – Oct 9, 2015

v2 of 6 Superseded Latest is v6 →

lore
Share & tools
lore

Joao Pinto

author
#0 lore raw

PATCH v2 1/1 board: add support for Synopsys VDK Software Development Platform

The Virtualizer Development Kit (VDK) Family for ARM Cortex Products consists of a set of virtual prototypes that provide a virtualizer for the ARM core variants. The VDK is a standalone package that runs on an host computer.

Remark: The ext2 generator is essential since it is the expected filesystem format expected by the VDK platform.

---
 board/synopsys/vdk/fs-overlay/etc/inittab |  36 ++
 board/synopsys/vdk/linux-vdk-defconfig    | 817 ++++++++++++++++++++++++++++++
 configs/snps_vdk_defconfig                |  16 +
 3 files changed, 869 insertions(+)
 create mode 100644 board/synopsys/vdk/fs-overlay/etc/inittab
 create mode 100644 board/synopsys/vdk/linux-vdk-defconfig
 create mode 100644 configs/snps_vdk_defconfig
board/synopsys/vdk/fs-overlay/etc/inittab new file +36 -0
new file mode 100644
index 0000000..9cd272f
@@ -0,0 +1,36 @@
+# /etc/inittab
+#
+# Copyright (C) 2001 Erik Andersen <[email protected]>
+#
+# Note: BusyBox init doesn't support runlevels.  The runlevels field is
+# completely ignored by BusyBox init. If you want runlevels, use
+# sysvinit.
+#
+# Format for each entry: <id>:<runlevels>:<action>:<process>
+#
+# id        == tty to run on, or empty for /dev/console
+# runlevels == ignored
+# action    == one of sysinit, respawn, askfirst, wait, and once
+# process   == program to run
+
+# Startup the system
+null::sysinit:/bin/mount -t proc proc /proc
+null::sysinit:/bin/mount -o remount,rw /
+null::sysinit:/bin/mkdir -p /dev/pts
+null::sysinit:/bin/mkdir -p /dev/shm
+null::sysinit:/bin/mount -a
+null::sysinit:/bin/hostname -F /etc/hostname
+# now run any rc scripts
+::sysinit:/etc/init.d/rcS
+
+# Put a getty on the serial port
+console::respawn:/sbin/getty -L  console 0 vt100 # GENERIC_SERIAL
+tty1::respawn:/sbin/getty 0 tty1
+
+# Stuff to do for the 3-finger salute
+::ctrlaltdel:/sbin/reboot
+
+# Stuff to do before rebooting
+::shutdown:/etc/init.d/rcK
+::shutdown:/sbin/swapoff -a
+::shutdown:/bin/umount -a -r
board/synopsys/vdk/linux-vdk-defconfig new file +817 -0

817 lines not on this page · raw message

configs/snps_vdk_defconfig new file +16 -0
new file mode 100644
index 0000000..39eb86f
@@ -0,0 +1,16 @@
+BR2_aarch64=y
+BR2_KERNEL_HEADERS_3_18=y
+BR2_TARGET_GENERIC_HOSTNAME="vdk-buildroot"
+BR2_TARGET_GENERIC_ISSUE="Welcome to SNPS VDK by Buildroot"
+BR2_ROOTFS_OVERLAY="board/synopsys/vdk/fs-overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.linaro.org/kernel/linux-linaro-tracking.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux-linaro-3.18-2014.12"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/synopsys/vdk/linux-vdk-defconfig"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+BR2_PACKAGE_BASH=y
+BR2_TARGET_ROOTFS_EXT2=y
Signature · 1 line
1.8.1.5
#1 lore raw

PATCH v2 1/1 board: add support for Synopsys VDK Software Development Platform

Joao,

Quoted 9 lines · Joao Pinto

The Virtualizer Development Kit (VDK) Family for ARM Cortex Products consists of a set of virtual prototypes that provide a virtualizer for the ARM core variants. The VDK is a standalone package that runs on an host computer.

Remark: The ext2 generator is essential since it is the expected filesystem format expected by the VDK platform.

This looks good, but there are still a few issues.

Quoted 24 lines
board/synopsys/vdk/fs-overlay/etc/inittab new file +18 -0
new file mode 100644
index 0000000..9cd272f
@@ -0,0 +1,36 @@
+# /etc/inittab
+#
+# Copyright (C) 2001 Erik Andersen <[email protected]>
+#
+# Note: BusyBox init doesn't support runlevels.  The runlevels field is
+# completely ignored by BusyBox init. If you want runlevels, use
+# sysvinit.
+#
+# Format for each entry: <id>:<runlevels>:<action>:<process>
+#
+# id        == tty to run on, or empty for /dev/console
+# runlevels == ignored
+# action    == one of sysinit, respawn, askfirst, wait, and once
+# process   == program to run
+
+# Startup the system
+null::sysinit:/bin/mount -t proc proc /proc
+null::sysinit:/bin/mount -o remount,rw /

board/synopsys/vdk/fs-overlay/etc/inittab line 28

Quoted 10 lines
board/synopsys/vdk/fs-overlay/etc/inittab new file +10 -0
+null::sysinit:/bin/mkdir -p /dev/pts
+null::sysinit:/bin/mkdir -p /dev/shm
+null::sysinit:/bin/mount -a
+null::sysinit:/bin/hostname -F /etc/hostname
+# now run any rc scripts
+::sysinit:/etc/init.d/rcS
+
+# Put a getty on the serial port
+console::respawn:/sbin/getty -L  console 0 vt100 # GENERIC_SERIAL
+tty1::respawn:/sbin/getty 0 tty1

Like Arnout said, do we really need to have two gettys?

board/synopsys/vdk/linux-vdk-defconfig line 3

Quoted 9 lines
board/synopsys/vdk/linux-vdk-defconfig new file +3 -0
new file mode 100644
index 0000000..e3eb277
@@ -0,0 +1,817 @@
+CONFIG_ARM64=y
+CONFIG_64BIT=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y

[... snip ...]

This is clearly not a kernel defconfig. It looks like you have just removed the commented lines, which is not correct. Can you please generate it with "make linux-update-defconfig" ?

See
http://free-electrons.com/doc/training/buildroot/buildroot-slides.pdf,
slide 78 for details on how to do that.

configs/snps_vdk_defconfig

Quoted 5 lines
configs/snps_vdk_defconfig new file +0 -0
new file mode 100644
index 0000000..39eb86f

This file should be named snps_aarch64_vdk_defconfig

The VDK exists for other architectures than AArch64: we also have defconfigs for the VDK emulated the ARC HS38 CPU, so we need a way to distinguish that.

configs/snps_vdk_defconfig line 11

Quoted 12 lines
configs/snps_vdk_defconfig new file +11 -0
@@ -0,0 +1,16 @@
+BR2_aarch64=y
+BR2_KERNEL_HEADERS_3_18=y
+BR2_TARGET_GENERIC_HOSTNAME="vdk-buildroot"
+BR2_TARGET_GENERIC_ISSUE="Welcome to SNPS VDK by Buildroot"
+BR2_ROOTFS_OVERLAY="board/synopsys/vdk/fs-overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.linaro.org/kernel/linux-linaro-tracking.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux-linaro-3.18-2014.12"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/synopsys/vdk/linux-vdk-defconfig"

Same here, vdk-aarch64 or something like that.

configs/snps_vdk_defconfig line 15

Quoted 4 lines
configs/snps_vdk_defconfig new file +4 -0
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+BR2_PACKAGE_BASH=y

No bash please.

configs/snps_vdk_defconfig line 16

Quoted 1 line
configs/snps_vdk_defconfig new file +1 -0
+BR2_TARGET_ROOTFS_EXT2=y

If you need ext2, then please disable the tarball.

I'll mark your patch as Changes Requested in our patch tracking system, so please resubmit a new version that fixes the above comments, otherwise we'll forget about your contribution.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
author
#2 lore raw

PATCH v2 1/1 board: add support for Synopsys VDK Software Development Platform

Hi Thomas and Arnout,

Thank you for your feedback.
I am going to re-work the patches for VDK and Juno r1 and send the new ones soon.

Thanks,
Joao

Quoted 120 lines · Thomas Petazzoni

Joao,

Quoted 9 lines · Joao Pinto

The Virtualizer Development Kit (VDK) Family for ARM Cortex Products consists of a set of virtual prototypes that provide a virtualizer for the ARM core variants. The VDK is a standalone package that runs on an host computer.

Remark: The ext2 generator is essential since it is the expected filesystem format expected by the VDK platform.

This looks good, but there are still a few issues.

Quoted 24 lines
board/synopsys/vdk/fs-overlay/etc/inittab new file +18 -0
new file mode 100644
index 0000000..9cd272f
@@ -0,0 +1,36 @@
+# /etc/inittab
+#
+# Copyright (C) 2001 Erik Andersen <[email protected]>
+#
+# Note: BusyBox init doesn't support runlevels.  The runlevels field is
+# completely ignored by BusyBox init. If you want runlevels, use
+# sysvinit.
+#
+# Format for each entry: <id>:<runlevels>:<action>:<process>
+#
+# id        == tty to run on, or empty for /dev/console
+# runlevels == ignored
+# action    == one of sysinit, respawn, askfirst, wait, and once
+# process   == program to run
+
+# Startup the system
+null::sysinit:/bin/mount -t proc proc /proc
+null::sysinit:/bin/mount -o remount,rw /

board/synopsys/vdk/fs-overlay/etc/inittab line 28

Quoted 10 lines
board/synopsys/vdk/fs-overlay/etc/inittab new file +10 -0
+null::sysinit:/bin/mkdir -p /dev/pts
+null::sysinit:/bin/mkdir -p /dev/shm
+null::sysinit:/bin/mount -a
+null::sysinit:/bin/hostname -F /etc/hostname
+# now run any rc scripts
+::sysinit:/etc/init.d/rcS
+
+# Put a getty on the serial port
+console::respawn:/sbin/getty -L  console 0 vt100 # GENERIC_SERIAL
+tty1::respawn:/sbin/getty 0 tty1

Like Arnout said, do we really need to have two gettys?

board/synopsys/vdk/linux-vdk-defconfig line 3

Quoted 9 lines
board/synopsys/vdk/linux-vdk-defconfig new file +3 -0
new file mode 100644
index 0000000..e3eb277
@@ -0,0 +1,817 @@
+CONFIG_ARM64=y
+CONFIG_64BIT=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y

[... snip ...]

This is clearly not a kernel defconfig. It looks like you have just removed the commented lines, which is not correct. Can you please generate it with "make linux-update-defconfig" ?

See
http://free-electrons.com/doc/training/buildroot/buildroot-slides.pdf,
slide 78 for details on how to do that.

configs/snps_vdk_defconfig

Quoted 5 lines
configs/snps_vdk_defconfig new file +0 -0
new file mode 100644
index 0000000..39eb86f

This file should be named snps_aarch64_vdk_defconfig

The VDK exists for other architectures than AArch64: we also have defconfigs for the VDK emulated the ARC HS38 CPU, so we need a way to distinguish that.

configs/snps_vdk_defconfig line 11

Quoted 12 lines
configs/snps_vdk_defconfig new file +11 -0
@@ -0,0 +1,16 @@
+BR2_aarch64=y
+BR2_KERNEL_HEADERS_3_18=y
+BR2_TARGET_GENERIC_HOSTNAME="vdk-buildroot"
+BR2_TARGET_GENERIC_ISSUE="Welcome to SNPS VDK by Buildroot"
+BR2_ROOTFS_OVERLAY="board/synopsys/vdk/fs-overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.linaro.org/kernel/linux-linaro-tracking.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux-linaro-3.18-2014.12"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/synopsys/vdk/linux-vdk-defconfig"

Same here, vdk-aarch64 or something like that.

configs/snps_vdk_defconfig line 15

Quoted 4 lines
configs/snps_vdk_defconfig new file +4 -0
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="Image"
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+BR2_PACKAGE_BASH=y

No bash please.

configs/snps_vdk_defconfig line 16

Quoted 1 line
configs/snps_vdk_defconfig new file +1 -0
+BR2_TARGET_ROOTFS_EXT2=y

If you need ext2, then please disable the tarball.

I'll mark your patch as Changes Requested in our patch tracking system, so please resubmit a new version that fixes the above comments, otherwise we'll forget about your contribution.

Thanks!

Thomas