From 35e1818ae8f9c0baade81535b1e68464c5b38ae6 Mon Sep 17 00:00:00 2001 From: Mike Staszel Date: Wed, 27 Oct 2010 19:16:50 -0500 Subject: [PATCH] Removed uboot source, native PKGBUILDs --- README | 8 +- scripts/distro-builder | 5 +- scripts/pkgverchecker | 9 +- uboot-guru | 1 - uboot-mtd3-jeffd/README | 1 - .../installation/install_uboot_mtd3.sh | 403 ------------------ 6 files changed, 10 insertions(+), 417 deletions(-) delete mode 160000 uboot-guru delete mode 100644 uboot-mtd3-jeffd/README delete mode 100644 uboot-mtd3-jeffd/installation/install_uboot_mtd3.sh diff --git a/README b/README index 965cfd9b5..cf258fa89 100644 --- a/README +++ b/README @@ -1,13 +1,11 @@ This git repository hosts PKGBUILDs and information on porting Arch Linux (http://archlinux.org) to the ARM platform, with an emphasis on the Marvell Kirkwood -and Sheeva platforms (armv5te or higher). +and Sheeva platforms (armv5te or higher). However, it runs +on anything armv5tel or higher. The packages are meant to be built on Plugbox Linux, found at -http://plugapps.com/ - -Also included is the Pogoplug/Dockstar "Advanced" u-Boot -bootloader with USB drive boot support. +http://plugboxlinux.org It's not called Arch-[something] due to copyright, but it's basically Arch Linux for ARM. diff --git a/scripts/distro-builder b/scripts/distro-builder index c8b275170..3d009e43a 100755 --- a/scripts/distro-builder +++ b/scripts/distro-builder @@ -1,7 +1,6 @@ #!/bin/bash # # Plugbox Linux Distribution Image Builder -# Version 0.5 # # Licensed under the GPLv2. # @@ -20,7 +19,7 @@ # ==== Variables to set ==== PLUGSCRIPTDIR=/media/Plugbox/builder/plugapps/scripts/plugscripts INSTALLEDPKGS="base kernel26-withlinux file openssh openssl heimdal" -RELEASEVER=1.1 +RELEASEVER=2010.11 MAKETARGZ=1 MAKEUBIIMG=1 # ==== The Process ==== @@ -29,7 +28,7 @@ echo -e "\033[1mInstalling packages...\033[0m" mkdir -p $1/var/lib/pacman pacman -Syy --noconfirm --noprogressbar -r $1 $INSTALLEDPKGS -echo -e "\033[1mSetting the password to 'root' and cleaning up:\033[0m" +echo -e "\033[1mSetting the password to 'root' and cleaning up:\033[0m" echo -e "root\nroot\n" | chroot $1/ /usr/bin/passwd root rm $1/dev/{console,null,zero} chroot $1/ mknod -m 600 /dev/console c 5 1 diff --git a/scripts/pkgverchecker b/scripts/pkgverchecker index 46a4e0d99..e6c3372bc 100755 --- a/scripts/pkgverchecker +++ b/scripts/pkgverchecker @@ -7,26 +7,27 @@ ABSDIR=/build/abs REPODIR=/build/packages -cd $ABSDIR/$1 - if [[ ! $* ]]; then echo "usage: $0 " exit 1 fi -echo "$1" -echo "" +echo "$1" cd $REPODIR/$1 for i in `find . -maxdepth 1 -mindepth 1 -type d|sort`; do PKGNAME=`grep ^pkgname= $i/PKGBUILD | sed -e 's/pkgname=//'` PKGVER=`grep ^pkgver= $i/PKGBUILD | sed -e 's/pkgver=//'` PKGREL=`grep ^pkgrel= $i/PKGBUILD | sed -e 's/pkgrel=/-/'` + if [[ -e $ABSDIR/$1/$i ]]; then ABSVER=`grep ^pkgver= $ABSDIR/$1/$i/PKGBUILD | sed -e 's/pkgver=//'` ABSREL=`grep ^pkgrel= $ABSDIR/$1/$i/PKGBUILD | sed -e 's/pkgrel=/-/'` + if [[ "$ABSVER$ABSREL" != "$PKGVER$PKGREL" ]]; then echo "$PKGNAME $PKGVER$PKGREL -> $ABSVER$ABSREL" fi + fi + done diff --git a/uboot-guru b/uboot-guru deleted file mode 160000 index 86cf2ae49..000000000 --- a/uboot-guru +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 86cf2ae492db316e73512a1786d57ece9b3a7624 diff --git a/uboot-mtd3-jeffd/README b/uboot-mtd3-jeffd/README deleted file mode 100644 index 451823678..000000000 --- a/uboot-mtd3-jeffd/README +++ /dev/null @@ -1 +0,0 @@ -This is JeffD's new uBoot and installation scripts. diff --git a/uboot-mtd3-jeffd/installation/install_uboot_mtd3.sh b/uboot-mtd3-jeffd/installation/install_uboot_mtd3.sh deleted file mode 100644 index 11b252bd4..000000000 --- a/uboot-mtd3-jeffd/installation/install_uboot_mtd3.sh +++ /dev/null @@ -1,403 +0,0 @@ -#!/bin/sh - -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# Dockstar/Pogoplug u-Boot Installer v0.3 -# by Jeff Doozan -# -# Based on Pogoplug u-Booter Installer v0.2 -# by IanJB, original method and inspiration from aholler: -# http://ahsoftware.de/dockstar/ -# -# This is a script to write a newer u-boot to Pogoplug/DockStar mtd3 -# and configure the u-boot on mtd0 to pass control to our new u-boot - - -UBOOT_URL=http://jeff.doozan.com/debian/uboot/uboot.mtd3.bin -UBOOT_ENV_URL=http://jeff.doozan.com/debian/uboot/uboot.environment -BLPARAM_URL=http://jeff.doozan.com/debian/uboot/blparam -NANDDUMP_URL=http://jeff.doozan.com/debian/uboot/nanddump -FLASH_ERASE_URL=http://jeff.doozan.com/debian/uboot/flash_erase -FW_PRINTENV_URL=http://jeff.doozan.com/debian/uboot/fw_printenv -FW_CONFIG_URL=http://jeff.doozan.com/debian/uboot/fw_env.config - -UBOOT=/tmp/uboot.mtd3.bin -UBOOT_ENV=/tmp/uboot.environment -BLPARAM=/usr/local/cloudengines/bin/blparam -NANDDUMP=/usr/bin/nanddump -FLASH_ERASE=/usr/bin/flash_erase -FW_PRINTENV=/usr/bin/fw_printenv -FW_SETENV=/usr/bin/fw_setenv -FW_CONFIG=/etc/fw_env.config - - -function verify_md5 { - local file=$1 - local md5=$2 - - if [[ $(cat "$md5" | cut -d' ' -f1) == $(md5sum "$file" | cut -d' ' -f1) ]]; then - echo 1; - else - echo 0; - fi -} - -function download_and_verify -{ - local file_dest=$1 - local file_url=$2 - - local md5_dest="$file_dest.md5" - local md5_url="$file_url.md5" - - # Always download a fresh MD5, in clase a newer version is available - if [ -e "$md5_dest" ]; then rm -f "$md5_dest"; fi - wget -O "$md5_dest" "$md5_url" - # retry the download if it failed - if [ ! -e "$md5_dest" ]; then - wget -O "$md5_dest" "$md5_url" - if [ ! -e "$md5_dest" ]; then - echo 0 # Could not get md5 - return - fi - fi - - # If the file already exists, check the MD5 - if [ -e "$file_dest" ]; then - if [[ $( verify_md5 "$file_dest" "$md5_dest" ) == 1 ]]; then - rm -f "$md5_dest" - echo 1 - return - else - rm -f "$file_dest" - fi - fi - - # Download the file - wget -O "$file_dest" "$file_url" - # retry the download if it failed - if [[ $( verify_md5 "$file_dest" "$md5_dest" ) == 0 ]]; then - - # Download failed or MD5 did not match, try again - if [ -e "$file_dest" ]; then rm -f "$file_dest"; fi - wget -O "$file_dest" "$file_url" - if [[ $( verify_md5 "$file_dest" "$md5_dest" ) == 0 ]]; then - rm -f "$md5_dest" - echo 0 - return - fi - fi - - rm -f "$md5_dest" - echo 1 -} - - -if [[ "$1" != "--noprompt" ]]; then - - echo "" - echo "" - echo "" - echo "" - echo "This script will install an alternate uBoot on /dev/mtd3." - echo "It will also modify the boot parameters of the original uBoot" - echo "to pass control to the alternate uBoot." - echo "" - echo "Your new uBoot will attempt to boot from the first USB device" - echo "and, failing that, will pass control back to the original" - echo "uBoot to start the default Pogoplug installation" - echo "" - echo "This script will DESTROY ALL EXISTING DATA on /dev/mtd3" - echo "(which is fine -- it's an empty partition, unless you've" - echo "knowingly put something there)" - echo "" - echo -n "If this is ok, type 'ok' and press ENTER to continue: " - - read IS_OK - if [ "$IS_OK" != "OK" -a "$IS_OK" != "Ok" -a "$IS_OK" != "ok" ]; - then - echo "Exiting..." - exit - fi - -fi - -# Install blparam if it doesn't already exist -if [ ! -e "$BLPARAM" ]; then - echo "# Installing blparam..." - mount -o rw,remount / - - if [[ $( download_and_verify "$BLPARAM" "$BLPARAM_URL" ) == 0 ]]; then - mount -o ro,remount / - echo "## Could not install blparam, exiting." - exit 1 - fi - - chmod +x "$BLPARAM" - mount -o ro,remount / - - echo "# Successfully installed blparam." -fi - -# Install nanddump if it doesn't already exist -if [ ! -e "$NANDDUMP" ]; then - echo "" - echo "# Installing nanddump..." - mount -o rw,remount / - - if [[ $( download_and_verify "$NANDDUMP" "$NANDDUMP_URL" ) == 0 ]]; then - mount -o ro,remount / - echo "## Could not install nanddump, exiting." - exit 1 - fi - - chmod +x "$NANDDUMP" - mount -o ro,remount / - - echo "# Successfully installed nanddump." -fi - -# Install flash_erase if it doesn't already exist -if [ ! -e "$FLASH_ERASE" ]; then - echo "" - echo "# Installing flash_erase..." - mount -o rw,remount / - - if [[ $( download_and_verify "$FLASH_ERASE" "$FLASH_ERASE_URL" ) == 0 ]]; then - mount -o ro,remount / - echo "## Could not install flash_erase, exiting." - exit 1 - fi - - chmod +x "$FLASH_ERASE" - mount -o ro,remount / - - echo "# Successfully installed flash_erase." -fi - -# Install fw_env tools if they doesn't already exist -if [ ! -e "$FW_PRINTENV" ]; then - echo "" - echo "# Installing fw_printenv and fw_setenv utils..." - mount -o rw,remount / - - if [[ $( download_and_verify "$FW_PRINTENV" "$FW_PRINTENV_URL" ) == 0 ]]; then - mount -o ro,remount / - echo "## Could not install fw_printenv and fw_setenv, exiting." - exit 1 - fi - - chmod +x "$FW_PRINTENV" - ln -s "$FW_PRINTENV" "$FW_SETENV" - mount -o ro,remount / - - echo "## Successfully installed fw_printenv and fw_setenv." -fi - -# Install fw_env.config if it doesn't already exist -if [ ! -e "$FW_CONFIG" ]; then - echo "" - echo "# Installing fw_env.config..." - mount -o rw,remount / - - if [[ $( download_and_verify "$FW_CONFIG" "$FW_CONFIG_URL" ) == 0 ]]; then - mount -o ro,remount / - echo "## Could not install fw_env.config, exiting." - exit 1 - fi - mount -o ro,remount / - - echo "## Successfully installed fw_env.config" -fi - - - - -# Attempt to auto-detect the device by looking at the existing bootcmd parameters -# -# If the bootcmd parameters matches a known default string, we assume the device is clean -# -# If the bootcmd paramater does not match a known string, but instead has a bootcmd_original -# string that matches a known default, then we assume the device is modified and check -# for the existance of our bootloader -# -# If neither the bootcmd nor the bootcmd_original strings match a known default, we ask the user -# to select his device - -echo "" -echo -n "# Attempting to auto-detect your device..." - -dockstar='nand read.e 0x800000 0x100000 0x300000; setenv bootargs $(console) $(bootargs_root); bootm 0x800000' -pogoplug1='nand read 0x2000000 0x100000 0x200000; setenv bootargs $(console) $(bootargs_root); bootm 0x2000000' -pogoplug2='nand read.e 0x800000 0x100000 0x200000; setenv bootargs $(console) $(bootargs_root); bootm 0x800000' - -bootcmd=`$BLPARAM | grep "^bootcmd=" | cut -d'=' -f 2-` -bootcmd_original=`$BLPARAM | grep "^bootcmd_original=" | cut -d'=' -f 2-` - -if [ "$bootcmd" = "$dockstar" ]; then - echo "Dockstar detected" - bootcmd_original=$bootcmd -elif [ "$bootcmd" = "$plugbox1" ]; then - echo "Pogoplug v1 detected" - bootcmd_original=$bootcmd -elif [ "$bootcmd" = "$plugbox2" ]; then - echo "Pogoplug v2 detected" - bootcmd_original=$bootcmd - -elif [ "$bootcmd_original" = "$dockstar" ]; then - echo "Dockstar with modified bootcmd detected" -elif [ "$bootcmd_original" = "$plugbox1" ]; then - echo "Pogoplug v1 with modified bootcmd detected" -elif [ "$bootcmd_original" = "$plugbox2" ]; then - echo "Pogoplug v2 with modified bootcmd detected" - - -# Auto detect failed, ask the user what device he has -else - echo "failed!" - - bootcmd_original= - - while [ "$bootcmd_original" == "" ]; do - echo "" - echo "############################################" - echo "Your device could not be auto-detected." - echo "" - echo "What device are you using? Type the number of your device and press ENTER." - echo "1 - Pogoplug v1 - Brick" - echo "2 - Pogoplug v2 - Pink" - echo "3 - DockStar" - read device - - if [ "$device" == "1" ]; then - echo "Selected Pogoplug v1" - bootcmd_original=$pogoplug1 - elif [ "$device" == "2" ]; then - echo "Selected Pogoplug v2" - bootcmd_original=$pogoplug2 - elif [ "$device" == "3" ]; then - echo "Selected Dockstar" - bootcmd_original=$dockstar - else - echo "Invalid Input" - fi - done - -fi - - -UPDATE_UBOOT=1 - -# If this is not a clean device, check to see if our bootloader is already installed - -if [ "$bootcmd" != "$bootcmd_original" ]; then - echo "" - echo "# Checking for existing installation of uBoot on mtd3..." - wget -O "$UBOOT.md5" "$UBOOT_URL.md5" - - # dump the area of mtd3 where an existing uboot would be to /tmp/mtd3.uboot - $NANDDUMP -no -l 0x80000 -f /tmp/mtd3.uboot /dev/mtd3 - - if [[ $( verify_md5 "/tmp/mtd3.uboot" "$UBOOT.md5" ) == 1 ]]; then - echo "## The newest uBoot is already installed on mtd3." - UPDATE_UBOOT=0 - else - echo "## Latest uBoot not found on mtd3." - fi - -fi - - -# uBoot is not yet installed to mtd3, -# download the new uBoot and install it - -if [[ $UPDATE_UBOOT == 1 ]]; then - - echo "" - echo "# Installing uBoot" - - if [[ $( download_and_verify "$UBOOT" "$UBOOT_URL" ) == 0 ]]; then - echo "## uBoot could not be downloaded, or the MD5 does not match." - echo "## Exiting. No changes were made to mtd3." - exit 1 - fi - - # Write new uBoot to mtd3 - flash_eraseall /dev/mtd3 - nandwrite /dev/mtd3 $UBOOT - - # dump mtd3 and compare the checksum, to make sure it installed properly - $NANDDUMP -no -l 0x80000 -f /tmp/mtd3.uboot /dev/mtd3 - echo "## Verifying new uBoot..." - wget -O "$UBOOT.md5" "$UBOOT_URL.md5" - - if [[ $( verify_md5 "/tmp/mtd3.uboot" "$UBOOT.md5" ) == 0 ]]; then - rm -f "$UBOOT.md5" - echo "## VERIFICATION FAILED!" - echo "## uBoot was not properly installed to mtd3. Please re-run this installer." - exit 1 - else - echo "# Verified successfully!" - fi - rm -f "$UBOOT.md5" - -fi - - -echo "" -echo "# Installing uBoot environment" - -# Install the uBoot environment -if [[ $( download_and_verify "$UBOOT_ENV" "$UBOOT_ENV_URL" ) == 0 ]]; then - echo "## Could not install uBoot environment, exiting" - exit 1 -fi -$FLASH_ERASE /dev/mtd0 0xc0000 1 -nandwrite -s 786432 /dev/mtd0 "$UBOOT_ENV" - -echo "" -echo "# Verifying uBoot environment" - -# Verify the uBoot environment -$NANDDUMP -of "/tmp/uboot.environment" -s 0xc0000 -l 0x20000 /dev/mtd0 -wget -O "$UBOOT_ENV.md5" "$UBOOT_ENV_URL.md5" -if [[ $( verify_md5 "/tmp/uboot.environment" "$UBOOT_ENV.md5" ) == 0 ]]; then - rm -f "$UBOOT_ENV.md5" - echo "## VERIFICATION FAILED!" - echo "## uBoot environment was not properly written to mtd0. Please re-run this installer." - exit 1 -fi -rm -f "$UBOOT_ENV.md5" - - -# Preserve the MAC address -ETHADDR=`$BLPARAM | grep "^ethaddr=" | cut -d'=' -f 2-` - -$FW_SETENV ethaddr $ETHADDR -$FW_SETENV bootargs_root root=/dev/mtdblock2 ro -$FW_SETENV bootcmd_original $bootcmd_original - -# Configure the mtd0 uBoot parameters - -$BLPARAM 'bootcmd_usb=nand read.e 0xc00000 0x2500000 0x80000; go 0xc00000' > /dev/null 2>&1 -$BLPARAM 'bootcmd1=setenv bootcmd run bootcmd2; saveenv; run bootcmd_usb' > /dev/null 2>&1 -$BLPARAM 'bootcmd2=setenv bootcmd run bootcmd1; saveenv; run bootcmd_original' > /dev/null 2>&1 -$BLPARAM "bootcmd_original=$bootcmd_original" > /dev/null 2>&1 -$BLPARAM 'bootcmd=run bootcmd1' > /dev/null 2>&1 - - -echo "" -echo "# uBoot installation has completed successfully." -