diff --git a/package/busybox/patches/950-change-init-msg.patch b/package/busybox/patches/950-change-init-msg.patch new file mode 100644 index 000000000..ed9427825 --- /dev/null +++ b/package/busybox/patches/950-change-init-msg.patch @@ -0,0 +1,11 @@ +--- busybox-1.15.3/init/init.c.orig 2010-04-09 02:01:51.000000000 +0200 ++++ busybox-1.15.3/init/init.c 2010-04-09 02:05:39.000000000 +0200 +@@ -355,7 +355,7 @@ + #ifdef CUSTOMIZED_BANNER + #include CUSTOMIZED_BANNER + #endif +- "\nPlease press Enter to activate this console. "; ++ "\nPlease wait while graphical environment is loading... "; + char c; + /* + * Save memory by not exec-ing anything large (like a shell) diff --git a/scripts/build b/scripts/build new file mode 100755 index 000000000..e18393f79 --- /dev/null +++ b/scripts/build @@ -0,0 +1,123 @@ +#!/bin/sh + +BASE_DIR="xburst" + +LOG="${BASE_DIR}/LOG" + +BUILD_LOG="${BASE_DIR}/BUILD_LOG" + +DATE=$(date "+%Y-%m-%d") +TIME=$(date "+%H-%M-%S") +DATE_TIME="${DATE}_${TIME}" + +if [ "${0}" != "./scripts/build" ]; then + echo "Please call me that way: ./scripts/build" + echo " - out of the main directory" + exit 1 +fi + +if [ ! -f ".config" ]; then + echo "OpenWrt didn't get configured yet." + exit 1 +fi + +if [ -f "config" ]; then + echo "file exists." + echo "That means normally, a previous build failed" + echo "Please examine the situation" + exit 1 +fi + +echo "This script will move previous builds to bak/!" +echo "This script will reset modifications you made" +echo " to files which are part of the repository!" +echo "This script comes without any kind of warranty!" +echo " " +echo "Are you brave, dude? [NO/yes]" + +read brave + +echo " " + +if [ "${brave}" != "yes" ]; then + exit 1 +fi + +echo "cleaning up toolchain..." +mkdir bak 2>/dev/null +BAK="build_dir staging_dir tmp bin .config.old feeds xburst config" +for bak in $BAK; do + mv "${bak}" "bak/${bak}_${DATE_TIME}" 2> /dev/null && echo "backed up <${bak}>" +done +rm -rf package/feeds/* + +mv .config config +mkdir xburst + +echo "updating git repo..." +git pull > /dev/null +if [ "$?" != "0" ]; then + echo "ERROR: updating openwrt-xburst failed" + exit 1 +fi + +echo "updating feeds..." +scripts/feeds update -a > /dev/null 2>&1 +if [ "$?" != "0" ]; then + echo "ERROR: updating feeds failed" + exit 1 +fi +echo "installing feeds..." +scripts/feeds install -a > /dev/null 2>&1 +if [ "$?" != "0" ]; then + echo "ERROR: installing feeds failed" + exit 1 +fi + +echo "getting version numbers of used repositories..." +feeds="$(cat feeds.conf | grep -v -E "^#")" +VERSIONS_FILE="xburst/VERSIONS" +echo "# base :: 'openwrt' [scm-protocol] [revision] [source] [branch]" > ${VERSIONS_FILE} +tmp=($(git show-ref | head -n 1)) +rev=${tmp[0]} +echo "openwrt git ${rev} git://projects.qi-hardware.com/openwrt-xburst.git xburst" >> ${VERSIONS_FILE} +echo "# feeds :: [feedname] [scm-protocol] [revision]" >> ${VERSIONS_FILE} +IFS=$'\n' +for feed in $feeds; do + IFS=' ' arr=(${feed:4}) + proto=${arr[0]} + dir=${arr[1]} + url=${arr[2]} + if [ "$proto" = "svn" ]; then + cd feeds/${arr[1]} && tmp=($(svn info | grep -E "^Revision")) && cd ../../ + rev=${tmp[1]} + fi + if [ "$proto" = "git" ]; then + cd feeds/${arr[1]} && tmp=($(git show-ref | head -n 1)) && cd ../../ + rev=${tmp[0]} + fi + echo "${dir} ${proto} ${rev}" >> ${VERSIONS_FILE} +done + +echo ${DATE} > files/etc/VERSION + +mv config .config + +make oldconfig + +echo "starting compiling - this may take several hours..." + +time make V=99 > xburst/BUILD_LOG 2>&1 + +if [ "$?" != "0" ]; then + echo "ERROR: Build failed!" + echo "Please refer to the log file" + exit 1 +fi + +cp .config xburst/config +cp bin/xburst/* xburst/ 2>/dev/null +mkdir xburst/files +cp -a files/* xburst/files/ + +echo "DONE :)" diff --git a/scripts/reflash_ben.sh b/scripts/reflash_ben.sh new file mode 100644 index 000000000..5f0e0f497 --- /dev/null +++ b/scripts/reflash_ben.sh @@ -0,0 +1,163 @@ +#!/bin/bash +VERSION="latest" + +# use 'http' to download and flash images, use 'file' to flash images present in the +PROTOCOL="http" + +# working directory +#WORKING_DIR="/tmp/NanoNote/${VERSION}" +WORKING_DIR="${HOME}/.qi/nanonote/ben/${VERSION}" + +# where the verbose output goes to +LOG_FILE="${WORKING_DIR}/log.txt" + +# URL to images ($URL/$VERSION/$[images]) +BASE_URL_HTTP="http://downloads.qi-hardware.com/software/images/Ben_NanoNote_2GB_NAND" + +# names of images +LOADER="openwrt-xburst-u-boot.bin" +KERNEL="openwrt-xburst-uImage.bin" +#ROOTFS="openwrt-xburst-rootfs.ubi" +ROOTFS="openwrt-xburst-qi_lb60-root.ubi" + +############### + +# version of script +__VERSION__="2.1.1" + + +# options for reflash bootloader, kernel or rootfs +B="TRUE" +K="TRUE" +R="TRUE" + +while getopts d:l:bkr OPTIONS +do + case $OPTIONS in + d) + VERSION=$OPTARG # override version by first argument if passed + B="TRUE" + K="TRUE" + R="TRUE" + ;; + l) + WORKING_DIR=$OPTARG + VERSION= + PROTOCOL="file" + B="TRUE" + K="TRUE" + R="TRUE" + ;; + *) + echo "\ +Usage: $0 [-d ] [-l ] [-b] [-k] [-r] [-h] [-v] + +without any arguments, I will download and flash the latest official images +(includes bootloader, kernel and rootfs) + + -d <> I will download and flash a specific version of official images + (includes bootloader, kernel and rootfs) + + -l <> I will flash images present in + (includes bootloader, kernel and rootfs - + missing files will be skipped) + + -h you already found out + + +reflash script for qi-hardware Ben NanoNote + +written by: Mirko Vogt (mirko.vogt@sharism.cc) + Xiangfu Liu (xiangfu@sharism.cc) + +version: ${__VERSION__} + +Please report bugs to developer@lists.qi-hardware.com" + exit 1 + ;; + esac +done + +# if no arguments were given +if [ "$#" == "0" ]; then + B="TRUE" + K="TRUE" + R="TRUE" +fi + +# create working directory +mkdir -p ${WORKING_DIR} +date > "${LOG_FILE}" # purge logfile if exists + +function abort() { + log "$1" + log "===" + log "fatal error occured - ABORT" + exit 1 +} + +function log() { + echo "$1" + echo "$1" >> "${LOG_FILE}" +} + +[ "$(whoami)" == "root" ] || abort "this script must be run as root" + +log "working dir: ${WORKING_DIR}" +log "chosed method: ${PROTOCOL}" +test ${VERSION} && log "chosed version: ${VERSION}" +log "===" + +if [ "$PROTOCOL" == "http" ]; then + + MD5SUMS_SERVER=$(wget -O - ${BASE_URL_HTTP}/${VERSION}/md5sums 2> /dev/null | grep -E "(${LOADER}|${KERNEL}|${ROOTFS})" | sort) + [ "${MD5SUMS_SERVER}" ] || abort "can't fetch files from server" + + MD5SUMS_LOCAL=$( (cd "${WORKING_DIR}" ; md5sum --binary "${LOADER}" "${KERNEL}" "${ROOTFS}" 2> /dev/null) | sort ) + + if [ "${MD5SUMS_SERVER}" == "${MD5SUMS_LOCAL}" ]; then + log "present files are identical to the ones on the server - do not download them again" + else + rm -f "${WORKING_DIR}/${LOADER}" "${WORKING_DIR}/${KERNEL}" "${WORKING_DIR}/${ROOTFS}" + if [ "$B" == "TRUE" ]; then + log "fetching bootloader..." + wget \ + -o "${LOG_FILE}" \ + -P "${WORKING_DIR}" \ + "${BASE_URL_HTTP}/${VERSION}/${LOADER}" + fi + if [ "$K" == "TRUE" ]; then + log "fetching kernel..." + wget \ + -o "${LOG_FILE}" \ + -P "${WORKING_DIR}" \ + "${BASE_URL_HTTP}/${VERSION}/${KERNEL}" + fi + if [ "$R" == "TRUE" ]; then + log "fetching rootfs..." + wget \ + -o "${LOG_FILE}" \ + -P "${WORKING_DIR}" \ + "${BASE_URL_HTTP}/${VERSION}/${ROOTFS}" + fi + fi +fi + +log "booting device..." +usbboot -c "boot" > "${LOG_FILE}" || abort "can't boot device - xburst-tools setup correctly? device in boot-mode? device connected?" + +if [ "$B" == "TRUE" ]; then + log "flashing bootloader..." + usbboot -c "nprog 0 ${WORKING_DIR}/${LOADER} 0 0 -n" >> "${LOG_FILE}" +fi +if [ "$K" == "TRUE" ]; then + log "flashing kernel..." + usbboot -c "nprog 1024 ${WORKING_DIR}/${KERNEL} 0 0 -n" >> "${LOG_FILE}" +fi +if [ "$R" == "TRUE" ]; then + log "erase nand rootfs partition..." + usbboot -c "boot;nerase 16 4079 0 0" >> "${LOG_FILE}" + log "flashing rootfs..." + usbboot -c "nprog 2048 ${WORKING_DIR}/${ROOTFS} 0 0 -n" >> "${LOG_FILE}" +fi +log "done" diff --git a/target/linux/xburst/base-files/etc/config/fstab b/target/linux/xburst/base-files/etc/config/fstab deleted file mode 100644 index 522356112..000000000 --- a/target/linux/xburst/base-files/etc/config/fstab +++ /dev/null @@ -1,6 +0,0 @@ -config mount - option target /card - option device /dev/mmcblk0p1 - option fstype auto - option options rw,sync - option enabled 1 diff --git a/target/linux/xburst/files-2.6.32/arch/mips/jz4740/board-qi_lb60.c b/target/linux/xburst/files-2.6.32/arch/mips/jz4740/board-qi_lb60.c index 72fdb3daf..de713fae2 100644 --- a/target/linux/xburst/files-2.6.32/arch/mips/jz4740/board-qi_lb60.c +++ b/target/linux/xburst/files-2.6.32/arch/mips/jz4740/board-qi_lb60.c @@ -94,8 +94,12 @@ static struct mtd_partition qi_lb60_partitions_2gb[] = { }, { .name = "NAND ROOTFS partition", .offset = 8 * 0x100000, - .size = (504 + 512 + 1024) * 0x100000, + .size = 256 * 0x100000, }, + { .name = "NAND DATA partition", + .offset = 264 * 0x100000, + .size = 1784 * 0x100000, + }, }; static void qi_lb60_nand_ident(struct platform_device *pdev,