Skip to contentSkip to conversation

Minnowboard: The grand unification

PATCH Superseded Ezequiel Garcia 2 participants 9 messages Apr 15, 2016

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

v2 cover Minnowboard: The grand unification

Following Arnout comments, here's a patchset that first unifies the Minnowboard board support, and then adds a "graphics & audio, yet minimum" defconfig.

The idea with this graphical_defconfig is to provide an X-based system, with ALSA audio and OpenGL enabled, at its minimum expression.

Regarding the Minnowboard board support unification, it's worth mentioning that it's possible to use the same kernel on both. However, a couple reasons made me retain the current choices:

* It is desirable to use upstream, when possible. Hence, we use upstream v4.4 for the Minnowboard MAX.

* The original Minnowboard has some GPIO keys that are not supported upstream. Using out-of-tree patches sucks because we need to carry them over when bumping, so I decided to just stick with the v3.8 yocto kernel.

There's a changelog on each patch, with some more detailed changes.

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

 board/minnowboard-max/post-build.sh                |   2 -
 board/minnowboard-max/readme.txt                   |  25 ---
 .../fs-overlay-graphical/etc/asound.conf           |   4 +
 .../minnowboard/fs-overlay-graphical/root/.xinitrc |   1 +
 .../fs-overlay-graphical/usr/bin/startx            | 248 +++++++++++++++++++++
 .../{minnowboard-max => minnowboard}/genimage.cfg  |   0
 .../grub-minnowboard-max.cfg}                      |   0
 .../minnowboard/{grub.cfg => grub-minnowboard.cfg} |   0
 .../linux.config => minnowboard/linux-4.4.config}  |  10 +
 board/minnowboard/post-build.sh                    |   5 +-
 .../{minnowboard-max => minnowboard}/post-image.sh |   2 +-
 board/minnowboard/readme.txt                       |  39 ++--
 configs/minnowboard_defconfig                      |  10 +
 configs/minnowboard_max-graphical_defconfig        |  79 +++++++
 configs/minnowboard_max_defconfig                  |   7 +-
 15 files changed, 375 insertions(+), 57 deletions(-)
 delete mode 100755 board/minnowboard-max/post-build.sh
 delete mode 100644 board/minnowboard-max/readme.txt
 create mode 100644 board/minnowboard/fs-overlay-graphical/etc/asound.conf
 create mode 100644 board/minnowboard/fs-overlay-graphical/root/.xinitrc
 create mode 100755 board/minnowboard/fs-overlay-graphical/usr/bin/startx
 rename board/{minnowboard-max => minnowboard}/genimage.cfg (100%)
 rename board/{minnowboard-max/grub.cfg => minnowboard/grub-minnowboard-max.cfg} (100%)
 rename board/minnowboard/{grub.cfg => grub-minnowboard.cfg} (100%)
 rename board/{minnowboard-max/linux.config => minnowboard/linux-4.4.config} (79%)
 rename board/{minnowboard-max => minnowboard}/post-image.sh (84%)
 create mode 100644 configs/minnowboard_max-graphical_defconfig
Signature · 1 line
2.7.0
#1 lore raw

PATCH v2 1/4 board/minnowboard: Rework to generate SD card image

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

--
Changes from v1:

* host-mtools is needed too, as noted by Peter.

---
 board/minnowboard/genimage.cfg  | 34 ++++++++++++++++++++++++++++++++++
 board/minnowboard/post-image.sh | 13 +++++++++++++
 board/minnowboard/readme.txt    | 39 ++++++++++++---------------------------
 configs/minnowboard_defconfig   |  9 +++++++++
 4 files changed, 68 insertions(+), 27 deletions(-)
 create mode 100644 board/minnowboard/genimage.cfg
 create mode 100755 board/minnowboard/post-image.sh
board/minnowboard/genimage.cfg new file +34 -0
new file mode 100644
index 000000000000..6cf787430752
@@ -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
+	}
+}
board/minnowboard/post-image.sh new file +13 -0
new file mode 100755
index 000000000000..428baa5e5599
@@ -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}"
board/minnowboard/readme.txt +12 -27
index 62ffa92e0b83..3a24fdc162b8 100644
@@ -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/.
configs/minnowboard_defconfig +9 -0
index 3091957f35dc..25c63ccbeead 100644
@@ -5,9 +5,13 @@ 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
+BR2_PACKAGE_HOST_MTOOLS=y
 
 # Linux kernel
 BR2_LINUX_KERNEL=y
@@ -20,3 +24,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
Signature · 1 line
2.7.0
#2 lore raw

PATCH v2 2/4 board/minnowboard: Unify Minnowboard and Minnowboard MAX boards

In reply to Ezequiel Garcia

Given Minnowboard and Minnowboard MAX boards are very similar, it's desirable to unify the support for them.

This commit does the following:

1) Remove Minnowboard MAX's genimage.cfg, post-build.sh and post-image.sh. These are identical to Minnowboard's.

2) Move Minnowboard MAX's linux config, and rename it.

It would be lovely to have a single kernel config file. The kernel size penalty involved in adding support for all the peripherals on both boards is small enough to justify this.

However, the original Minnowboard has some GPIO buttons that need to be registered by the kernel. This is not upstreamed, and hence we need to use the yocto v3.8 kernel to have this support.

3) Rename each grub config to grub-{board}.cfg.

4) Modify (the now unique) post-build script to use a different grub config, according to the board.

5) Update both defconfigs, as per the above changes.

6) Finally, update the readme.txt.

--
Changes from v1:

* New patch, not present in v1.

---
 board/minnowboard-max/genimage.cfg                 | 34 ----------------------
 board/minnowboard-max/post-build.sh                |  2 --
 board/minnowboard-max/post-image.sh                | 13 ---------
 board/minnowboard-max/readme.txt                   | 25 ----------------
 .../grub-minnowboard-max.cfg}                      |  0
 .../minnowboard/{grub.cfg => grub-minnowboard.cfg} |  0
 .../linux.config => minnowboard/linux-4.4.config}  |  0
 board/minnowboard/post-build.sh                    |  5 +++-
 board/minnowboard/readme.txt                       |  4 +++
 configs/minnowboard_defconfig                      |  1 +
 configs/minnowboard_max_defconfig                  |  7 +++--
 11 files changed, 13 insertions(+), 78 deletions(-)
 delete mode 100644 board/minnowboard-max/genimage.cfg
 delete mode 100755 board/minnowboard-max/post-build.sh
 delete mode 100755 board/minnowboard-max/post-image.sh
 delete mode 100644 board/minnowboard-max/readme.txt
 rename board/{minnowboard-max/grub.cfg => minnowboard/grub-minnowboard-max.cfg} (100%)
 rename board/minnowboard/{grub.cfg => grub-minnowboard.cfg} (100%)
 rename board/{minnowboard-max/linux.config => minnowboard/linux-4.4.config} (100%)
board/minnowboard-max/genimage.cfg deleted +0 -34
deleted file mode 100644
index 6cf787430752..000000000000
@@ -1,34 +0,0 @@
-# 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
-	}
-}
board/minnowboard-max/post-build.sh deleted +0 -2
deleted file mode 100755
index 9f86d390f2ef..000000000000
@@ -1,2 +0,0 @@
-#!/bin/sh
-cp board/minnowboard-max/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
board/minnowboard-max/post-image.sh deleted +0 -13
deleted file mode 100755
index e90dd6b8cf10..000000000000
@@ -1,13 +0,0 @@
-#!/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}"
board/minnowboard-max/readme.txt deleted +0 -25
deleted file mode 100644
index dfad2aba2123..000000000000
@@ -1,25 +0,0 @@
-How to get started with the Minnow Board MAX
-============================================
-
-1. Build
-
-  Apply the defconfig:
-
-  $ make minnowboard_max_defconfig
-
-  Add any additional packages required and build:
-
-  $ make
-
-2. Write the SD card
-
-  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.
-
-  $ dd if=output/images/sdcard.img of=/dev/mmcblk0; sync
-
-3. Enjoy
-
-Additional information about this board can be found at
-http://www.minnowboard.org/ or http://wiki.minnowboard.org/MinnowBoard_MAX
board/minnowboard/grub-minnowboard-max.cfg renamed from board/minnowboard-max/grub.cfg +0 -0
similarity index 100%
rename from board/minnowboard-max/grub.cfg
rename to board/minnowboard/grub-minnowboard-max.cfg
board/minnowboard/grub-minnowboard.cfg renamed from board/minnowboard/grub.cfg +0 -0
similarity index 100%
rename from board/minnowboard/grub.cfg
rename to board/minnowboard/grub-minnowboard.cfg
board/minnowboard/linux-4.4.config renamed from board/minnowboard-max/linux.config +0 -0
similarity index 100%
rename from board/minnowboard-max/linux.config
rename to board/minnowboard/linux-4.4.config
board/minnowboard/post-build.sh +4 -1
index e3f4a92ec943..f3a11e99f0f5 100755
@@ -1,2 +1,5 @@
 #!/bin/sh
-cp board/minnowboard/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
+# args from BR2_ROOTFS_POST_SCRIPT_ARGS
+# $2    board name
+
+cp -v board/minnowboard/grub-${2}.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
board/minnowboard/readme.txt +4 -0
index 3a24fdc162b8..9d59a2f4546a 100644
@@ -7,6 +7,10 @@ How to get started with the MinnowBoard
 
   $ make minnowboard_defconfig
 
+  Or, for the Minnowboard MAX board:
+
+  $ make minnowboard_max_defconfig
+
   Add any additional packages required and build:
 
   $ make
configs/minnowboard_defconfig +1 -0
index 25c63ccbeead..f4afc86bf814 100644
@@ -6,6 +6,7 @@ BR2_x86_atom=y
 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"
+BR2_ROOTFS_POST_SCRIPT_ARGS="minnowboard"
 
 # Linux headers same as kernel, a 3.8 series
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_8=y
configs/minnowboard_max_defconfig +4 -3
index 05df9878ccf0..df1759d19f80 100644
@@ -4,8 +4,9 @@ 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"
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/minnowboard/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/minnowboard/post-image.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="minnowboard-max"
 
 # Linux headers same as kernel, a 4.4 series
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
@@ -22,7 +23,7 @@ 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"
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/minnowboard/linux-4.4.config"
 
 # Bootloader
 BR2_TARGET_GRUB2=y
Signature · 1 line
2.7.0
#3 lore raw

PATCH v2 3/4 board/minnowboard-max: Add more peripherals and features to the kernel

In reply to Ezequiel Garcia

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)

The options make the system more useful.

--
Changes from v1:

* Since we dropped systemd usage, got rid of related options.

---
 board/minnowboard/linux-4.4.config | 10 ++++++++++
 1 file changed, 10 insertions(+)
board/minnowboard/linux-4.4.config +10 -0
index abb7fdce9861..349842325293 100644
@@ -1,3 +1,4 @@
+CONFIG_SYSVIPC=y
 CONFIG_NO_HZ=y
 CONFIG_SMP=y
 CONFIG_X86_INTEL_LPSS=y
@@ -19,6 +20,7 @@ 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 +35,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
Signature · 1 line
2.7.0
#4 lore raw

PATCH v2 4/4 board/minnowboard-max: Add a X-based graphical defconfig

In reply to Ezequiel Garcia

This commit adds a new defconfig to build a X-based graphical system for the Minnowboard MAX 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.

* OpenGL is supported.

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

--
Changes from v1:

* Use an overlay instead of post-build.sh to customize the rootfs.

* Remove systemd usage, so we provide a minimum "audio and graphics" setup.

---
 .../fs-overlay-graphical/etc/asound.conf           |   4 +
 .../minnowboard/fs-overlay-graphical/root/.xinitrc |   1 +
 .../fs-overlay-graphical/usr/bin/startx            | 248 +++++++++++++++++++++
 configs/minnowboard_max-graphical_defconfig        |  79 +++++++
 4 files changed, 332 insertions(+)
 create mode 100644 board/minnowboard/fs-overlay-graphical/etc/asound.conf
 create mode 100644 board/minnowboard/fs-overlay-graphical/root/.xinitrc
 create mode 100755 board/minnowboard/fs-overlay-graphical/usr/bin/startx
 create mode 100644 configs/minnowboard_max-graphical_defconfig
board/minnowboard/fs-overlay-graphical/etc/asound.conf new file +4 -0
new file mode 100644
index 000000000000..b75b2383647b
@@ -0,0 +1,4 @@
+# Customize ALSA:
+# the HDMI PCM is at card=0, device=3 (i.e. hw:0,3)
+defaults.pcm.card 0
+defaults.pcm.device 3
board/minnowboard/fs-overlay-graphical/root/.xinitrc new file +1 -0
new file mode 100644
index 000000000000..4274b24df1bc
@@ -0,0 +1 @@
+exec /usr/bin/openbox-session
board/minnowboard/fs-overlay-graphical/usr/bin/startx new file +248 -0

248 lines not on this page · raw message

configs/minnowboard_max-graphical_defconfig new file +79 -0

79 lines not on this page · raw message

Signature · 1 line
2.7.0
#5 lore raw

PATCH v2 4/4 board/minnowboard-max: Add a X-based graphical defconfig

Hello,

Quoted 1 line · Ezequiel Garcia
 .../fs-overlay-graphical/usr/bin/startx            | 248 +++++++++++++++++++++

This script looks really long and complicated. Where does it come from? Is it really specific to the Minnowboard?

Another open question is whether we should add some details in readme.txt about this configuration, like which demos are provided, example commands to run to test the whole thing, etc.

Thanks!

Thomas

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

PATCH v2 4/4 board/minnowboard-max: Add a X-based graphical defconfig

Quoted 9 lines · Thomas Petazzoni

Hello,

Quoted 1 line · Ezequiel Garcia
 .../fs-overlay-graphical/usr/bin/startx            | 248 +++++++++++++++++++++

This script looks really long and complicated. Where does it come from? Is it really specific to the Minnowboard?

Nope, it's the standard startx script, provided by the xinit package. I'm pretty sure all distros bundle the same cumbersome startx script.

It is perfectly possible to write a much, much simpler script.

In fact, the juicy part is this:

xinit "$client" $clientargs -- "$server" $display $serverargs

I.e., It is possible to run xinit, with a couple params and it would work. The only change needed is running X on a different VT, which startx forces to be the controlling terminal.

The problem (or a related one?) is well described here:
https://bugs.freedesktop.org/show_bug.cgi?id=87762

BTW: now that I think of it, I'm not sure this script is needed, since it was somewhat related to systemd being used.
I will check again, and in any case, provide a simpler startx.

Quoted 3 lines

Another open question is whether we should add some details in readme.txt about this configuration, like which demos are provided, example commands to run to test the whole thing, etc.

Sure, that makes sense.

I'll cook a v3.

Signature · 2 lines
Ezequiel Garc?a, VanguardiaSur
www.vanguardiasur.com.ar
#7 lore raw

PATCH v2 4/4 board/minnowboard-max: Add a X-based graphical defconfig

Hello,

Quoted 1 line · Ezequiel Garcia

Nope, it's the standard startx script, provided by the xinit package.

The big question now is why do you have this script in an overlay rather than using the one provided by the xinit package?

Thomas

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

PATCH v2 4/4 board/minnowboard-max: Add a X-based graphical defconfig

Quoted 9 lines · Thomas Petazzoni

Hello,

Quoted 1 line · Ezequiel Garcia

Nope, it's the standard startx script, provided by the xinit package.

The big question now is why do you have this script in an overlay rather than using the one provided by the xinit package?

Quoting the script itself:

+# 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. The only change we are doing here is setting +# serverargs to "vt1", see below.

Unless serverargs is set, calling "startx" without params will always use the controlling terminal, and X then fails to switch VT or something. Don't really recall the error, but it prevented X from starting.

Signature · 2 lines
Ezequiel Garc?a, VanguardiaSur
www.vanguardiasur.com.ar