All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/4] Fun with Minnowboard Turot
@ 2016-04-12  5:29 Ezequiel Garcia
  2016-04-12  5:29 ` [Buildroot] [PATCH 1/4] board/minnowboard-max: Rework to generate SD card image Ezequiel Garcia
                   ` (3 more replies)
  0 siblings, 4 replies; 19+ messages in thread
From: Ezequiel Garcia @ 2016-04-12  5:29 UTC (permalink / raw)
  To: buildroot

Recently got myself a Minnowboard Turot board and have been
goofing around with it. The Minnowboard Turot is compatible with
the Minnowboard MAX board, so I've reused the defconfig and board
stuff.

These four patches are the result of some experiments; first
two patches use genimage to generate an SD card image.

The third patch extends the Minnowboard MAX kernel config,
so the system has more capabilities.

The last patch adds a graphical defconfig. I believe this is
a quite cool board, and it's nice to show how easy we can
produce a graphical X-based platform using Buildroot.

Feedback welcome!

Ezequiel Garcia (4):
  board/minnowboard-max: Rework to generate SD card image
  board/minnowboard: Rework to generate SD card image
  board/minnowboard-max: Add more peripherals and features to the kernel
  board/minnowboard-max: Add a X-based graphical defconfig

 board/minnowboard-max/asound.conf           |   2 +
 board/minnowboard-max/genimage.cfg          |  34 ++++
 board/minnowboard-max/linux.config          |  17 ++
 board/minnowboard-max/post-build.sh         |  20 +++
 board/minnowboard-max/post-image.sh         |  13 ++
 board/minnowboard-max/readme.txt            |  39 ++---
 board/minnowboard-max/startx                | 239 ++++++++++++++++++++++++++++
 board/minnowboard/genimage.cfg              |  34 ++++
 board/minnowboard/post-image.sh             |  13 ++
 board/minnowboard/readme.txt                |  39 ++---
 configs/minnowboard_defconfig               |   8 +
 configs/minnowboard_max_defconfig           |   8 +
 configs/minnowboard_max_graphical_defconfig |  78 +++++++++
 13 files changed, 490 insertions(+), 54 deletions(-)
 create mode 100644 board/minnowboard-max/asound.conf
 create mode 100644 board/minnowboard-max/genimage.cfg
 create mode 100755 board/minnowboard-max/post-image.sh
 create mode 100755 board/minnowboard-max/startx
 create mode 100644 board/minnowboard/genimage.cfg
 create mode 100755 board/minnowboard/post-image.sh
 create mode 100644 configs/minnowboard_max_graphical_defconfig

-- 
2.7.0

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/4] board/minnowboard-max: Rework to generate SD card image
  2016-04-12  5:29 [Buildroot] [PATCH 0/4] Fun with Minnowboard Turot Ezequiel Garcia
@ 2016-04-12  5:29 ` Ezequiel Garcia
  2016-04-12 23:21   ` Arnout Vandecappelle
  2016-04-13 20:39   ` Peter Korsgaard
  2016-04-12  5:29 ` [Buildroot] [PATCH 2/4] board/minnowboard: " Ezequiel Garcia
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 19+ messages in thread
From: Ezequiel Garcia @ 2016-04-12  5:29 UTC (permalink / raw)
  To: buildroot

Let's rework the board and config files to use genimage
to generate the SD card image directly.

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
---
 board/minnowboard-max/genimage.cfg  | 34 ++++++++++++++++++++++++++++++++
 board/minnowboard-max/post-image.sh | 13 +++++++++++++
 board/minnowboard-max/readme.txt    | 39 ++++++++++++-------------------------
 configs/minnowboard_max_defconfig   |  8 ++++++++
 4 files changed, 67 insertions(+), 27 deletions(-)
 create mode 100644 board/minnowboard-max/genimage.cfg
 create mode 100755 board/minnowboard-max/post-image.sh

diff --git a/board/minnowboard-max/genimage.cfg b/board/minnowboard-max/genimage.cfg
new file mode 100644
index 000000000000..6cf787430752
--- /dev/null
+++ b/board/minnowboard-max/genimage.cfg
@@ -0,0 +1,34 @@
+# Create an image of the efi partition
+image efi-part.vfat {
+	vfat {
+		file startup.nsh {
+			image = "efi-part/startup.nsh"
+		}
+		file EFI {
+			image = "efi-part/EFI"
+		}
+		file bzImage {
+			image = "bzImage"
+		}
+	}
+	size=10M
+}
+
+# Create the sdcard image, pulling in
+#  * the image created by buildroot
+#  * the efi-partition created above
+image sdcard.img {
+	hdimage {
+	}
+
+	partition boot {
+		partition-type = 0xEF
+		image = "efi-part.vfat"
+	}
+
+	partition rootfs {
+		partition-type = 0x83
+		image = "rootfs.ext4"
+		size = 512M
+	}
+}
diff --git a/board/minnowboard-max/post-image.sh b/board/minnowboard-max/post-image.sh
new file mode 100755
index 000000000000..e90dd6b8cf10
--- /dev/null
+++ b/board/minnowboard-max/post-image.sh
@@ -0,0 +1,13 @@
+#!/bin/sh -e
+
+GENIMAGE_CFG="board/minnowboard-max/genimage.cfg"
+GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
+
+rm -rf "${GENIMAGE_TMP}"
+
+genimage \
+    --rootpath "${TARGET_DIR}" \
+    --tmppath "${GENIMAGE_TMP}" \
+    --inputpath "${BINARIES_DIR}" \
+    --outputpath "${BINARIES_DIR}" \
+    --config "${GENIMAGE_CFG}"
diff --git a/board/minnowboard-max/readme.txt b/board/minnowboard-max/readme.txt
index 5f52369b97d6..dfad2aba2123 100644
--- a/board/minnowboard-max/readme.txt
+++ b/board/minnowboard-max/readme.txt
@@ -1,40 +1,25 @@
-Prepare the SD card for the Minnow Board MAX
+How to get started with the Minnow Board MAX
 ============================================
 
- 1. Partition the SD card with a GPT partition table
+1. Build
 
-    sudo cgdisk /dev/mmcblk0
+  Apply the defconfig:
 
-    Create two partitions:
+  $ make minnowboard_max_defconfig
 
-     a) First partition of a few dozens of megabytes, which will be
-        used to store the bootloader and the kernel image. Type must
-        be EF00 (EFI partition).
+  Add any additional packages required and build:
 
-     b) Second partition of any size, which will be used to store the
-        root filesystem. Type must be 8300 (Linux filesystem)
+  $ make
 
- 2. Prepare the boot partition
+2. Write the SD card
 
-    We will format it, mount it, copy the EFI data generated by
-    Buildroot, and the kernel image.
+  The build process will create a SD card image in output/images.
+  Write the image to an mSD card, insert into the Minnowboard MAX
+  and power the board on.
 
-    sudo mkfs.vfat -F 32 -n boot /dev/mmcblk0p1
-    sudo mount /dev/mmcblk0p1 /mnt
-    sudo cp -a output/images/efi-part/* /mnt/
-    sudo cp output/images/bzImage /mnt/
-    sudo umount /mnt
+  $ dd if=output/images/sdcard.img of=/dev/mmcblk0; sync
 
- 3. Prepare the root partition
-
-    We will format it, mount it, and extract the root filesystem.
-
-    sudo mkfs.ext4 -L root /dev/mmcblk0p2
-    sudo mount /dev/mmcblk0p2 /mnt
-    sudo tar -C /mnt -xf output/images/rootfs.tar
-    sudo umount /mnt
-
- 4. Enjoy
+3. Enjoy
 
 Additional information about this board can be found at
 http://www.minnowboard.org/ or http://wiki.minnowboard.org/MinnowBoard_MAX
diff --git a/configs/minnowboard_max_defconfig b/configs/minnowboard_max_defconfig
index 98996db958ff..47f7d4e96a55 100644
--- a/configs/minnowboard_max_defconfig
+++ b/configs/minnowboard_max_defconfig
@@ -5,9 +5,12 @@ BR2_x86_atom=y
 # Misc
 BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/minnowboard-max/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/minnowboard-max/post-image.sh"
 
 # Linux headers same as kernel, a 4.4 series
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
 
 # Needed for ethernet
 BR2_PACKAGE_LINUX_FIRMWARE=y
@@ -23,3 +26,8 @@ BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/minnowboard-max/linux.config"
 # Bootloader
 BR2_TARGET_GRUB2=y
 BR2_TARGET_GRUB2_X86_64_EFI=y
+
+# Filesystem image
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+# BR2_TARGET_ROOTFS_TAR is not set
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 2/4] board/minnowboard: Rework to generate SD card image
  2016-04-12  5:29 [Buildroot] [PATCH 0/4] Fun with Minnowboard Turot Ezequiel Garcia
  2016-04-12  5:29 ` [Buildroot] [PATCH 1/4] board/minnowboard-max: Rework to generate SD card image Ezequiel Garcia
@ 2016-04-12  5:29 ` Ezequiel Garcia
  2016-04-12 23:24   ` Arnout Vandecappelle
  2016-04-12  5:29 ` [Buildroot] [PATCH 3/4] board/minnowboard-max: Add more peripherals and features to the kernel Ezequiel Garcia
  2016-04-12  5:29 ` [Buildroot] [PATCH 4/4] board/minnowboard-max: Add a X-based graphical defconfig Ezequiel Garcia
  3 siblings, 1 reply; 19+ messages in thread
From: Ezequiel Garcia @ 2016-04-12  5:29 UTC (permalink / raw)
  To: buildroot

Let's rework the board and config files to use genimage
to generate the SD card image directly.

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
---
 board/minnowboard/genimage.cfg  | 34 ++++++++++++++++++++++++++++++++++
 board/minnowboard/post-image.sh | 13 +++++++++++++
 board/minnowboard/readme.txt    | 39 ++++++++++++---------------------------
 configs/minnowboard_defconfig   |  8 ++++++++
 4 files changed, 67 insertions(+), 27 deletions(-)
 create mode 100644 board/minnowboard/genimage.cfg
 create mode 100755 board/minnowboard/post-image.sh

diff --git a/board/minnowboard/genimage.cfg b/board/minnowboard/genimage.cfg
new file mode 100644
index 000000000000..6cf787430752
--- /dev/null
+++ b/board/minnowboard/genimage.cfg
@@ -0,0 +1,34 @@
+# Create an image of the efi partition
+image efi-part.vfat {
+	vfat {
+		file startup.nsh {
+			image = "efi-part/startup.nsh"
+		}
+		file EFI {
+			image = "efi-part/EFI"
+		}
+		file bzImage {
+			image = "bzImage"
+		}
+	}
+	size=10M
+}
+
+# Create the sdcard image, pulling in
+#  * the image created by buildroot
+#  * the efi-partition created above
+image sdcard.img {
+	hdimage {
+	}
+
+	partition boot {
+		partition-type = 0xEF
+		image = "efi-part.vfat"
+	}
+
+	partition rootfs {
+		partition-type = 0x83
+		image = "rootfs.ext4"
+		size = 512M
+	}
+}
diff --git a/board/minnowboard/post-image.sh b/board/minnowboard/post-image.sh
new file mode 100755
index 000000000000..428baa5e5599
--- /dev/null
+++ b/board/minnowboard/post-image.sh
@@ -0,0 +1,13 @@
+#!/bin/sh -e
+
+GENIMAGE_CFG="board/minnowboard/genimage.cfg"
+GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
+
+rm -rf "${GENIMAGE_TMP}"
+
+genimage \
+    --rootpath "${TARGET_DIR}" \
+    --tmppath "${GENIMAGE_TMP}" \
+    --inputpath "${BINARIES_DIR}" \
+    --outputpath "${BINARIES_DIR}" \
+    --config "${GENIMAGE_CFG}"
diff --git a/board/minnowboard/readme.txt b/board/minnowboard/readme.txt
index 62ffa92e0b83..3a24fdc162b8 100644
--- a/board/minnowboard/readme.txt
+++ b/board/minnowboard/readme.txt
@@ -1,40 +1,25 @@
-Prepare the SD card for the Minnow Board
+How to get started with the MinnowBoard
 ========================================
 
- 1. Partition the SD card with a GPT partition table
+1. Build
 
-    sudo cgdisk /dev/mmcblk0
+  Apply the defconfig:
 
-    Create two partitions:
+  $ make minnowboard_defconfig
 
-     a) First partition of a few dozens of megabytes, which will be
-        used to store the bootloader and the kernel image. Type must
-        be EF00 (EFI partition).
+  Add any additional packages required and build:
 
-     b) Second partition of any size, which will be used to store the
-        root filesystem. Type must be 8300 (Linux filesystem)
+  $ make
 
- 2. Prepare the boot partition
+2. Write the SD card
 
-    We will format it, mount it, copy the EFI data generated by
-    Buildroot, and the kernel image.
+  The build process will create a SD card image in output/images.
+  Write the image to an mSD card, insert into the MinnowBoard
+  and power the board on.
 
-    sudo mkfs.vfat -F 32 -n boot /dev/mmcblk0p1
-    sudo mount /dev/mmcblk0p1 /mnt
-    sudo cp -a output/images/efi-part/* /mnt/
-    sudo cp output/images/bzImage /mnt/
-    sudo umount /mnt
+  $ dd if=output/images/sdcard.img of=/dev/mmcblk0; sync
 
- 3. Prepare the root partition
-
-    We will format it, mount it, and extract the root filesystem.
-
-    sudo mkfs.ext3 -L root /dev/mmcblk0p2
-    sudo mount /dev/mmcblk0p2 /mnt
-    sudo tar -C /mnt -xf output/images/rootfs.tar
-    sudo umount /mnt
-
- 4. Enjoy
+3. Enjoy
 
 Additional information about this board can be found at
 http://www.minnowboard.org/.
diff --git a/configs/minnowboard_defconfig b/configs/minnowboard_defconfig
index 3091957f35dc..3a5e18ea0ceb 100644
--- a/configs/minnowboard_defconfig
+++ b/configs/minnowboard_defconfig
@@ -5,9 +5,12 @@ BR2_x86_atom=y
 # Misc
 BR2_TARGET_GENERIC_GETTY_PORT="ttyPCH0"
 BR2_ROOTFS_POST_BUILD_SCRIPT="board/minnowboard/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/minnowboard/post-image.sh"
 
 # Linux headers same as kernel, a 3.8 series
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_8=y
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
 
 # Linux kernel
 BR2_LINUX_KERNEL=y
@@ -20,3 +23,8 @@ BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/minnowboard/linux-3.8.config"
 # Bootloader
 BR2_TARGET_GRUB2=y
 BR2_TARGET_GRUB2_I386_EFI=y
+
+# Filesystem image
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+# BR2_TARGET_ROOTFS_TAR is not set
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 3/4] board/minnowboard-max: Add more peripherals and features to the kernel
  2016-04-12  5:29 [Buildroot] [PATCH 0/4] Fun with Minnowboard Turot Ezequiel Garcia
  2016-04-12  5:29 ` [Buildroot] [PATCH 1/4] board/minnowboard-max: Rework to generate SD card image Ezequiel Garcia
  2016-04-12  5:29 ` [Buildroot] [PATCH 2/4] board/minnowboard: " Ezequiel Garcia
@ 2016-04-12  5:29 ` Ezequiel Garcia
  2016-04-12 23:29   ` Arnout Vandecappelle
  2016-04-12  5:29 ` [Buildroot] [PATCH 4/4] board/minnowboard-max: Add a X-based graphical defconfig Ezequiel Garcia
  3 siblings, 1 reply; 19+ messages in thread
From: Ezequiel Garcia @ 2016-04-12  5:29 UTC (permalink / raw)
  To: buildroot

This commit enables support for:
  * HDMI audio
  * Support for user-provided EDID firmware
    (useful to workaround broken monitors)
  * Evdev interface
  * System V IPC (required by ALSA)
  * POSIX message queue
  * fhandle syscall
  * cgroups

The options are quite common and make the system more useful.

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
---
 board/minnowboard-max/linux.config | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/board/minnowboard-max/linux.config b/board/minnowboard-max/linux.config
index abb7fdce9861..f80170b9b81d 100644
--- a/board/minnowboard-max/linux.config
+++ b/board/minnowboard-max/linux.config
@@ -1,4 +1,8 @@
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_FHANDLE=y
 CONFIG_NO_HZ=y
+CONFIG_CGROUPS=y
 CONFIG_SMP=y
 CONFIG_X86_INTEL_LPSS=y
 CONFIG_MATOM=y
@@ -13,12 +17,15 @@ CONFIG_NET=y
 CONFIG_PACKET=y
 CONFIG_UNIX=y
 CONFIG_INET=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
 CONFIG_CHR_DEV_SG=y
 CONFIG_ATA=y
 CONFIG_SATA_AHCI=y
 CONFIG_ATA_PIIX=y
 CONFIG_NETDEVICES=y
 CONFIG_R8169=y
+CONFIG_INPUT_EVDEV=y
 CONFIG_SERIAL_8250=y
 CONFIG_SERIAL_8250_CONSOLE=y
 CONFIG_SERIAL_8250_DW=y
@@ -33,7 +40,15 @@ CONFIG_GPIOLIB=y
 CONFIG_GPIO_SYSFS=y
 CONFIG_AGP=y
 CONFIG_DRM=y
+CONFIG_DRM_LOAD_EDID_FIRMWARE=y
 CONFIG_DRM_I915=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+# CONFIG_SND_DRIVERS is not set
+CONFIG_SND_HDA_INTEL=y
+CONFIG_SND_HDA_CODEC_HDMI=y
+# CONFIG_SND_SPI is not set
+# CONFIG_SND_USB is not set
 CONFIG_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_NOP_USB_XCEIV=y
@@ -44,3 +59,5 @@ CONFIG_MMC_SDHCI_ACPI=y
 CONFIG_PWM=y
 CONFIG_PWM_LPSS=y
 CONFIG_EXT4_FS=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_TMPFS_POSIX_ACL=y
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 4/4] board/minnowboard-max: Add a X-based graphical defconfig
  2016-04-12  5:29 [Buildroot] [PATCH 0/4] Fun with Minnowboard Turot Ezequiel Garcia
                   ` (2 preceding siblings ...)
  2016-04-12  5:29 ` [Buildroot] [PATCH 3/4] board/minnowboard-max: Add more peripherals and features to the kernel Ezequiel Garcia
@ 2016-04-12  5:29 ` Ezequiel Garcia
  2016-04-12 23:41   ` Arnout Vandecappelle
  3 siblings, 1 reply; 19+ messages in thread
From: Ezequiel Garcia @ 2016-04-12  5:29 UTC (permalink / raw)
  To: buildroot

This commit adds a new defconfig to build a X-based
graphical system for the MinnowboardMax board.

  * The 'openbox' windows manager is chosen because it's simple
    and lightweigth.

  * Basic X apps are enabled (such as xrandr, xterm), so we
    can at least get a console and change video mode.

  * ALSA default configuration is provided, so HDMI audio
    works out-of-the-box.

  * Systemd is chosen as the init system because... you know ;)

  * ... and finally, OpenGL support is provided.

Tested on Minnoboard Turot (which is Minnowboard Max compatible).

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
---
 board/minnowboard-max/asound.conf           |   2 +
 board/minnowboard-max/post-build.sh         |  20 +++
 board/minnowboard-max/startx                | 239 ++++++++++++++++++++++++++++
 configs/minnowboard_max_graphical_defconfig |  78 +++++++++
 4 files changed, 339 insertions(+)
 create mode 100644 board/minnowboard-max/asound.conf
 create mode 100755 board/minnowboard-max/startx
 create mode 100644 configs/minnowboard_max_graphical_defconfig

diff --git a/board/minnowboard-max/asound.conf b/board/minnowboard-max/asound.conf
new file mode 100644
index 000000000000..8947748052e5
--- /dev/null
+++ b/board/minnowboard-max/asound.conf
@@ -0,0 +1,2 @@
+defaults.pcm.card 0
+defaults.pcm.device 3
diff --git a/board/minnowboard-max/post-build.sh b/board/minnowboard-max/post-build.sh
index 9f86d390f2ef..9156233404f8 100755
--- a/board/minnowboard-max/post-build.sh
+++ b/board/minnowboard-max/post-build.sh
@@ -1,2 +1,22 @@
 #!/bin/sh
+
+# Install grub config to the EFI part template
 cp board/minnowboard-max/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
+
+# Tell systemd we want a login shell on tty0
+ln -sf ${TARGET_DIR}/usr/lib/systemd/system/getty at .service ${TARGET_DIR}/etc/systemd/system/getty.target.wants/getty at tty0.service
+
+# Setup xinitrc
+echo "exec /usr/bin/openbox-session" > ${TARGET_DIR}/root/.xinitrc
+
+# Fixup startx so it doesn't start X on the controlling
+# virtual console. Apparently, this is a bug and we are
+# affected for our lack of a Display Manager.
+# See https://bugs.freedesktop.org/show_bug.cgi?id=87762
+#
+# I haven't found a way to do this without hacking startx
+# itself, so...
+cp board/minnowboard-max/startx ${TARGET_DIR}/usr/bin/startx
+
+# Customize ALSA: the HDMI PCM is at card=0, device=3 (i.e. hw:0,3)
+cp board/minnowboard-max/asound.conf ${TARGET_DIR}/etc/asound.conf
diff --git a/board/minnowboard-max/startx b/board/minnowboard-max/startx
new file mode 100755
index 000000000000..3ed32a494654
--- /dev/null
+++ b/board/minnowboard-max/startx
@@ -0,0 +1,239 @@
+#!/bin/sh
+
+#
+# This is just a sample implementation of a slightly less primitive
+# interface than xinit. It looks for user .xinitrc and .xserverrc
+# files, then system xinitrc and xserverrc files, else lets xinit choose
+# its default. The system xinitrc should probably do things like check
+# for .Xresources files and merge them in, start up a window manager,
+# and pop a clock and several xterms.
+#
+# Site administrators are STRONGLY urged to write nicer versions.
+#
+
+unset DBUS_SESSION_BUS_ADDRESS
+unset SESSION_MANAGER
+userclientrc=$HOME/.xinitrc
+sysclientrc=/etc/X11/xinit/xinitrc
+
+userserverrc=$HOME/.xserverrc
+sysserverrc=/etc/X11/xinit/xserverrc
+defaultclient=xterm
+defaultserver=/usr/bin/X
+defaultclientargs=""
+defaultserverargs=""
+defaultdisplay=":0"
+clientargs=""
+serverargs="vt1"
+vtarg=""
+enable_xauth=1
+
+
+# Automatically determine an unused $DISPLAY
+d=0
+while true ; do
+    [ -e /tmp/.X$d-lock ] || break
+    d=$(($d + 1))
+done
+defaultdisplay=":$d"
+unset d
+
+whoseargs="client"
+while [ x"$1" != x ]; do
+    case "$1" in
+    # '' required to prevent cpp from treating "/*" as a C comment.
+    /''*|\./''*)
+ if [ "$whoseargs" = "client" ]; then
+     if [ x"$client" = x ] && [ x"$clientargs" = x ]; then
+  client="$1"
+     else
+  clientargs="$clientargs $1"
+     fi
+ else
+     if [ x"$server" = x ] && [ x"$serverargs" = x ]; then
+  server="$1"
+     else
+  serverargs="$serverargs $1"
+     fi
+ fi
+ ;;
+    --)
+ whoseargs="server"
+ ;;
+    *)
+ if [ "$whoseargs" = "client" ]; then
+     clientargs="$clientargs $1"
+ else
+     # display must be the FIRST server argument
+     if [ x"$serverargs" = x ] && \
+   expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then
+  display="$1"
+     else
+  serverargs="$serverargs $1"
+     fi
+ fi
+ ;;
+    esac
+    shift
+done
+
+# process client arguments
+if [ x"$client" = x ]; then
+    client=$defaultclient
+
+    # For compatibility reasons, only use startxrc if there were no client command line arguments
+    if [ x"$clientargs" = x ]; then
+        if [ -f "$userclientrc" ]; then
+            client=$userclientrc
+        elif [ -f "$sysclientrc" ]; then
+            client=$sysclientrc
+        fi
+    fi
+fi
+
+# if no client arguments, use defaults
+if [ x"$clientargs" = x ]; then
+    clientargs=$defaultclientargs
+fi
+
+# process server arguments
+if [ x"$server" = x ]; then
+    server=$defaultserver
+
+
+    # When starting the defaultserver start X on the current tty to avoid
+    # the startx session being seen as inactive:
+    # "https://bugzilla.redhat.com/show_bug.cgi?id=806491"
+    tty=$(tty)
+    if expr match "$tty" '^/dev/tty[0-9]\+$' > /dev/null; then
+        tty_num=$(echo "$tty" | grep -oE '[0-9]+$')
+        vtarg="vt$tty_num"
+    fi
+
+
+    # For compatibility reasons, only use xserverrc if there were no server command line arguments
+    if [ x"$serverargs" = x -a x"$display" = x ]; then
+ if [ -f "$userserverrc" ]; then
+     server=$userserverrc
+ elif [ -f "$sysserverrc" ]; then
+     server=$sysserverrc
+ fi
+    fi
+fi
+
+# if no server arguments, use defaults
+if [ x"$serverargs" = x ]; then
+    serverargs=$defaultserverargs
+fi
+
+# if no vt is specified add vtarg (which may be empty)
+have_vtarg="no"
+for i in $serverargs; do
+    if expr match "$i" '^vt[0-9]\+$' > /dev/null; then
+        have_vtarg="yes"
+    fi
+done
+if [ "$have_vtarg" = "no" ]; then
+    serverargs="$serverargs $vtarg"
+fi
+
+# if no display, use default
+if [ x"$display" = x ]; then
+    display=$defaultdisplay
+fi
+
+if [ x"$enable_xauth" = x1 ] ; then
+    if [ x"$XAUTHORITY" = x ]; then
+        XAUTHORITY=$HOME/.Xauthority
+        export XAUTHORITY
+    fi
+
+    removelist=
+
+    # set up default Xauth info for this machine
+    case `uname` in
+    Linux*)
+        if [ -z "`hostname --version 2>&1 | grep GNU`" ]; then
+            hostname=`hostname -f`
+        else
+            hostname=`hostname`
+        fi
+        ;;
+    *)
+        hostname=`hostname`
+        ;;
+    esac
+
+    authdisplay=${display:-:0}
+
+    mcookie=`/usr/bin/mcookie`
+
+
+
+
+
+
+
+    if test x"$mcookie" = x; then
+        echo "Couldn't create cookie"
+        exit 1
+    fi
+    dummy=0
+
+    # create a file with auth information for the server. ':0' is a dummy.
+    xserverauthfile=$HOME/.serverauth.$$
+    trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM
+    xauth -q -f "$xserverauthfile" << EOF
+add :$dummy . $mcookie
+EOF
+
+
+
+
+    serverargs=${serverargs}" -auth "${xserverauthfile}
+
+
+    # now add the same credentials to the client authority file
+    # if '$displayname' already exists do not overwrite it as another
+    # server man need it. Add them to the '$xserverauthfile' instead.
+    for displayname in $authdisplay $hostname$authdisplay; do
+        authcookie=`xauth list "$displayname" \
+        | sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p"` 2>/dev/null;
+        if [ "z${authcookie}" = "z" ] ; then
+            xauth -q << EOF
+add $displayname . $mcookie
+EOF
+        removelist="$displayname $removelist"
+        else
+            dummy=$(($dummy+1));
+            xauth -q -f "$xserverauthfile" << EOF
+add :$dummy . $authcookie
+EOF
+        fi
+    done
+fi
+
+
+
+
+xinit "$client" $clientargs -- "$server" $display $serverargs
+
+retval=$?
+
+if [ x"$enable_xauth" = x1 ] ; then
+    if [ x"$removelist" != x ]; then
+        xauth remove $removelist
+    fi
+    if [ x"$xserverauthfile" != x ]; then
+        rm -f "$xserverauthfile"
+    fi
+fi
+
+
+
+
+
+if command -v deallocvt > /dev/null 2>&1; then
+    deallocvt
+fi
+exit $retval
diff --git a/configs/minnowboard_max_graphical_defconfig b/configs/minnowboard_max_graphical_defconfig
new file mode 100644
index 000000000000..d66581d925b6
--- /dev/null
+++ b/configs/minnowboard_max_graphical_defconfig
@@ -0,0 +1,78 @@
+# Architecture
+BR2_x86_64=y
+BR2_x86_atom=y
+
+# Toolchain
+BR2_OPTIMIZE_2=y
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_GLIBC_VERSION_2_23=y
+BR2_BINUTILS_VERSION_2_26_X=y
+BR2_GCC_VERSION_5_X=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+BR2_ENABLE_LOCALE_PURGE=y
+
+# System config
+BR2_INIT_SYSTEMD=y
+BR2_SYSTEM_BIN_SH_BASH=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
+BR2_SYSTEM_DHCP="enp2s0"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/minnowboard-max/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/minnowboard-max/post-image.sh"
+
+# Linux
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION=y
+BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/minnowboard-max/linux.config"
+
+# Packages
+BR2_PACKAGE_ALSA_UTILS=y
+BR2_PACKAGE_ALSA_UTILS_APLAY=y
+BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST=y
+BR2_PACKAGE_GREP=y
+BR2_PACKAGE_GLMARK2=y
+BR2_PACKAGE_MESA3D_DEMOS=y
+BR2_PACKAGE_FB_TEST_APP=y
+BR2_PACKAGE_MESA3D=y
+BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
+BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y
+BR2_PACKAGE_XORG7=y
+BR2_PACKAGE_XSERVER_XORG_SERVER=y
+BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX=y
+BR2_PACKAGE_XAPP_XDM=y
+BR2_PACKAGE_XAPP_XINIT=y
+BR2_PACKAGE_XAPP_XRANDR=y
+BR2_PACKAGE_XAPP_XSM=y
+BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV=y
+BR2_PACKAGE_XDRIVER_XF86_INPUT_JOYSTICK=y
+BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD=y
+BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE=y
+BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL=y
+BR2_PACKAGE_XTERM=y
+BR2_PACKAGE_OPENBOX=y
+BR2_PACKAGE_LINUX_FIRMWARE=y
+BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y
+BR2_PACKAGE_IMLIB2=y
+BR2_PACKAGE_IMLIB2_JPEG=y
+BR2_PACKAGE_IMLIB2_PNG=y
+BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y
+BR2_PACKAGE_STARTUP_NOTIFICATION=y
+BR2_PACKAGE_COREUTILS=y
+BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS=y
+BR2_PACKAGE_UTIL_LINUX_MORE=y
+BR2_PACKAGE_LESS=y
+
+# Filesystem image
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+# BR2_TARGET_ROOTFS_TAR is not set
+
+# Bootloader
+BR2_TARGET_GRUB2=y
+BR2_TARGET_GRUB2_X86_64_EFI=y
+
+# Host packages
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
-- 
2.7.0

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/4] board/minnowboard-max: Rework to generate SD card image
  2016-04-12  5:29 ` [Buildroot] [PATCH 1/4] board/minnowboard-max: Rework to generate SD card image Ezequiel Garcia
@ 2016-04-12 23:21   ` Arnout Vandecappelle
  2016-04-13 19:59     ` Peter Korsgaard
  2016-04-13 20:39   ` Peter Korsgaard
  1 sibling, 1 reply; 19+ messages in thread
From: Arnout Vandecappelle @ 2016-04-12 23:21 UTC (permalink / raw)
  To: buildroot

On 04/12/16 07:29, Ezequiel Garcia wrote:
> Let's rework the board and config files to use genimage
> to generate the SD card image directly.
>
> Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>

Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

> ---
>   board/minnowboard-max/genimage.cfg  | 34 ++++++++++++++++++++++++++++++++
>   board/minnowboard-max/post-image.sh | 13 +++++++++++++

  If you feel up to it: I think it would be nice to add an fs/genimage infra 
that runs genimage at the end of the build with a user-specified config file. 
All the post-image scripts we have for the defconfigs are identical.


  Regards,
  Arnout

>   board/minnowboard-max/readme.txt    | 39 ++++++++++++-------------------------
>   configs/minnowboard_max_defconfig   |  8 ++++++++
>   4 files changed, 67 insertions(+), 27 deletions(-)
>   create mode 100644 board/minnowboard-max/genimage.cfg
>   create mode 100755 board/minnowboard-max/post-image.sh
[snip]

-- 
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 2/4] board/minnowboard: Rework to generate SD card image
  2016-04-12  5:29 ` [Buildroot] [PATCH 2/4] board/minnowboard: " Ezequiel Garcia
@ 2016-04-12 23:24   ` Arnout Vandecappelle
  2016-04-12 23:56     ` Ezequiel Garcia
  0 siblings, 1 reply; 19+ messages in thread
From: Arnout Vandecappelle @ 2016-04-12 23:24 UTC (permalink / raw)
  To: buildroot

On 04/12/16 07:29, Ezequiel Garcia wrote:
> Let's rework the board and config files to use genimage
> to generate the SD card image directly.
>
> Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>

  Instead of this patch, wouldn't it be nicer to unify the minnowboard and 
minnowboard-max directories? Or at least, make the genimage.cfg, post-image.sh 
and readme.txt a symlink to the -max equivalent (grub.cfg and linux.config are 
different).

  Regards,
  Arnout

> ---
>   board/minnowboard/genimage.cfg  | 34 ++++++++++++++++++++++++++++++++++
>   board/minnowboard/post-image.sh | 13 +++++++++++++
>   board/minnowboard/readme.txt    | 39 ++++++++++++---------------------------
>   configs/minnowboard_defconfig   |  8 ++++++++
>   4 files changed, 67 insertions(+), 27 deletions(-)
>   create mode 100644 board/minnowboard/genimage.cfg
>   create mode 100755 board/minnowboard/post-image.sh
[snip]


-- 
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 3/4] board/minnowboard-max: Add more peripherals and features to the kernel
  2016-04-12  5:29 ` [Buildroot] [PATCH 3/4] board/minnowboard-max: Add more peripherals and features to the kernel Ezequiel Garcia
@ 2016-04-12 23:29   ` Arnout Vandecappelle
  2016-04-12 23:55     ` Ezequiel Garcia
  0 siblings, 1 reply; 19+ messages in thread
From: Arnout Vandecappelle @ 2016-04-12 23:29 UTC (permalink / raw)
  To: buildroot

On 04/12/16 07:29, Ezequiel Garcia wrote:
> This commit enables support for:
>    * HDMI audio
>    * Support for user-provided EDID firmware
>      (useful to workaround broken monitors)
>    * Evdev interface
>    * System V IPC (required by ALSA)
>    * POSIX message queue
>    * fhandle syscall
>    * cgroups

  Why cgroups?

>
> The options are quite common and make the system more useful.
>
> Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
> ---
>   board/minnowboard-max/linux.config | 17 +++++++++++++++++
>   1 file changed, 17 insertions(+)
>
> diff --git a/board/minnowboard-max/linux.config b/board/minnowboard-max/linux.config
> index abb7fdce9861..f80170b9b81d 100644
> --- a/board/minnowboard-max/linux.config
> +++ b/board/minnowboard-max/linux.config
> @@ -1,4 +1,8 @@
> +CONFIG_SYSVIPC=y
> +CONFIG_POSIX_MQUEUE=y
> +CONFIG_FHANDLE=y
>   CONFIG_NO_HZ=y
> +CONFIG_CGROUPS=y
>   CONFIG_SMP=y
>   CONFIG_X86_INTEL_LPSS=y
>   CONFIG_MATOM=y
> @@ -13,12 +17,15 @@ CONFIG_NET=y
>   CONFIG_PACKET=y
>   CONFIG_UNIX=y
>   CONFIG_INET=y
> +CONFIG_DEVTMPFS=y
> +CONFIG_DEVTMPFS_MOUNT=y

  This is added automatically by Buildroot. That said, it's better if it's 
already in the defconfig.

>   CONFIG_CHR_DEV_SG=y
>   CONFIG_ATA=y
>   CONFIG_SATA_AHCI=y
>   CONFIG_ATA_PIIX=y
>   CONFIG_NETDEVICES=y
>   CONFIG_R8169=y
> +CONFIG_INPUT_EVDEV=y
>   CONFIG_SERIAL_8250=y
>   CONFIG_SERIAL_8250_CONSOLE=y
>   CONFIG_SERIAL_8250_DW=y
> @@ -33,7 +40,15 @@ CONFIG_GPIOLIB=y
>   CONFIG_GPIO_SYSFS=y
>   CONFIG_AGP=y
>   CONFIG_DRM=y
> +CONFIG_DRM_LOAD_EDID_FIRMWARE=y
>   CONFIG_DRM_I915=y
> +CONFIG_SOUND=y
> +CONFIG_SND=y
> +# CONFIG_SND_DRIVERS is not set
> +CONFIG_SND_HDA_INTEL=y
> +CONFIG_SND_HDA_CODEC_HDMI=y
> +# CONFIG_SND_SPI is not set
> +# CONFIG_SND_USB is not set
>   CONFIG_USB=y
>   CONFIG_USB_XHCI_HCD=y
>   CONFIG_NOP_USB_XCEIV=y
> @@ -44,3 +59,5 @@ CONFIG_MMC_SDHCI_ACPI=y
>   CONFIG_PWM=y
>   CONFIG_PWM_LPSS=y
>   CONFIG_EXT4_FS=y
> +CONFIG_AUTOFS4_FS=y

  Why?

> +CONFIG_TMPFS_POSIX_ACL=y

  Why?

  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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 4/4] board/minnowboard-max: Add a X-based graphical defconfig
  2016-04-12  5:29 ` [Buildroot] [PATCH 4/4] board/minnowboard-max: Add a X-based graphical defconfig Ezequiel Garcia
@ 2016-04-12 23:41   ` Arnout Vandecappelle
  2016-04-13  0:02     ` Ezequiel Garcia
  2016-04-13 21:02     ` Peter Korsgaard
  0 siblings, 2 replies; 19+ messages in thread
From: Arnout Vandecappelle @ 2016-04-12 23:41 UTC (permalink / raw)
  To: buildroot

On 04/12/16 07:29, Ezequiel Garcia wrote:
> This commit adds a new defconfig to build a X-based
> graphical system for the MinnowboardMax board.
>
>    * The 'openbox' windows manager is chosen because it's simple
>      and lightweigth.
>
>    * Basic X apps are enabled (such as xrandr, xterm), so we
>      can at least get a console and change video mode.
>
>    * ALSA default configuration is provided, so HDMI audio
>      works out-of-the-box.
>
>    * Systemd is chosen as the init system because... you know ;)

  I'm not sure I agree with this one. Even though I like systemd myself, I 
really don't think it belongs here.

>
>    * ... and finally, OpenGL support is provided.
>
> Tested on Minnoboard Turot (which is Minnowboard Max compatible).
>
> Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
> ---
>   board/minnowboard-max/asound.conf           |   2 +
>   board/minnowboard-max/post-build.sh         |  20 +++
>   board/minnowboard-max/startx                | 239 ++++++++++++++++++++++++++++
>   configs/minnowboard_max_graphical_defconfig |  78 +++++++++
>   4 files changed, 339 insertions(+)
>   create mode 100644 board/minnowboard-max/asound.conf
>   create mode 100755 board/minnowboard-max/startx
>   create mode 100644 configs/minnowboard_max_graphical_defconfig

  To distinguish between the minimal and the demo defconfigs, perhaps we can 
call it minnowboard_max-graphical_defconfig?

>
> diff --git a/board/minnowboard-max/asound.conf b/board/minnowboard-max/asound.conf
> new file mode 100644
> index 000000000000..8947748052e5
> --- /dev/null
> +++ b/board/minnowboard-max/asound.conf
> @@ -0,0 +1,2 @@
> +defaults.pcm.card 0
> +defaults.pcm.device 3

  This should be in an fs-overlay directory and use an fs-overlay.

> diff --git a/board/minnowboard-max/post-build.sh b/board/minnowboard-max/post-build.sh
> index 9f86d390f2ef..9156233404f8 100755
> --- a/board/minnowboard-max/post-build.sh
> +++ b/board/minnowboard-max/post-build.sh
> @@ -1,2 +1,22 @@
>   #!/bin/sh
> +
> +# Install grub config to the EFI part template
>   cp board/minnowboard-max/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
> +
> +# Tell systemd we want a login shell on tty0
> +ln -sf ${TARGET_DIR}/usr/lib/systemd/system/getty at .service ${TARGET_DIR}/etc/systemd/system/getty.target.wants/getty at tty0.service

  This should also use fs-overlay. It's anyway wrong in its current incarnation, 
because you refer to ${TARGET_DIR} in the symlink itself... BTW I prefer 
relative symlinks.

  Also, this should only be done for the big build, not for the minimal build, 
so somehow you must distinguish between them. Same below. The fs-overlay is the 
simplest way to do that.

> +
> +# Setup xinitrc
> +echo "exec /usr/bin/openbox-session" > ${TARGET_DIR}/root/.xinitrc

  Put this in the fs-overlay.

> +
> +# Fixup startx so it doesn't start X on the controlling
> +# virtual console. Apparently, this is a bug and we are
> +# affected for our lack of a Display Manager.
> +# See https://bugs.freedesktop.org/show_bug.cgi?id=87762
> +#
> +# I haven't found a way to do this without hacking startx
> +# itself, so...

  This comment should be in the startx script itself.

> +cp board/minnowboard-max/startx ${TARGET_DIR}/usr/bin/startx
> +
> +# Customize ALSA: the HDMI PCM is at card=0, device=3 (i.e. hw:0,3)

  Same here.

> +cp board/minnowboard-max/asound.conf ${TARGET_DIR}/etc/asound.conf
> diff --git a/board/minnowboard-max/startx b/board/minnowboard-max/startx
> new file mode 100755
> index 000000000000..3ed32a494654
> --- /dev/null
> +++ b/board/minnowboard-max/startx
[snip]
> diff --git a/configs/minnowboard_max_graphical_defconfig b/configs/minnowboard_max_graphical_defconfig
> new file mode 100644
> index 000000000000..d66581d925b6
> --- /dev/null
> +++ b/configs/minnowboard_max_graphical_defconfig
> @@ -0,0 +1,78 @@
> +# Architecture
> +BR2_x86_64=y
> +BR2_x86_atom=y
> +
> +# Toolchain
> +BR2_OPTIMIZE_2=y
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
> +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> +BR2_GLIBC_VERSION_2_23=y
> +BR2_BINUTILS_VERSION_2_26_X=y
> +BR2_GCC_VERSION_5_X=y
> +BR2_TOOLCHAIN_BUILDROOT_CXX=y
> +BR2_ENABLE_LOCALE_PURGE=y
> +
> +# System config
> +BR2_INIT_SYSTEMD=y
> +BR2_SYSTEM_BIN_SH_BASH=y
> +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
> +BR2_SYSTEM_DHCP="enp2s0"
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/minnowboard-max/post-build.sh"
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/minnowboard-max/post-image.sh"
> +
> +# Linux
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4"
> +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
> +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/minnowboard-max/linux.config"
> +
> +# Packages
> +BR2_PACKAGE_ALSA_UTILS=y
> +BR2_PACKAGE_ALSA_UTILS_APLAY=y
> +BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST=y
> +BR2_PACKAGE_GREP=y

  Not sure why we would want this. Doesn't it require BUSYBOX_SHOW_OTHERS?

> +BR2_PACKAGE_GLMARK2=y
> +BR2_PACKAGE_MESA3D_DEMOS=y
> +BR2_PACKAGE_FB_TEST_APP=y
> +BR2_PACKAGE_MESA3D=y
> +BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
> +BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y
> +BR2_PACKAGE_XORG7=y
> +BR2_PACKAGE_XSERVER_XORG_SERVER=y
> +BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX=y
> +BR2_PACKAGE_XAPP_XDM=y
> +BR2_PACKAGE_XAPP_XINIT=y
> +BR2_PACKAGE_XAPP_XRANDR=y
> +BR2_PACKAGE_XAPP_XSM=y

  Don't we need a terminal as well?

> +BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV=y
> +BR2_PACKAGE_XDRIVER_XF86_INPUT_JOYSTICK=y

  Not sure if joystick is that useful.

> +BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD=y
> +BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE=y
> +BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL=y
> +BR2_PACKAGE_XTERM=y
> +BR2_PACKAGE_OPENBOX=y
> +BR2_PACKAGE_LINUX_FIRMWARE=y
> +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y
> +BR2_PACKAGE_IMLIB2=y
> +BR2_PACKAGE_IMLIB2_JPEG=y
> +BR2_PACKAGE_IMLIB2_PNG=y
> +BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y
> +BR2_PACKAGE_STARTUP_NOTIFICATION=y
> +BR2_PACKAGE_COREUTILS=y
  Why?

> +BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS=y
  Why?

> +BR2_PACKAGE_UTIL_LINUX_MORE=y
  Why?

> +BR2_PACKAGE_LESS=y


  I'd like to reorder the packages to put all the X stuff together with a 
comment above and, and then all the dev stuff (like bash and less) with a comment.


  Regards,
  Arnout

> +
> +# Filesystem image
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +# BR2_TARGET_ROOTFS_TAR is not set
> +
> +# Bootloader
> +BR2_TARGET_GRUB2=y
> +BR2_TARGET_GRUB2_X86_64_EFI=y
> +
> +# Host packages
> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
> +BR2_PACKAGE_HOST_GENIMAGE=y
>


-- 
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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 3/4] board/minnowboard-max: Add more peripherals and features to the kernel
  2016-04-12 23:29   ` Arnout Vandecappelle
@ 2016-04-12 23:55     ` Ezequiel Garcia
  2016-04-13 21:02       ` Peter Korsgaard
  0 siblings, 1 reply; 19+ messages in thread
From: Ezequiel Garcia @ 2016-04-12 23:55 UTC (permalink / raw)
  To: buildroot

On 12 April 2016 at 20:29, Arnout Vandecappelle <arnout@mind.be> wrote:
> On 04/12/16 07:29, Ezequiel Garcia wrote:
>>
>> This commit enables support for:
>>    * HDMI audio
>>    * Support for user-provided EDID firmware
>>      (useful to workaround broken monitors)
>>    * Evdev interface
>>    * System V IPC (required by ALSA)
>>    * POSIX message queue
>>    * fhandle syscall
>>    * cgroups
>
>
>  Why cgroups?
>

Well, in fact... the commit log is not correct. My initial intention
was to add IPC (required by ALSA), HDMI audio and evdev.

As you can imagine, the goal was to play supertuxkart.

The rest of the configs got added by Buildroot, because
of the systemd presence:

$ cat linux/linux.mk
[..]
        $(if $(BR2_PACKAGE_SYSTEMD),
                $(call KCONFIG_ENABLE_OPT,CONFIG_CGROUPS,$(@D)/.config)
                $(call KCONFIG_ENABLE_OPT,CONFIG_INOTIFY_USER,$(@D)/.config)
                $(call KCONFIG_ENABLE_OPT,CONFIG_FHANDLE,$(@D)/.config)
                $(call KCONFIG_ENABLE_OPT,CONFIG_AUTOFS4_FS,$(@D)/.config)
                $(call KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_ACL,$(@D)/.config)
                $(call
KCONFIG_ENABLE_OPT,CONFIG_TMPFS_POSIX_XATTR,$(@D)/.config))

Same goes for devtmpfs, but that's a different matter. I suppose I was
originally working with BR2_ROOTFS_DEVICE_CREATION_STATIC=y and
so carried the options (not needed with systemd of course).

They options got here because I manually added the new options
and updated the config from a defconfig using savedefconfig.

Anyway: I don't care at all about them, I just want audio and evdev :-)

Regarding using systemd, I'll reply to the other patch.

>>
>> The options are quite common and make the system more useful.
>>
>> Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
>> ---
>>   board/minnowboard-max/linux.config | 17 +++++++++++++++++
>>   1 file changed, 17 insertions(+)
>>
>> diff --git a/board/minnowboard-max/linux.config
>> b/board/minnowboard-max/linux.config
>> index abb7fdce9861..f80170b9b81d 100644
>> --- a/board/minnowboard-max/linux.config
>> +++ b/board/minnowboard-max/linux.config
>> @@ -1,4 +1,8 @@
>> +CONFIG_SYSVIPC=y
>> +CONFIG_POSIX_MQUEUE=y
>> +CONFIG_FHANDLE=y
>>   CONFIG_NO_HZ=y
>> +CONFIG_CGROUPS=y
>>   CONFIG_SMP=y
>>   CONFIG_X86_INTEL_LPSS=y
>>   CONFIG_MATOM=y
>> @@ -13,12 +17,15 @@ CONFIG_NET=y
>>   CONFIG_PACKET=y
>>   CONFIG_UNIX=y
>>   CONFIG_INET=y
>> +CONFIG_DEVTMPFS=y
>> +CONFIG_DEVTMPFS_MOUNT=y
>
>
>  This is added automatically by Buildroot. That said, it's better if it's
> already in the defconfig.
>
>
>>   CONFIG_CHR_DEV_SG=y
>>   CONFIG_ATA=y
>>   CONFIG_SATA_AHCI=y
>>   CONFIG_ATA_PIIX=y
>>   CONFIG_NETDEVICES=y
>>   CONFIG_R8169=y
>> +CONFIG_INPUT_EVDEV=y
>>   CONFIG_SERIAL_8250=y
>>   CONFIG_SERIAL_8250_CONSOLE=y
>>   CONFIG_SERIAL_8250_DW=y
>> @@ -33,7 +40,15 @@ CONFIG_GPIOLIB=y
>>   CONFIG_GPIO_SYSFS=y
>>   CONFIG_AGP=y
>>   CONFIG_DRM=y
>> +CONFIG_DRM_LOAD_EDID_FIRMWARE=y
>>   CONFIG_DRM_I915=y
>> +CONFIG_SOUND=y
>> +CONFIG_SND=y
>> +# CONFIG_SND_DRIVERS is not set
>> +CONFIG_SND_HDA_INTEL=y
>> +CONFIG_SND_HDA_CODEC_HDMI=y
>> +# CONFIG_SND_SPI is not set
>> +# CONFIG_SND_USB is not set
>>   CONFIG_USB=y
>>   CONFIG_USB_XHCI_HCD=y
>>   CONFIG_NOP_USB_XCEIV=y
>> @@ -44,3 +59,5 @@ CONFIG_MMC_SDHCI_ACPI=y
>>   CONFIG_PWM=y
>>   CONFIG_PWM_LPSS=y
>>   CONFIG_EXT4_FS=y
>> +CONFIG_AUTOFS4_FS=y
>
>
>  Why?
>
>> +CONFIG_TMPFS_POSIX_ACL=y
>
>
>  Why?
>
>  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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF



-- 
Ezequiel Garc?a, VanguardiaSur
www.vanguardiasur.com.ar

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 2/4] board/minnowboard: Rework to generate SD card image
  2016-04-12 23:24   ` Arnout Vandecappelle
@ 2016-04-12 23:56     ` Ezequiel Garcia
  0 siblings, 0 replies; 19+ messages in thread
From: Ezequiel Garcia @ 2016-04-12 23:56 UTC (permalink / raw)
  To: buildroot

On 12 April 2016 at 20:24, Arnout Vandecappelle <arnout@mind.be> wrote:
> On 04/12/16 07:29, Ezequiel Garcia wrote:
>>
>> Let's rework the board and config files to use genimage
>> to generate the SD card image directly.
>>
>> Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
>
>
>  Instead of this patch, wouldn't it be nicer to unify the minnowboard and
> minnowboard-max directories? Or at least, make the genimage.cfg,
> post-image.sh and readme.txt a symlink to the -max equivalent (grub.cfg and
> linux.config are different).
>

Yeah, that's a good idea. I'll see what I can do.
-- 
Ezequiel Garc?a, VanguardiaSur
www.vanguardiasur.com.ar

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 4/4] board/minnowboard-max: Add a X-based graphical defconfig
  2016-04-12 23:41   ` Arnout Vandecappelle
@ 2016-04-13  0:02     ` Ezequiel Garcia
  2016-04-13  7:38       ` Arnout Vandecappelle
  2016-04-13 21:02     ` Peter Korsgaard
  1 sibling, 1 reply; 19+ messages in thread
From: Ezequiel Garcia @ 2016-04-13  0:02 UTC (permalink / raw)
  To: buildroot

On 12 April 2016 at 20:41, Arnout Vandecappelle <arnout@mind.be> wrote:
> On 04/12/16 07:29, Ezequiel Garcia wrote:
>>
>> This commit adds a new defconfig to build a X-based
>> graphical system for the MinnowboardMax board.
>>
>>    * The 'openbox' windows manager is chosen because it's simple
>>      and lightweigth.
>>
>>    * Basic X apps are enabled (such as xrandr, xterm), so we
>>      can at least get a console and change video mode.
>>
>>    * ALSA default configuration is provided, so HDMI audio
>>      works out-of-the-box.
>>
>>    * Systemd is chosen as the init system because... you know ;)
>
>
>  I'm not sure I agree with this one. Even though I like systemd myself, I
> really don't think it belongs here.
>

OK, we can get rid of it. I agree it doesn't belong here.

>>
>>    * ... and finally, OpenGL support is provided.
>>
>> Tested on Minnoboard Turot (which is Minnowboard Max compatible).
>>
>> Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
>> ---
>>   board/minnowboard-max/asound.conf           |   2 +
>>   board/minnowboard-max/post-build.sh         |  20 +++
>>   board/minnowboard-max/startx                | 239
>> ++++++++++++++++++++++++++++
>>   configs/minnowboard_max_graphical_defconfig |  78 +++++++++
>>   4 files changed, 339 insertions(+)
>>   create mode 100644 board/minnowboard-max/asound.conf
>>   create mode 100755 board/minnowboard-max/startx
>>   create mode 100644 configs/minnowboard_max_graphical_defconfig
>
>
>  To distinguish between the minimal and the demo defconfigs, perhaps we can
> call it minnowboard_max-graphical_defconfig?
>

Sure.

>>
>> diff --git a/board/minnowboard-max/asound.conf
>> b/board/minnowboard-max/asound.conf
>> new file mode 100644
>> index 000000000000..8947748052e5
>> --- /dev/null
>> +++ b/board/minnowboard-max/asound.conf
>> @@ -0,0 +1,2 @@
>> +defaults.pcm.card 0
>> +defaults.pcm.device 3
>
>
>  This should be in an fs-overlay directory and use an fs-overlay.
>
>> diff --git a/board/minnowboard-max/post-build.sh
>> b/board/minnowboard-max/post-build.sh
>> index 9f86d390f2ef..9156233404f8 100755
>> --- a/board/minnowboard-max/post-build.sh
>> +++ b/board/minnowboard-max/post-build.sh
>> @@ -1,2 +1,22 @@
>>   #!/bin/sh
>> +
>> +# Install grub config to the EFI part template
>>   cp board/minnowboard-max/grub.cfg
>> ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
>> +
>> +# Tell systemd we want a login shell on tty0
>> +ln -sf ${TARGET_DIR}/usr/lib/systemd/system/getty at .service
>> ${TARGET_DIR}/etc/systemd/system/getty.target.wants/getty at tty0.service
>
>
>  This should also use fs-overlay. It's anyway wrong in its current
> incarnation, because you refer to ${TARGET_DIR} in the symlink itself... BTW
> I prefer relative symlinks.
>
>  Also, this should only be done for the big build, not for the minimal
> build, so somehow you must distinguish between them. Same below. The
> fs-overlay is the simplest way to do that.
>
>> +
>> +# Setup xinitrc
>> +echo "exec /usr/bin/openbox-session" > ${TARGET_DIR}/root/.xinitrc
>
>
>  Put this in the fs-overlay.
>
>> +
>> +# Fixup startx so it doesn't start X on the controlling
>> +# virtual console. Apparently, this is a bug and we are
>> +# affected for our lack of a Display Manager.
>> +# See https://bugs.freedesktop.org/show_bug.cgi?id=87762
>> +#
>> +# I haven't found a way to do this without hacking startx
>> +# itself, so...
>
>
>  This comment should be in the startx script itself.
>
>> +cp board/minnowboard-max/startx ${TARGET_DIR}/usr/bin/startx
>> +
>> +# Customize ALSA: the HDMI PCM is at card=0, device=3 (i.e. hw:0,3)
>
>
>  Same here.
>

OK, I'll add a fs-graphical-overlay dir, and use it in this defconfig.

>> +cp board/minnowboard-max/asound.conf ${TARGET_DIR}/etc/asound.conf
>> diff --git a/board/minnowboard-max/startx b/board/minnowboard-max/startx
>> new file mode 100755
>> index 000000000000..3ed32a494654
>> --- /dev/null
>> +++ b/board/minnowboard-max/startx
>
> [snip]
>
>> diff --git a/configs/minnowboard_max_graphical_defconfig
>> b/configs/minnowboard_max_graphical_defconfig
>> new file mode 100644
>> index 000000000000..d66581d925b6
>> --- /dev/null
>> +++ b/configs/minnowboard_max_graphical_defconfig
>> @@ -0,0 +1,78 @@
>> +# Architecture
>> +BR2_x86_64=y
>> +BR2_x86_atom=y
>> +
>> +# Toolchain
>> +BR2_OPTIMIZE_2=y
>> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
>> +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
>> +BR2_GLIBC_VERSION_2_23=y
>> +BR2_BINUTILS_VERSION_2_26_X=y
>> +BR2_GCC_VERSION_5_X=y
>> +BR2_TOOLCHAIN_BUILDROOT_CXX=y
>> +BR2_ENABLE_LOCALE_PURGE=y
>> +
>> +# System config
>> +BR2_INIT_SYSTEMD=y
>> +BR2_SYSTEM_BIN_SH_BASH=y
>> +BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
>> +BR2_SYSTEM_DHCP="enp2s0"
>> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/minnowboard-max/post-build.sh"
>> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/minnowboard-max/post-image.sh"
>> +
>> +# Linux
>> +BR2_LINUX_KERNEL=y
>> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4"
>> +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
>> +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/minnowboard-max/linux.config"
>> +
>> +# Packages
>> +BR2_PACKAGE_ALSA_UTILS=y
>> +BR2_PACKAGE_ALSA_UTILS_APLAY=y
>> +BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST=y
>> +BR2_PACKAGE_GREP=y
>
>
>  Not sure why we would want this. Doesn't it require BUSYBOX_SHOW_OTHERS?
>

I think some X or openbox script was using a feature from GNU grep,
and I wanted to remove some minor error/warning.

>> +BR2_PACKAGE_GLMARK2=y
>> +BR2_PACKAGE_MESA3D_DEMOS=y
>> +BR2_PACKAGE_FB_TEST_APP=y
>> +BR2_PACKAGE_MESA3D=y
>> +BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
>> +BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y
>> +BR2_PACKAGE_XORG7=y
>> +BR2_PACKAGE_XSERVER_XORG_SERVER=y
>> +BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX=y
>> +BR2_PACKAGE_XAPP_XDM=y
>> +BR2_PACKAGE_XAPP_XINIT=y
>> +BR2_PACKAGE_XAPP_XRANDR=y
>> +BR2_PACKAGE_XAPP_XSM=y
>
>
>  Don't we need a terminal as well?
>

We have one, you are missing:

BR2_PACKAGE_XTERM=y

>> +BR2_PACKAGE_XDRIVER_XF86_INPUT_EVDEV=y
>> +BR2_PACKAGE_XDRIVER_XF86_INPUT_JOYSTICK=y
>
>
>  Not sure if joystick is that useful.
>

OK, I'll remove it.

>> +BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD=y
>> +BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE=y
>> +BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL=y
>> +BR2_PACKAGE_XTERM=y
>> +BR2_PACKAGE_OPENBOX=y
>> +BR2_PACKAGE_LINUX_FIRMWARE=y
>> +BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y
>> +BR2_PACKAGE_IMLIB2=y
>> +BR2_PACKAGE_IMLIB2_JPEG=y
>> +BR2_PACKAGE_IMLIB2_PNG=y
>> +BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y
>> +BR2_PACKAGE_STARTUP_NOTIFICATION=y
>> +BR2_PACKAGE_COREUTILS=y
>
>  Why?
>
>> +BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS=y
>
>  Why?
>
>> +BR2_PACKAGE_UTIL_LINUX_MORE=y
>
>  Why?
>
>> +BR2_PACKAGE_LESS=y
>
>
>
>  I'd like to reorder the packages to put all the X stuff together with a
> comment above and, and then all the dev stuff (like bash and less) with a
> comment.
>

Sure.

Regarding the less, more, coreutils, etc... I routinely replace these
because I found them more useful than busybox's.

I'll remove them, as they don't add anything of value if the goal is
to provide a "minimal with audio, and 3D graphics" config.

-- 
Ezequiel Garc?a, VanguardiaSur
www.vanguardiasur.com.ar

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 4/4] board/minnowboard-max: Add a X-based graphical defconfig
  2016-04-13  0:02     ` Ezequiel Garcia
@ 2016-04-13  7:38       ` Arnout Vandecappelle
  0 siblings, 0 replies; 19+ messages in thread
From: Arnout Vandecappelle @ 2016-04-13  7:38 UTC (permalink / raw)
  To: buildroot



On 04/13/16 02:02, Ezequiel Garcia wrote:
> On 12 April 2016 at 20:41, Arnout Vandecappelle <arnout@mind.be> wrote:
>> On 04/12/16 07:29, Ezequiel Garcia wrote:
[snip]
>>> +
>>> +# Setup xinitrc
>>> +echo "exec /usr/bin/openbox-session" > ${TARGET_DIR}/root/.xinitrc
>>
>>
>>   Put this in the fs-overlay.
>>
>>> +
>>> +# Fixup startx so it doesn't start X on the controlling
>>> +# virtual console. Apparently, this is a bug and we are
>>> +# affected for our lack of a Display Manager.
>>> +# See https://bugs.freedesktop.org/show_bug.cgi?id=87762
>>> +#
>>> +# I haven't found a way to do this without hacking startx
>>> +# itself, so...
>>
>>
>>   This comment should be in the startx script itself.
>>
>>> +cp board/minnowboard-max/startx ${TARGET_DIR}/usr/bin/startx
>>> +
>>> +# Customize ALSA: the HDMI PCM is at card=0, device=3 (i.e. hw:0,3)
>>
>>
>>   Same here.
>>
>
> OK, I'll add a fs-graphical-overlay dir, and use it in this defconfig.

  Call it fs-overlay-graphical.

[snip]
>>> +BR2_PACKAGE_GREP=y
>>
>>
>>   Not sure why we would want this. Doesn't it require BUSYBOX_SHOW_OTHERS?
>>
>
> I think some X or openbox script was using a feature from GNU grep,
> and I wanted to remove some minor error/warning.

  In that case, the package involved should probably select GNU grep (and 
SHOW_OTHERS).

[snip]
>>> +BR2_PACKAGE_COREUTILS=y
>>
>>   Why?
>>
>>> +BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS=y
>>
>>   Why?
>>
>>> +BR2_PACKAGE_UTIL_LINUX_MORE=y
>>
>>   Why?
>>
>>> +BR2_PACKAGE_LESS=y
>>
>>
>>
>>   I'd like to reorder the packages to put all the X stuff together with a
>> comment above and, and then all the dev stuff (like bash and less) with a
>> comment.
>>
>
> Sure.
>
> Regarding the less, more, coreutils, etc... I routinely replace these
> because I found them more useful than busybox's.

  I agree for less (and bash and vi BTW), but I never found any use for more 
(but I actually never use more, less is better) and coreutils.

>
> I'll remove them, as they don't add anything of value if the goal is
> to provide a "minimal with audio, and 3D graphics" config.

  Than bash should probably be removed as well, except if there is some script 
that depends on bash.

  Regards,
  Arnout

-- 
Arnout Vandecappelle      arnout dot vandecappelle at essensium dot com
Senior Embedded Software Architect . . . . . . +32-478-010353 (mobile)
Essensium, Mind division . . . . . . . . . . . . . . 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:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/4] board/minnowboard-max: Rework to generate SD card image
  2016-04-12 23:21   ` Arnout Vandecappelle
@ 2016-04-13 19:59     ` Peter Korsgaard
  2016-04-13 20:05       ` Ezequiel Garcia
  0 siblings, 1 reply; 19+ messages in thread
From: Peter Korsgaard @ 2016-04-13 19:59 UTC (permalink / raw)
  To: buildroot

>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:

 > On 04/12/16 07:29, Ezequiel Garcia wrote:
 >> Let's rework the board and config files to use genimage
 >> to generate the SD card image directly.
 >> 
 >> Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>

 > Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

 >> ---
 >> board/minnowboard-max/genimage.cfg  | 34 ++++++++++++++++++++++++++++++++
 >> board/minnowboard-max/post-image.sh | 13 +++++++++++++

 >  If you feel up to it: I think it would be nice to add an fs/genimage
 > infra that runs genimage at the end of the build with a user-specified
 > config file. All the post-image scripts we have for the defconfigs are
 > identical.

Yes, I also think the time has come to add support for this. Perhaps we
should also add explicit sub options to pull in the needed dependencies
(E.G. host-dosfstools/mtools for vfat, host-mtd for jffs2/ubifs,
.. which isn't directly obvious).

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/4] board/minnowboard-max: Rework to generate SD card image
  2016-04-13 19:59     ` Peter Korsgaard
@ 2016-04-13 20:05       ` Ezequiel Garcia
  0 siblings, 0 replies; 19+ messages in thread
From: Ezequiel Garcia @ 2016-04-13 20:05 UTC (permalink / raw)
  To: buildroot

On 13 April 2016 at 16:59, Peter Korsgaard <peter@korsgaard.com> wrote:
>>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:
>
>  > On 04/12/16 07:29, Ezequiel Garcia wrote:
>  >> Let's rework the board and config files to use genimage
>  >> to generate the SD card image directly.
>  >>
>  >> Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
>
>  > Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
>
>  >> ---
>  >> board/minnowboard-max/genimage.cfg  | 34 ++++++++++++++++++++++++++++++++
>  >> board/minnowboard-max/post-image.sh | 13 +++++++++++++
>
>  >  If you feel up to it: I think it would be nice to add an fs/genimage
>  > infra that runs genimage at the end of the build with a user-specified
>  > config file. All the post-image scripts we have for the defconfigs are
>  > identical.
>
> Yes, I also think the time has come to add support for this.

I've just sent a patchset :-)

> Perhaps we
> should also add explicit sub options to pull in the needed dependencies
> (E.G. host-dosfstools/mtools for vfat, host-mtd for jffs2/ubifs,
> .. which isn't directly obvious).
>

Yeah, I thought about this, but went for the KISS (lazy?) option: just keep the
stuff as it is, and add the infra to make only the genimage call.
-- 
Ezequiel Garc?a, VanguardiaSur
www.vanguardiasur.com.ar

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 1/4] board/minnowboard-max: Rework to generate SD card image
  2016-04-12  5:29 ` [Buildroot] [PATCH 1/4] board/minnowboard-max: Rework to generate SD card image Ezequiel Garcia
  2016-04-12 23:21   ` Arnout Vandecappelle
@ 2016-04-13 20:39   ` Peter Korsgaard
  1 sibling, 0 replies; 19+ messages in thread
From: Peter Korsgaard @ 2016-04-13 20:39 UTC (permalink / raw)
  To: buildroot

>>>>> "Ezequiel" == Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> writes:

 > Let's rework the board and config files to use genimage
 > to generate the SD card image directly.

 > Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>

 > diff --git a/configs/minnowboard_max_defconfig b/configs/minnowboard_max_defconfig
 > index 98996db958ff..47f7d4e96a55 100644
 > --- a/configs/minnowboard_max_defconfig
 > +++ b/configs/minnowboard_max_defconfig
 > @@ -5,9 +5,12 @@ BR2_x86_atom=y
 >  # Misc
 >  BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
 >  BR2_ROOTFS_POST_BUILD_SCRIPT="board/minnowboard-max/post-build.sh"
 > +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/minnowboard-max/post-image.sh"
 
 >  # Linux headers same as kernel, a 4.4 series
 >  BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
 > +BR2_PACKAGE_HOST_DOSFSTOOLS=y
 > +BR2_PACKAGE_HOST_GENIMAGE=y

The vfat handling also uses mcopy, so we also need
BR2_PACKAGE_HOST_MTOOLS=y.

Committed with that fixed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 3/4] board/minnowboard-max: Add more peripherals and features to the kernel
  2016-04-12 23:55     ` Ezequiel Garcia
@ 2016-04-13 21:02       ` Peter Korsgaard
  2016-04-13 22:02         ` Ezequiel Garcia
  0 siblings, 1 reply; 19+ messages in thread
From: Peter Korsgaard @ 2016-04-13 21:02 UTC (permalink / raw)
  To: buildroot

>>>>> "Ezequiel" == Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> writes:

 > On 12 April 2016 at 20:29, Arnout Vandecappelle <arnout@mind.be> wrote:
 >> On 04/12/16 07:29, Ezequiel Garcia wrote:
 >>> 
 >>> This commit enables support for:
 >>> * HDMI audio
 >>> * Support for user-provided EDID firmware
 >>> (useful to workaround broken monitors)
 >>> * Evdev interface
 >>> * System V IPC (required by ALSA)
 >>> * POSIX message queue
 >>> * fhandle syscall
 >>> * cgroups
 >> 
 >> 
 >> Why cgroups?
 >> 

 > Well, in fact... the commit log is not correct. My initial intention
 > was to add IPC (required by ALSA), HDMI audio and evdev.

 > As you can imagine, the goal was to play supertuxkart.

 > The rest of the configs got added by Buildroot, because
 > of the systemd presence:

Ok, will you send a new version with only the needed changes?

Thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 4/4] board/minnowboard-max: Add a X-based graphical defconfig
  2016-04-12 23:41   ` Arnout Vandecappelle
  2016-04-13  0:02     ` Ezequiel Garcia
@ 2016-04-13 21:02     ` Peter Korsgaard
  1 sibling, 0 replies; 19+ messages in thread
From: Peter Korsgaard @ 2016-04-13 21:02 UTC (permalink / raw)
  To: buildroot

>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:

 > On 04/12/16 07:29, Ezequiel Garcia wrote:
 >> This commit adds a new defconfig to build a X-based
 >> graphical system for the MinnowboardMax board.
 >> 
 >> * The 'openbox' windows manager is chosen because it's simple
 >> and lightweigth.
 >> 
 >> * Basic X apps are enabled (such as xrandr, xterm), so we
 >> can at least get a console and change video mode.
 >> 
 >> * ALSA default configuration is provided, so HDMI audio
 >> works out-of-the-box.
 >> 
 >> * Systemd is chosen as the init system because... you know ;)

 >  I'm not sure I agree with this one. Even though I like systemd
 > myself, I really don't think it belongs here.

Agreed.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Buildroot] [PATCH 3/4] board/minnowboard-max: Add more peripherals and features to the kernel
  2016-04-13 21:02       ` Peter Korsgaard
@ 2016-04-13 22:02         ` Ezequiel Garcia
  0 siblings, 0 replies; 19+ messages in thread
From: Ezequiel Garcia @ 2016-04-13 22:02 UTC (permalink / raw)
  To: buildroot

On 13 April 2016 at 18:02, Peter Korsgaard <peter@korsgaard.com> wrote:
>>>>>> "Ezequiel" == Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> writes:
>
>  > On 12 April 2016 at 20:29, Arnout Vandecappelle <arnout@mind.be> wrote:
>  >> On 04/12/16 07:29, Ezequiel Garcia wrote:
>  >>>
>  >>> This commit enables support for:
>  >>> * HDMI audio
>  >>> * Support for user-provided EDID firmware
>  >>> (useful to workaround broken monitors)
>  >>> * Evdev interface
>  >>> * System V IPC (required by ALSA)
>  >>> * POSIX message queue
>  >>> * fhandle syscall
>  >>> * cgroups
>  >>
>  >>
>  >> Why cgroups?
>  >>
>
>  > Well, in fact... the commit log is not correct. My initial intention
>  > was to add IPC (required by ALSA), HDMI audio and evdev.
>
>  > As you can imagine, the goal was to play supertuxkart.
>
>  > The rest of the configs got added by Buildroot, because
>  > of the systemd presence:
>
> Ok, will you send a new version with only the needed changes?
>

Yup.
-- 
Ezequiel Garc?a, VanguardiaSur
www.vanguardiasur.com.ar

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2016-04-13 22:02 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-12  5:29 [Buildroot] [PATCH 0/4] Fun with Minnowboard Turot Ezequiel Garcia
2016-04-12  5:29 ` [Buildroot] [PATCH 1/4] board/minnowboard-max: Rework to generate SD card image Ezequiel Garcia
2016-04-12 23:21   ` Arnout Vandecappelle
2016-04-13 19:59     ` Peter Korsgaard
2016-04-13 20:05       ` Ezequiel Garcia
2016-04-13 20:39   ` Peter Korsgaard
2016-04-12  5:29 ` [Buildroot] [PATCH 2/4] board/minnowboard: " Ezequiel Garcia
2016-04-12 23:24   ` Arnout Vandecappelle
2016-04-12 23:56     ` Ezequiel Garcia
2016-04-12  5:29 ` [Buildroot] [PATCH 3/4] board/minnowboard-max: Add more peripherals and features to the kernel Ezequiel Garcia
2016-04-12 23:29   ` Arnout Vandecappelle
2016-04-12 23:55     ` Ezequiel Garcia
2016-04-13 21:02       ` Peter Korsgaard
2016-04-13 22:02         ` Ezequiel Garcia
2016-04-12  5:29 ` [Buildroot] [PATCH 4/4] board/minnowboard-max: Add a X-based graphical defconfig Ezequiel Garcia
2016-04-12 23:41   ` Arnout Vandecappelle
2016-04-13  0:02     ` Ezequiel Garcia
2016-04-13  7:38       ` Arnout Vandecappelle
2016-04-13 21:02     ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.