From b84d82f03fc3b664777730eea1aa72e023138f06 Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Fri, 1 Jun 2012 09:50:47 +0000
Subject: [PATCH 01/16] Added setup-chroot script as it is from upstream.

---
 filesystem/setup-chroot | 10 ++++++++++
 1 file changed, 10 insertions(+)
 create mode 100755 filesystem/setup-chroot

diff --git a/filesystem/setup-chroot b/filesystem/setup-chroot
new file mode 100755
index 0000000..1d453d8
--- /dev/null
+++ b/filesystem/setup-chroot
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+mount --bind /dev /mnt/dev
+mount --bind /tmp /mnt/tmp
+mount -t proc proc /mnt/proc
+mount -t sysfs none /mnt/sys
+mount -t devpts devpts /mnt/dev/pts
+
+chroot /mnt /bin/bash
+
-- 
2.45.2


From 766ef30cb87b6e13ba873001cd0a0fa2883bbcf1 Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Fri, 1 Jun 2012 09:51:10 +0000
Subject: [PATCH 02/16] Added installation for setup-chroot and fixed some
 minor issues on Makefile

---
 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index c33cd56..3769608 100644
--- a/Makefile
+++ b/Makefile
@@ -42,7 +42,7 @@ $(WORK)/busybox-$(BUSYBOX_VERSION).tar.bz2:
 $(WORK)/busybox-$(BUSYBOX_VERSION): $(WORK)/busybox-$(BUSYBOX_VERSION).tar.bz2 $(TOPDIR)/busybox-$(BUSYBOX_VERSION).config
 	tar -C $(WORK) -xvjf $(WORK)/busybox-$(BUSYBOX_VERSION).tar.bz2
 	cp -v $(TOPDIR)/busybox-$(BUSYBOX_VERSION).config $(WORK)/busybox-$(BUSYBOX_VERSION)/.config
-	touch $(WORK)/busybox-$(BUSYBOX_VERSION).tar.bz2
+	touch $(WORK)/busybox-$(BUSYBOX_VERSION)
 
 $(WORK)/busybox-$(BUSYBOX_VERSION)/_install/bin/busybox: $(WORK)/busybox-$(BUSYBOX_VERSION)
 	export PATH=$(CROSSTOOLS)/bin:$$PATH &&  \
@@ -101,7 +101,7 @@ $(WORK)/initrd.gz: check-root busybox dialog $(WORK)/mnt $(TOPDIR)/filesystem $(
 	cp -dRv $(CLFS)/usr/share/terminfo/v $(WORK)/mnt/usr/share/terminfo
 	install -v -m 0644 $(TOPDIR)/filesystem/{fstab,inittab,profile,protocols,*.conf} $(WORK)/mnt/etc
 	install -v -m 0755 $(TOPDIR)/filesystem/rc $(WORK)/mnt/etc && \
-	install -v -m 0755 $(TOPDIR)/filesystem/{setup,crux} $(WORK)/mnt/usr/bin && \
+	install -v -m 0755 $(TOPDIR)/filesystem/{setup*,crux} $(WORK)/mnt/usr/bin && \
 	/sbin/ldconfig -r $(WORK)/mnt
 	umount -v $(WORK)/mnt
 	cd $(WORK) && gzip -v initrd
-- 
2.45.2


From b358420556090ad88f44a17992408f0cc4816914 Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Fri, 1 Jun 2012 10:50:23 +0000
Subject: [PATCH 03/16] Fixed issue with modules from rc startup

---
 filesystem/rc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/filesystem/rc b/filesystem/rc
index 4ab1ecd..8fd3474 100755
--- a/filesystem/rc
+++ b/filesystem/rc
@@ -79,10 +79,10 @@ find_and_mount_media() {
 		echo
 	else
 		# configure modules
-		MODULES="`find /media/crux/kernel -type d -name 'modules-*.tar.*'`"
+		MODULES="`find /media/crux/kernel -type f -name 'modules-*.tar.*'`"
 		if [ ! -z "$MODULES" ]; then
 			tar -C /tmp -xf $MODULES
-			cd /lib && ln -s /lib/* .
+			cd /lib && ln -s /tmp/lib/* .
 			depmod
 		fi
 		# configure pkgutils
-- 
2.45.2


From 4053c8423e63db37de73f4fb864a6d399eadff2f Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Tue, 5 Jun 2012 07:13:34 +0000
Subject: [PATCH 04/16] =?utf8?q?Added=20upstream=20default=20prompt=20in?=
 =?utf8?q?=20/etc/profile=E7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

---
 filesystem/profile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/filesystem/profile b/filesystem/profile
index 8ebfb2c..40423b9 100644
--- a/filesystem/profile
+++ b/filesystem/profile
@@ -2,6 +2,6 @@
 # /etc/profile
 #
 
-export PS1="\\033[1mcrux:\w \$ \\033[0m"
+export PS1="\[\033[1m\]\\$ \[\033[0m\]"
 
 # End of file
-- 
2.45.2


From 99c170c75e591a5188b5bdd3fcde0adc0ed473ac Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Thu, 11 Oct 2012 00:54:51 +0000
Subject: [PATCH 05/16] Updated busybox to 1.20.2 Updated dialog to
 1.1-20120706 Added patch to fix build issues with busybox and his headers
 Added -mno-unaligned-access switch to avoid gcc-4.7.2 alignment exception

---
 Makefile                                      |  8 ++--
 ...box-1.19.4.config => busybox-1.20.2.config | 47 ++++++++++++-------
 2 files changed, 34 insertions(+), 21 deletions(-)
 rename busybox-1.19.4.config => busybox-1.20.2.config (96%)

diff --git a/Makefile b/Makefile
index 3769608..5dbc711 100644
--- a/Makefile
+++ b/Makefile
@@ -13,10 +13,10 @@ WORK = $(TOPDIR)/work
 CLFS = $(TOPDIR)/../toolchain/clfs
 CROSSTOOLS = $(TOPDIR)/../toolchain/crosstools
 
-BUSYBOX_VERSION  = 1.19.4
+BUSYBOX_VERSION  = 1.20.2
 BUSYBOX_SOURCE   = http://busybox.net/downloads/busybox-$(BUSYBOX_VERSION).tar.bz2
 
-DIALOG_VERSION = 1.1-20120215
+DIALOG_VERSION = 1.1-20120706
 DIALOG_SOURCE = ftp://dickey.his.com/dialog/dialog-$(DIALOG_VERSION).tgz
 
 NCURSES_HEADER = $(CLFS)/usr/include/ncurses.h
@@ -41,6 +41,8 @@ $(WORK)/busybox-$(BUSYBOX_VERSION).tar.bz2:
 
 $(WORK)/busybox-$(BUSYBOX_VERSION): $(WORK)/busybox-$(BUSYBOX_VERSION).tar.bz2 $(TOPDIR)/busybox-$(BUSYBOX_VERSION).config
 	tar -C $(WORK) -xvjf $(WORK)/busybox-$(BUSYBOX_VERSION).tar.bz2
+	cd $(WORK)/busybox-$(BUSYBOX_VERSION) && \
+		patch -p1 -i $(WORK)/fix-resource_header.patch
 	cp -v $(TOPDIR)/busybox-$(BUSYBOX_VERSION).config $(WORK)/busybox-$(BUSYBOX_VERSION)/.config
 	touch $(WORK)/busybox-$(BUSYBOX_VERSION)
 
@@ -74,7 +76,7 @@ $(WORK)/dialog-$(DIALOG_VERSION)/_install/usr/bin/dialog: $(WORK)/dialog-$(DIALO
 		./configure --build=$(BUILD) --host=$(TARGET) --prefix=/usr --with-ncursesw && \
 		find -type f -name 'makefile' \
 		-exec sed -e "s|-I/usr|-I$(CLFS)/usr|g" -e "s|-L/usr|-L$(CLFS)/usr|g" -i {} \; && \
-		make CC="$(TARGET)-gcc -static" && \
+		make CC="$(TARGET)-gcc -static -mno-unaligned-access" && \
 		make DESTDIR=$(WORK)/dialog-$(DIALOG_VERSION)/_install install && \
 		$(TARGET)-strip $(WORK)/dialog-$(DIALOG_VERSION)/_install/usr/bin/dialog && \
 		touch $(WORK)/dialog-$(DIALOG_VERSION)/_install/usr/bin/dialog
diff --git a/busybox-1.19.4.config b/busybox-1.20.2.config
similarity index 96%
rename from busybox-1.19.4.config
rename to busybox-1.20.2.config
index a9de529..e9dac93 100644
--- a/busybox-1.19.4.config
+++ b/busybox-1.20.2.config
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Busybox version: 1.19.4
-# Tue Mar  6 12:35:21 2012
+# Busybox version: 1.20.2
+# Wed Oct 10 14:39:32 2012
 #
 CONFIG_HAVE_DOT_CONFIG=y
 
@@ -62,7 +62,10 @@ CONFIG_STATIC=y
 # CONFIG_FEATURE_SHARED_BUSYBOX is not set
 CONFIG_LFS=y
 CONFIG_CROSS_COMPILER_PREFIX="arm-crux-linux-gnueabi-"
-CONFIG_EXTRA_CFLAGS=""
+CONFIG_SYSROOT=""
+CONFIG_EXTRA_CFLAGS="-mno-unaligned-access"
+CONFIG_EXTRA_LDFLAGS=""
+CONFIG_EXTRA_LDLIBS=""
 
 #
 # Debugging Options
@@ -92,7 +95,7 @@ CONFIG_PREFIX="./_install"
 # CONFIG_FEATURE_SYSTEMD is not set
 # CONFIG_FEATURE_RTMINMAX is not set
 CONFIG_PASSWORD_MINLEN=6
-CONFIG_MD5_SIZE_VS_SPEED=2
+CONFIG_MD5_SMALL=1
 CONFIG_FEATURE_FAST_TOP=y
 # CONFIG_FEATURE_ETC_NETWORKS is not set
 CONFIG_FEATURE_USE_TERMIOS=y
@@ -101,6 +104,7 @@ CONFIG_FEATURE_EDITING_MAX_LEN=1024
 # CONFIG_FEATURE_EDITING_VI is not set
 CONFIG_FEATURE_EDITING_HISTORY=255
 CONFIG_FEATURE_EDITING_SAVEHISTORY=y
+# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
 CONFIG_FEATURE_REVERSE_SEARCH=y
 CONFIG_FEATURE_TAB_COMPLETION=y
 # CONFIG_FEATURE_USERNAME_COMPLETION is not set
@@ -140,6 +144,7 @@ CONFIG_FEATURE_CPIO_P=y
 CONFIG_GUNZIP=y
 CONFIG_GZIP=y
 CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
+CONFIG_GZIP_FAST=0
 CONFIG_LZOP=y
 # CONFIG_LZOP_COMPR_HIGH is not set
 CONFIG_RPM2CPIO=y
@@ -173,11 +178,13 @@ CONFIG_DATE=y
 CONFIG_FEATURE_DATE_ISOFMT=y
 # CONFIG_FEATURE_DATE_NANO is not set
 CONFIG_FEATURE_DATE_COMPAT=y
+CONFIG_HOSTID=y
 CONFIG_ID=y
 # CONFIG_GROUPS is not set
 CONFIG_TEST=y
 CONFIG_FEATURE_TEST_64=y
 CONFIG_TOUCH=y
+CONFIG_FEATURE_TOUCH_SUSV3=y
 CONFIG_TR=y
 CONFIG_FEATURE_TR_CLASSES=y
 CONFIG_FEATURE_TR_EQUIV=y
@@ -220,7 +227,6 @@ CONFIG_FOLD=y
 CONFIG_FSYNC=y
 CONFIG_HEAD=y
 CONFIG_FEATURE_FANCY_HEAD=y
-CONFIG_HOSTID=y
 CONFIG_INSTALL=y
 CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
 CONFIG_LN=y
@@ -461,6 +467,7 @@ CONFIG_DELGROUP=y
 CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
 CONFIG_GETTY=y
 CONFIG_LOGIN=y
+# CONFIG_LOGIN_SESSION_AS_CHILD is not set
 # CONFIG_PAM is not set
 CONFIG_LOGIN_SCRIPTS=y
 CONFIG_FEATURE_NOLOGIN=y
@@ -469,6 +476,7 @@ CONFIG_PASSWD=y
 CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
 CONFIG_CRYPTPW=y
 CONFIG_CHPASSWD=y
+CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des"
 CONFIG_SU=y
 CONFIG_FEATURE_SU_SYSLOG=y
 CONFIG_FEATURE_SU_CHECKS_SHELLS=y
@@ -518,6 +526,12 @@ CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
 # Linux System Utilities
 #
 CONFIG_BLOCKDEV=y
+CONFIG_MDEV=y
+CONFIG_FEATURE_MDEV_CONF=y
+CONFIG_FEATURE_MDEV_RENAME=y
+CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
+CONFIG_FEATURE_MDEV_EXEC=y
+CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
 CONFIG_REV=y
 CONFIG_ACPID=y
 CONFIG_FEATURE_ACPID_COMPAT=y
@@ -561,12 +575,6 @@ CONFIG_IPCS=y
 CONFIG_LOSETUP=y
 CONFIG_LSPCI=y
 CONFIG_LSUSB=y
-CONFIG_MDEV=y
-CONFIG_FEATURE_MDEV_CONF=y
-CONFIG_FEATURE_MDEV_RENAME=y
-CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
-CONFIG_FEATURE_MDEV_EXEC=y
-CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
 CONFIG_MKSWAP=y
 CONFIG_FEATURE_MKSWAP_UUID=y
 CONFIG_MORE=y
@@ -778,13 +786,13 @@ CONFIG_FEATURE_IFUPDOWN_IPV4=y
 CONFIG_FEATURE_IFUPDOWN_IPV6=y
 CONFIG_FEATURE_IFUPDOWN_MAPPING=y
 # CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
-CONFIG_INETD=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
-CONFIG_FEATURE_INETD_RPC=y
+# CONFIG_INETD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
+# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
+# CONFIG_FEATURE_INETD_RPC is not set
 CONFIG_IP=y
 CONFIG_FEATURE_IP_ADDRESS=y
 CONFIG_FEATURE_IP_LINK=y
@@ -835,6 +843,7 @@ CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
 # CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
 CONFIG_TUNCTL=y
 CONFIG_FEATURE_TUNCTL_UG=y
+# CONFIG_UDHCPC6 is not set
 CONFIG_UDHCPD=y
 CONFIG_DHCPRELAY=y
 CONFIG_DUMPLEASES=y
@@ -881,6 +890,7 @@ CONFIG_SENDMAIL=y
 # Process Utilities
 #
 CONFIG_IOSTAT=y
+CONFIG_LSOF=y
 CONFIG_MPSTAT=y
 CONFIG_NMETER=y
 CONFIG_PMAP=y
@@ -902,6 +912,7 @@ CONFIG_FEATURE_PIDOF_OMIT=y
 CONFIG_PKILL=y
 CONFIG_PS=y
 CONFIG_FEATURE_PS_WIDE=y
+CONFIG_FEATURE_PS_LONG=y
 # CONFIG_FEATURE_PS_TIME is not set
 # CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
 # CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
-- 
2.45.2


From 088008dbcaa36ffcc4cafd5f2c4fdc0fb3b624b7 Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Thu, 11 Oct 2012 00:58:57 +0000
Subject: [PATCH 06/16] Added missing patch

---
 work/fix-resource_header.patch | 12 ++++++++++++
 1 file changed, 12 insertions(+)
 create mode 100644 work/fix-resource_header.patch

diff --git a/work/fix-resource_header.patch b/work/fix-resource_header.patch
new file mode 100644
index 0000000..8163a86
--- /dev/null
+++ b/work/fix-resource_header.patch
@@ -0,0 +1,12 @@
+diff --git a/include/libbb.h b/include/libbb.h
+index f12800f..e7806c2 100644
+--- a/include/libbb.h
++++ b/include/libbb.h
+@@ -40,6 +40,7 @@
+ #include <sys/poll.h>
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
++#include <sys/resource.h>
+ #include <sys/socket.h>
+ #include <sys/stat.h>
+ #include <sys/time.h>
-- 
2.45.2


From eebbffc56a2ba1382ac7a2fe2e94a03fbc3689b7 Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Wed, 17 Oct 2012 17:08:28 +0000
Subject: [PATCH 07/16] Don't show error messages for internal find commands
 used in rc startup script

---
 filesystem/rc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/filesystem/rc b/filesystem/rc
index 8fd3474..e1a8bea 100755
--- a/filesystem/rc
+++ b/filesystem/rc
@@ -79,14 +79,14 @@ find_and_mount_media() {
 		echo
 	else
 		# configure modules
-		MODULES="`find /media/crux/kernel -type f -name 'modules-*.tar.*'`"
+		MODULES="`find /media/crux/kernel -type f -name 'modules-*.tar.*' 2>/dev/null`"
 		if [ ! -z "$MODULES" ]; then
 			tar -C /tmp -xf $MODULES
 			cd /lib && ln -s /tmp/lib/* .
 			depmod
 		fi
 		# configure pkgutils
-		PKGUTILS="`find /media/crux/core -type f -name 'pkgutils#*.pkg.tar.*'`"
+		PKGUTILS="`find /media/crux/core -type f -name 'pkgutils#*.pkg.tar.*' 2>/dev/null`"
 		if [ ! -z "$PKGUTILS" ]; then
 			tar -C /tmp -xf $PKGUTILS
 			cd /usr/bin && ln -s /tmp/usr/bin/* .
-- 
2.45.2


From d345ec820118123df1f61d71d588bf72e42e57c7 Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Tue, 23 Oct 2012 13:09:28 +0000
Subject: [PATCH 08/16] Added pass/login support and required files

---
 Makefile          | 5 ++++-
 filesystem/group  | 1 +
 filesystem/passwd | 1 +
 filesystem/shadow | 1 +
 4 files changed, 7 insertions(+), 1 deletion(-)
 create mode 100644 filesystem/group
 create mode 100644 filesystem/passwd
 create mode 100644 filesystem/shadow

diff --git a/Makefile b/Makefile
index 5dbc711..54c8259 100644
--- a/Makefile
+++ b/Makefile
@@ -102,8 +102,11 @@ $(WORK)/initrd.gz: check-root busybox dialog $(WORK)/mnt $(TOPDIR)/filesystem $(
 	install -d  $(WORK)/mnt/usr/share/terminfo
 	cp -dRv $(CLFS)/usr/share/terminfo/v $(WORK)/mnt/usr/share/terminfo
 	install -v -m 0644 $(TOPDIR)/filesystem/{fstab,inittab,profile,protocols,*.conf} $(WORK)/mnt/etc
+	install -v -m 0664 $(TOPDIR)/filesystem/group $(WORK)/mnt/etc
+	install -v -m 0600 $(TOPDIR)/filesystem/passwd $(WORK)/mnt/etc
+	install -v -m 0400 $(TOPDIR)/filesystem/shadow $(WORK)/mnt/etc
 	install -v -m 0755 $(TOPDIR)/filesystem/rc $(WORK)/mnt/etc && \
-	install -v -m 0755 $(TOPDIR)/filesystem/{setup*,crux} $(WORK)/mnt/usr/bin && \
+	install -v -m 0755 $(TOPDIR)/filesystem/{setup,setup-chroot,crux} $(WORK)/mnt/usr/bin && \
 	/sbin/ldconfig -r $(WORK)/mnt
 	umount -v $(WORK)/mnt
 	cd $(WORK) && gzip -v initrd
diff --git a/filesystem/group b/filesystem/group
new file mode 100644
index 0000000..18acc30
--- /dev/null
+++ b/filesystem/group
@@ -0,0 +1 @@
+root:x:0:root
diff --git a/filesystem/passwd b/filesystem/passwd
new file mode 100644
index 0000000..eb85a55
--- /dev/null
+++ b/filesystem/passwd
@@ -0,0 +1 @@
+root:x:0:0:root:/root:/bin/sh
diff --git a/filesystem/shadow b/filesystem/shadow
new file mode 100644
index 0000000..6034cdc
--- /dev/null
+++ b/filesystem/shadow
@@ -0,0 +1 @@
+root:x:0::::::
-- 
2.45.2


From a7abe2d21b15be0626613a046e8e340d0cb40a9f Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Tue, 23 Oct 2012 13:09:53 +0000
Subject: [PATCH 09/16] Fixed CRUX's version in rc script

---
 filesystem/crux | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/filesystem/crux b/filesystem/crux
index 04ec127..561d9ef 100755
--- a/filesystem/crux
+++ b/filesystem/crux
@@ -1,5 +1,5 @@
 #! /bin/sh
 
-echo "CRUX 2.7"
+echo "CRUX 2.8"
 
 # End of file
-- 
2.45.2


From 06ba1c903dd0f5c0048209e7b3330560b1e841b5 Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Tue, 23 Oct 2012 13:11:15 +0000
Subject: [PATCH 10/16] Fixed block devices used to find_and_mount_media in rc
 script, also added debug section.

---
 filesystem/rc | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/filesystem/rc b/filesystem/rc
index e1a8bea..d035357 100755
--- a/filesystem/rc
+++ b/filesystem/rc
@@ -32,7 +32,7 @@ find_and_mount_media() {
 	echo -e " ${BOLD}${BLUE}*${NORM} Searching for the CRUX media..."
 	mkdir -p /media
 	CRUXMEDIA=""
-	MMC_DEVICES="`grep -E 'mmcblk' /proc/partitions | awk '{ print $4 }'`"
+	MMC_DEVICES="`grep -E 'mmcblk0p' /proc/partitions | awk '{ print $4 }'`"
 	BLOCK_DEVICES="`grep -E '[sh]d' /proc/partitions | awk '{ print $4 }'`"
 	for DEV in $MMC_DEVICES $BLOCK_DEVICES
 	do
@@ -100,7 +100,7 @@ find_and_mount_media() {
 #
 
 echo ""
-echo -e "${BOLD}CRUX-ARM 2.7.1 - ${BLUE}http://crux-arm.nu/${NORM}"
+echo -e "${BOLD}CRUX-ARM 2.8 - ${BLUE}http://crux-arm.nu/${NORM}"
 echo ""
 
 exec >/dev/console </dev/console 2>&1
@@ -144,6 +144,12 @@ checkReturn
 echo -e " ${BOLD}${BLUE}*${NORM} Trying to find and mount the media installer..."
 find_and_mount_media
 
+if grep -q debug /proc/cmdline; then
+	echo -e -n " ${BOLD}${BLUE}*${NORM} Loading debug script..."
+	/media/debug.sh
+	checkReturn
+fi
+
 echo
 echo "The system is coming up. Please wait."
 echo
-- 
2.45.2


From b181a2ae57c01ae49c4f626a46d30129052487e4 Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Thu, 1 Nov 2012 17:18:10 +0000
Subject: [PATCH 11/16] Fixed homedir for root user

---
 filesystem/passwd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/filesystem/passwd b/filesystem/passwd
index eb85a55..5183638 100644
--- a/filesystem/passwd
+++ b/filesystem/passwd
@@ -1 +1 @@
-root:x:0:0:root:/root:/bin/sh
+root:x:0:0:root:/:/bin/sh
-- 
2.45.2


From 2d4b5415add42aa0097af4839c2ecd203cb28a47 Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Thu, 1 Nov 2012 17:18:42 +0000
Subject: [PATCH 12/16] Modified setup script to handle extra collections

---
 filesystem/setup | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/filesystem/setup b/filesystem/setup
index c1cba24..bb3b550 100755
--- a/filesystem/setup
+++ b/filesystem/setup
@@ -22,7 +22,7 @@
 # USA.
 #
 
-VERSION="2.7.1"
+VERSION="2.8"
 
 do_dialog() {
     dialog --backtitle "CRUX $VERSION Setup" --no-shadow "$@"
@@ -76,6 +76,16 @@ select_root() {
     done
 }
 
+get_extra_collections() {
+    for i in $crux_dir/*; do
+        if [ -d $i ]; then
+		if [ "$i" != "core" ] && [ "$i" != "kernel" ]; then
+			EXTRA_COLLECTIONS="$EXTRA_COLLECTIONS $i"
+		fi
+	fi
+    done
+}
+
 select_collections() {
         if [ "$ACTION" != "INSTALL" ]; then
                 return 0
@@ -87,8 +97,7 @@ select_collections() {
         TITLE="Select collections to install:\n(detailed package selection will follow)"
         do_select --separate-output --checklist "$TITLE" 13 60 6 \
                 core "The core packages (required)" ON \
-                opt "Optional packages" OFF \
-                xorg "X.org packages" OFF 2> $collfile
+                $(for col in $EXTRA_COLLECTIONS; do echo -ne "$col \"$col packages\" OFF "; done) 2> $collfile
 }
 
 ask_detailed() {
@@ -105,7 +114,7 @@ select_packages() {
         fi
         if [ "$ACTION" = "INSTALL" ]; then
                 if [ "$DO_DETAILED" = "yes" ]; then
-                        for collection in core opt xorg; do
+                        for collection in core $EXTRA_COLLECTIONS; do
                                 [ ! -d $collection ] && continue
                                 presel=`grep $collection $collfile`
                                 if [ "$presel" == "$collection" ]; then
@@ -119,7 +128,8 @@ select_packages() {
                                 do_select --separate-output --checklist "$TITLE" 19 60 12 $PKG_LIST 2>> $pkgfile
                         done
                 else # no detailed selection
-                        for collection in core opt xorg; do
+                        for collection in core $EXTRA_COLLECTIONS; do
+
                                 [ ! -d $collection ] && continue
                                 presel=`grep $collection $collfile`
                                 if [ "$presel" == "$collection" ]; then
@@ -293,6 +303,7 @@ main() {
         welcome
         select_action
         select_root
+        get_extra_collections
         select_collections
         ask_detailed
         select_packages
@@ -301,7 +312,7 @@ main() {
         if [ "$ACTION" = "UPGRADE" ] && [ -f /usr/bin/setup-helper ]
         then
                 (/usr/bin/setup-helper $ROOT &> $helperlogfile) | do_dialog \
-                        --title " Please wait [2.6 -> 2.7.1 check]" --gauge "" 8 60 0
+                        --title " Please wait [2.7 -> 2.8 check]" --gauge "" 8 60 0
         fi
 	install_packages
         cat $helperlogfile 2> /dev/null
@@ -320,6 +331,8 @@ markedfile=/tmp/marked.$$
 DO_DETAILED="no"
 MISSINGDEPS=""
 
+EXTRA_COLLECTIONS=""
+
 trap "rm -f $tmpfile $pkgfile $collfile $neededfile $markedfile" 0 1 2 5 15
 
 if [ "$1" != "" ]; then
-- 
2.45.2


From 1bd0a45bf78557eb2b92dacd06bced53cce0f9f9 Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Thu, 1 Nov 2012 17:18:57 +0000
Subject: [PATCH 13/16] Initial import for setup-helper script

---
 filesystem/setup-helper | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100755 filesystem/setup-helper

diff --git a/filesystem/setup-helper b/filesystem/setup-helper
new file mode 100755
index 0000000..e69de29
-- 
2.45.2


From 762878ffea86aa0a4175f54b063eaa73f9388c4f Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Thu, 1 Nov 2012 17:27:07 +0000
Subject: [PATCH 14/16] Initial import for setup-helper script (imported from
 upstream CRUX iso.git repository

---
 filesystem/setup-helper | 133 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 133 insertions(+)
 mode change 100755 => 100644 filesystem/setup-helper

diff --git a/filesystem/setup-helper b/filesystem/setup-helper
old mode 100755
new mode 100644
index e69de29..348fb08
--- a/filesystem/setup-helper
+++ b/filesystem/setup-helper
@@ -0,0 +1,133 @@
+#!/bin/bash
+# post setup
+#
+# Johannes Winkelmann, jw at tks6 dot net
+
+ROOT=$1
+DB=$ROOT/var/lib/pkg/db
+
+## those values should be changed:
+TMPDB=$DB.tmp
+BACKUPDB=$DB.backup
+PKGADD="pkgadd"
+PKGRM="pkgrm"
+MV="mv"
+
+
+is_installed() {
+    printf "%s" $(pkginfo -r $ROOT -i | gawk -v r="^$1\$" '$1 ~ r {print $1}')
+}
+
+
+rename_packages() {
+    if [ -z "$1" ]; then
+	return
+    fi
+    pkg=$@
+    
+    filter="sed "
+    runfilter="no"
+    for tuple in $@; do
+	split=($(echo $tuple|sed -e 's|:| |'))
+	if [ -n "${split[1]}" ] && [ `is_installed ${split[0]}` ]; then
+	    echo "Package renamed:  ${split[0]} -> ${split[1]}"
+	    filter="$filter -e 's|^${split[0]}$|${split[1]}|'"
+	    runfilter="yes"
+	fi
+    done
+    if [ "$runfilter" = "no" ]; then
+	return
+    fi
+
+    :> $TMPDB
+    if [ -f $DB ]; then
+	nextIsName=1
+	cat $DB|while read l; do
+	    if [ $nextIsName -eq 1 ]; then
+		nextIsName=0
+		echo $l|eval $filter >> $TMPDB
+	    else
+		if [ "$l" = "" ]; then
+		    nextIsName=1
+		fi
+		echo $l >> $TMPDB
+	    fi
+	done
+    fi
+
+    $MV $DB $BACKUPDB
+    $MV $TMPDB $DB
+}
+
+
+remove_packages() {
+    for package in $@; do
+	if [ `is_installed $package` ]; then
+	    echo "Package removed:  $package"
+            $PKGRM -r $ROOT $package
+	fi
+    done
+}
+
+inject_packages() {
+    for package in $@; do
+    pkg="`find core opt xorg \( -name \"${package}#*.pkg.tar.gz\" -o -name \"${package}#*.pkg.tar.bz2\" -o -name \"${package}#*.pkg.tar.xz\" \)&2> /dev/null`"
+	if [ -z "$pkg" ]; then
+		echo "  ERROR: package $package not found on ISO"
+	else
+		if [ -z `is_installed $package` ]; then
+		    echo "Package injected: $package"
+			$PKGADD -r $ROOT -f $pkg
+		else
+			echo "Package upgraded: $package"
+			$PKGADD -r $ROOT -u -f $pkg
+		fi
+	fi
+    done
+}
+
+####################
+
+if [ -z "$1" ]; then
+    echo "Usage: $0 <root>"
+    exit -1
+fi
+
+
+##### # 2.7 -> 2.8 #####
+echo "* CRUX 2.7 -> 2.8 setup-helper"
+
+rename_packages "util-linux-ng:util-linux"
+remove_packages module-init-tools eject
+inject_packages kmod tzdata util-linux
+
+if [ `is_installed glib` ]; then
+    inject_packages libffi
+fi
+
+if [ `is_installed wpa_supplicant` ]; then
+    inject_packages libnl
+fi
+
+if [ `is_installed xorg-xcb-util` ]; then
+    inject_packages xorg-xcb-util-image xorg-xcb-util-keysyms xorg-xcb-util-renderutil xorg-xcb-util-wm
+fi
+
+if [ `is_installed xorg-xf86-input-evdev` ]; then
+    inject_packages mtdev
+fi
+
+if [ `is_installed xorg-xf86-input-synaptics` ]; then
+    inject_packages mtdev
+fi
+
+if [ `is_installed firefox` ]; then
+    inject_packages nspr nss sqlite3
+fi
+
+if [ `is_installed mesa3d` ]; then
+    inject_packages glu
+fi
+
+# force replacement of /etc/mtab with symlink
+ln -sf /proc/self/mounts $ROOT/etc/mtab
-- 
2.45.2


From b58c75077584a025d89ddc92a094d128c055d4ca Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Thu, 1 Nov 2012 17:45:33 +0000
Subject: [PATCH 15/16] Modified setup-helper script to handle extra
 collections

---
 filesystem/setup-helper | 56 +++++++++++++++++++++++++----------------
 1 file changed, 35 insertions(+), 21 deletions(-)
 mode change 100644 => 100755 filesystem/setup-helper

diff --git a/filesystem/setup-helper b/filesystem/setup-helper
old mode 100644
new mode 100755
index 348fb08..37101a7
--- a/filesystem/setup-helper
+++ b/filesystem/setup-helper
@@ -71,9 +71,9 @@ remove_packages() {
 
 inject_packages() {
     for package in $@; do
-    pkg="`find core opt xorg \( -name \"${package}#*.pkg.tar.gz\" -o -name \"${package}#*.pkg.tar.bz2\" -o -name \"${package}#*.pkg.tar.xz\" \)&2> /dev/null`"
+    pkg="`find core $EXTRA_COLLECTIONS \( -name \"${package}#*.pkg.tar.gz\" -o -name \"${package}#*.pkg.tar.bz2\" -o -name \"${package}#*.pkg.tar.xz\" \)&2> /dev/null`"
 	if [ -z "$pkg" ]; then
-		echo "  ERROR: package $package not found on ISO"
+		echo "  ERROR: package $package not found on CRUX media installer"
 	else
 		if [ -z `is_installed $package` ]; then
 		    echo "Package injected: $package"
@@ -93,6 +93,14 @@ if [ -z "$1" ]; then
     exit -1
 fi
 
+EXTRA_COLLECTIONS=""
+for i in /media/crux/*; do.
+	if [ -d $i ]; then
+		if [ "$i" != "core" ] && [ "$i" != "kernel" ]; then
+			EXTRA_COLLECTIONS="$EXTRA_COLLECTIONS $i"
+		fi
+	fi
+done
 
 ##### # 2.7 -> 2.8 #####
 echo "* CRUX 2.7 -> 2.8 setup-helper"
@@ -101,32 +109,38 @@ rename_packages "util-linux-ng:util-linux"
 remove_packages module-init-tools eject
 inject_packages kmod tzdata util-linux
 
-if [ `is_installed glib` ]; then
-    inject_packages libffi
-fi
+if grep -q opt $EXTRA_COLLECTIONS; then
 
-if [ `is_installed wpa_supplicant` ]; then
-    inject_packages libnl
-fi
+	if [ `is_installed glib` ]; then
+	    inject_packages libffi
+	fi
 
-if [ `is_installed xorg-xcb-util` ]; then
-    inject_packages xorg-xcb-util-image xorg-xcb-util-keysyms xorg-xcb-util-renderutil xorg-xcb-util-wm
+	if [ `is_installed wpa_supplicant` ]; then
+	    inject_packages libnl
+	fi
 fi
 
-if [ `is_installed xorg-xf86-input-evdev` ]; then
-    inject_packages mtdev
-fi
+if grep -q xorg $EXTRA_COLLECTIONS; then
 
-if [ `is_installed xorg-xf86-input-synaptics` ]; then
-    inject_packages mtdev
-fi
+	if [ `is_installed xorg-xcb-util` ]; then
+	    inject_packages xorg-xcb-util-image xorg-xcb-util-keysyms xorg-xcb-util-renderutil xorg-xcb-util-wm
+	fi
 
-if [ `is_installed firefox` ]; then
-    inject_packages nspr nss sqlite3
-fi
+	if [ `is_installed xorg-xf86-input-evdev` ]; then
+	    inject_packages mtdev
+	fi
+
+	if [ `is_installed xorg-xf86-input-synaptics` ]; then
+	    inject_packages mtdev
+	fi
+
+	if [ `is_installed firefox` ]; then
+	    inject_packages nspr nss sqlite3
+	fi
 
-if [ `is_installed mesa3d` ]; then
-    inject_packages glu
+	if [ `is_installed mesa3d` ]; then
+	    inject_packages glu
+	fi
 fi
 
 # force replacement of /etc/mtab with symlink
-- 
2.45.2


From c1447ba5b58ca34b500f137a5fc9c360ce39bc2d Mon Sep 17 00:00:00 2001
From: Jose V Beneyto <sepen@crux.nu>
Date: Thu, 1 Nov 2012 17:48:10 +0000
Subject: [PATCH 16/16] Fixed order for injected packages in setup-helper
 script.

---
 filesystem/setup-helper | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/filesystem/setup-helper b/filesystem/setup-helper
index 37101a7..bce20d2 100755
--- a/filesystem/setup-helper
+++ b/filesystem/setup-helper
@@ -118,6 +118,10 @@ if grep -q opt $EXTRA_COLLECTIONS; then
 	if [ `is_installed wpa_supplicant` ]; then
 	    inject_packages libnl
 	fi
+
+	if [ `is_installed firefox` ]; then
+	    inject_packages nspr nss sqlite3
+	fi
 fi
 
 if grep -q xorg $EXTRA_COLLECTIONS; then
@@ -134,10 +138,6 @@ if grep -q xorg $EXTRA_COLLECTIONS; then
 	    inject_packages mtdev
 	fi
 
-	if [ `is_installed firefox` ]; then
-	    inject_packages nspr nss sqlite3
-	fi
-
 	if [ `is_installed mesa3d` ]; then
 	    inject_packages glu
 	fi
-- 
2.45.2