From 008389baae704ea3ab058cb7c8b83432ad0cd4a5 Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Tue, 22 Nov 2011 07:07:36 -0600 Subject: [PATCH] bug: the debian installer in squeeze is failing to init the usb system, looks to be a gcc bug as the linaro kernels work fine Signed-off-by: Robert Nelson --- mk_mmc.sh | 26 ++++++++++++++++++++++++-- scripts/debian-tweaks.diff | 5 +++-- scripts/ubuntu-tweaks.diff | 5 +++-- 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/mk_mmc.sh b/mk_mmc.sh index b9d1717..dd24a6d 100755 --- a/mk_mmc.sh +++ b/mk_mmc.sh @@ -39,6 +39,7 @@ unset USE_UENV SCRIPT_VERSION="1.11" IN_VALID_UBOOT=1 +DI_BROKEN_USE_CROSS=1 MIRROR="http://rcn-ee.net/deb/" DIST=squeeze @@ -193,6 +194,10 @@ function dl_kernel_image { wget --no-verbose --directory-prefix=${TEMPDIR}/dl/ http://rcn-ee.net/deb/${DIST}/${FTP_DIR}/ ACTUAL_DEB_FILE=$(cat ${TEMPDIR}/dl/index.html | grep linux-image | awk -F "\"" '{print $2}') wget -c --directory-prefix=${DIR}/dl/${DIST} ${MIRROR}${DIST}/v${KERNEL}/${ACTUAL_DEB_FILE} + if [ "${DI_BROKEN_USE_CROSS}" ] ; then + CROSS_DEB_FILE=$(echo ${ACTUAL_DEB_FILE} | sed 's:'${DIST}':cross:g') + wget -c --directory-prefix=${DIR}/dl/${DIST} ${MIRROR}cross/v${KERNEL}/${CROSS_DEB_FILE} + fi else KERNEL=${DEB_FILE} #Remove all "\" from file name. @@ -510,6 +515,9 @@ function setup_bootscripts { sed -i -e 's:SERIAL:'$SERIAL':g' ${DIR}/scripts/serial.conf sed -i -e 's:SERIAL:'$SERIAL':g' ${DIR}/scripts/*-tweaks.diff + #Setup Kernel Boot Address + sed -i -e 's:ZRELADD:'$ZRELADD':g' ${DIR}/scripts/*-tweaks.diff + if [ "$SMSC95XX_MOREMEM" ];then sed -i 's/8192/16384/g' ${DIR}/scripts/*.diff fi @@ -521,7 +529,11 @@ function extract_base_initrd { cd ${TEMPDIR}/initrd-tree zcat ${DIR}/dl/${DIST}/initrd.gz | cpio -i -d - dpkg -x ${DIR}/dl/${DIST}/${ACTUAL_DEB_FILE} ${TEMPDIR}/initrd-tree + if [ ! "${DI_BROKEN_USE_CROSS}" ] ; then + dpkg -x ${DIR}/dl/${DIST}/${ACTUAL_DEB_FILE} ${TEMPDIR}/initrd-tree + else + dpkg -x ${DIR}/dl/${DIST}/${CROSS_DEB_FILE} ${TEMPDIR}/initrd-tree + fi cd ${DIR}/ } @@ -707,7 +719,11 @@ function recompress_initrd { function extract_zimage { echo "Extracting Boot Kernel zImage" echo "-----------------------------" - dpkg -x ${DIR}/dl/${DIST}/${ACTUAL_DEB_FILE} ${TEMPDIR}/kernel + if [ ! "${DI_BROKEN_USE_CROSS}" ] ; then + dpkg -x ${DIR}/dl/${DIST}/${ACTUAL_DEB_FILE} ${TEMPDIR}/kernel + else + dpkg -x ${DIR}/dl/${DIST}/${CROSS_DEB_FILE} ${TEMPDIR}/kernel + fi } function create_custom_netinstall_image { @@ -1016,6 +1032,9 @@ function reset_scripts { sed -i -e 's:'$SERIAL':SERIAL:g' ${DIR}/scripts/serial.conf sed -i -e 's:'$SERIAL':SERIAL:g' ${DIR}/scripts/*-tweaks.diff + #Setup Kernel Boot Address + sed -i -e 's:'$ZRELADD':ZRELADD:g' ${DIR}/scripts/*-tweaks.diff + if [ "$SMSC95XX_MOREMEM" ];then sed -i 's/16384/8192/g' ${DIR}/scripts/*.diff fi @@ -1217,18 +1236,21 @@ function check_distro { if test "-$DISTRO_TYPE-" = "-maverick-" then DIST=maverick + unset DI_BROKEN_USE_CROSS unset IN_VALID_DISTRO fi if test "-$DISTRO_TYPE-" = "-oneiric-" then DIST=oneiric + unset DI_BROKEN_USE_CROSS unset IN_VALID_DISTRO fi if test "-$DISTRO_TYPE-" = "-natty-" then DIST=natty + unset DI_BROKEN_USE_CROSS unset IN_VALID_DISTRO fi diff --git a/scripts/debian-tweaks.diff b/scripts/debian-tweaks.diff index 475729e..f77e349 100644 --- a/scripts/debian-tweaks.diff +++ b/scripts/debian-tweaks.diff @@ -3,7 +3,7 @@ new file mode 100755 index 0000000..6d06fc7 --- /dev/null +++ b/usr/lib/finish-install.d/08rcn-omap -@@ -0,0 +1,44 @@ +@@ -0,0 +1,45 @@ +#!/bin/sh -e +cp /etc/e2fsck.conf /target/etc/e2fsck.conf + @@ -21,7 +21,6 @@ index 0000000..6d06fc7 + + #Use the final boot files + mv /tmp/mmc/user.scr /tmp/mmc/boot.scr -+ mv /tmp/mmc/uImage.net /tmp/mmc/uImage + + mkdir -p /target/boot/uboot + echo "/dev/mmcblk0p1 /boot/uboot auto defaults 0 0" >> /target/etc/fstab @@ -42,6 +41,8 @@ index 0000000..6d06fc7 + chroot /target update-initramfs -c -k `uname -r` + chroot /target mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n initramfs -d /boot/initrd.img-`uname -r` /boot/uInitrd + cp /target/boot/uInitrd /tmp/mmc/uInitrd ++ chroot /target mkimage -A arm -O linux -T kernel -C none -a ZRELADD -e ZRELADD -n `uname -r` -d /boot/vmlinuz-`uname -r` /boot/uImage ++ cp /target/boot/uImage /tmp/mmc/uImage + umount /target/sys + + sync diff --git a/scripts/ubuntu-tweaks.diff b/scripts/ubuntu-tweaks.diff index eaaeb99..188e2b5 100644 --- a/scripts/ubuntu-tweaks.diff +++ b/scripts/ubuntu-tweaks.diff @@ -3,7 +3,7 @@ new file mode 100755 index 0000000..6d06fc7 --- /dev/null +++ b/usr/lib/finish-install.d/08rcn-omap -@@ -0,0 +1,64 @@ +@@ -0,0 +1,65 @@ +#!/bin/sh -e +cp /etc/flash-kernel.conf /target/etc/flash-kernel.conf +cp /etc/SERIAL.conf /target/etc/init/SERIAL.conf @@ -46,7 +46,6 @@ index 0000000..6d06fc7 + + #Use the final boot files + mv /tmp/mmc/user.scr /tmp/mmc/boot.scr -+ mv /tmp/mmc/uImage.net /tmp/mmc/uImage + + mkdir -p /target/boot/uboot + echo "/dev/mmcblk0p1 /boot/uboot auto defaults 0 0" >> /target/etc/fstab @@ -63,6 +62,8 @@ index 0000000..6d06fc7 + chroot /target update-initramfs -c -k `uname -r` + chroot /target mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n initramfs -d /boot/initrd.img-`uname -r` /boot/uInitrd + cp /target/boot/uInitrd /tmp/mmc/uInitrd ++ chroot /target mkimage -A arm -O linux -T kernel -C none -a ZRELADD -e ZRELADD -n `uname -r` -d /boot/vmlinuz-`uname -r` /boot/uImage ++ cp /target/boot/uImage /tmp/mmc/uImage + umount /target/sys + + sync