[Balloon] Updating the emdebian rootfs build in balloonboard…

Top Page
Attachments:
Message as email
+ (text/plain)
+ (application/pgp-signature)
Delete this message
Reply to this message
Author: Neil Williams
Date:  
To: Balloonboard.org
Subject: [Balloon] Updating the emdebian rootfs build in balloonboard SVN
The optional emdebian rootfs build has been updated to support added in
the latest version of multistrap (1.9.0 available via Emdebian).

New support includes retaining the .deb archives out of the way of the
rootfs but available to the make source target.

I completed testing of the rootfs today and there is only one step
required to complete the installation on balloon3:

In /usr/bin/setup, the Emdebian Grip rootfs (called emdebianroot.tgz)
does not need to be unpacked on the USB stick so there is no stage1
required. However, after the filesystem is unpacked, there is a single
step to perform before rebooting:

# chroot /mnt/root/ dpkg --configure -a

There is a simple patch I can make against
buildroot/target/generic/target_skeleton_balloon3_installer/usr/bin/setup
to add the necessary support, if that is OK.

balloon3-config currently complains about no archives being
in /var/cache/apt/archives in the postinst (the maintainer script needs
to be rm -f instead of rm).

However, I've been experimenting with balloon3-config and rootfs-config
and multistrap allows a lot of what we would do in the package to be
done in the rootfs. It may also be time to remove the balloon3-config
package from the Emdebian repository to provide easier control over
the changes via make and SVN.

This is a possible patch for the postinst:

--- tmp/tmp-postinst-BASE-9va03J 
+++ opt/working/balloon/rootfs/debian/balloon3-config/debian/postinst 
@@ -23,10 +23,12 @@
 #        else
 #        echo -e "ttyS1\nttyS2" >> ${ROOT}/etc/securetty
 #        fi
-        #clear out debs and lists from cache
-        rm -rv ${ROOT}/var/cache/apt/archives/*.deb
-        rm -rv ${ROOT}/var/lib/apt/lists/*
-        mkdir ${ROOT}/var/lib/apt/lists/partial
+        # clear out debs and lists from cache
+        # allow for the cache to be empty already
+        rm -rfv ${ROOT}/var/cache/apt/archives/*.deb
+        # retain var/lib/apt/lists/partial
+        rm -fv ${ROOT}/var/lib/apt/lists/*
+        rm -fv ${ROOT}/var/lib/apt/lists/partial/*
         touch /var/lib/apt/lists/_mnt_sda1_dists_balloon-etch_main_binary-arm_Packages
         #point /dev/random at /dev/urandom as without a keyboard we don't get enough entropy
         ln -sf /dev/urandom /dev/random
@@ -36,7 +38,11 @@
         ln -sf /bin/dash /bin/sh
         #add file to ignore ipv6
         echo "alias net-pf-10 off"
-         
+        # work around bug in xserver-xorg postinst that disables fbdev
+         if [ -f /usr/bin/dexconf ]; then
+           debconf-set-selections /usr/share/balloon3-config/xorg
+           dexconf
+         fi
         fi
     ;;



I haven't committed it yet, waiting for comments before altering things
in the Debian rootfs.

The xorg file is a possible addition to support X without fiddling with conf files.

xserver-xorg xserver-xorg/config/device/use_fbdev boolean true
xserver-xorg xserver-xorg/config/device/driver select fbdev
xserver-xorg xserver-xorg/config/device/driver string fbdev

The use of dexconf is due to a bug in xserver-xorg.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521060

dexconf itself is part of xserver-xorg.

This leads to one other change in balloon3-config:

--- tmp/tmp-install-BASE-Pv73v1 
+++ opt/working/balloon/rootfs/debian/balloon3-config/debian/install 
@@ -3,20 +3,11 @@
 files/modules etc            
 files/apt/preferences etc/apt                   
 files/apt/sources.list etc/apt
+files/apt/10disablerecommends etc/apt/apt.conf.d
 files/mountall.sh /etc/init.d
 files/inittab /etc
 files/urandom /etc/init.d
-files/dhclient.conf /etc/dhcp3
 files/firmware/libertas_cs.fw /lib/firmware
 files/firmware/libertas_cs_helper.fw /lib/firmware
+files/xorg /usr/share/balloon3-config


10disablerecommends contains:

APT
{
Install-Recommends "false"
};

Multistrap also provides a sources.list - not sure if
balloon3-config needs to provide one too but that depends
on what people need for the Debian rootfs.

PS: although multistrap supports an architecture option in
the conf file, it also supports overriding this value on the
command line and the Makefile makes use of this so that the
value you set in your top level Makefile will be inherited by
multistrap.

--


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/