mirror of
git://projects.qi-hardware.com/openwrt-packages.git
synced 2025-04-21 12:27:27 +03:00
move data/ folder from openwrt-xburst
This commit is contained in:
131
nanonote-files/data/qi_lb60/scripts/build
Executable file
131
nanonote-files/data/qi_lb60/scripts/build
Executable file
@@ -0,0 +1,131 @@
|
||||
#!/bin/bash
|
||||
|
||||
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}"
|
||||
|
||||
FEEDS_CONF="data/qi_lb60/conf/feeds.conf"
|
||||
test -f "feeds.conf" && FEEDS_CONF="feeds.conf"
|
||||
|
||||
if [ "${0}" != "data/qi_lb60/scripts/build" ]; then
|
||||
echo "Please call me that way: data/qi_lb60/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 <config> 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 compile base on last commit"
|
||||
echo " your modifications will backup by git stash"
|
||||
echo " those modifications will apply again after compile"
|
||||
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 stash
|
||||
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] [source] [branch] [revision]" > ${VERSIONS_FILE}
|
||||
rev=$(git log | head -n 1 | cut -b8-)
|
||||
branch=$(git branch | grep "*" | cut -b3-)
|
||||
echo "openwrt git git://projects.qi-hardware.com/openwrt-xburst.git ${branch} ${rev}" >> ${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 log | head -n 1)) && cd ../../
|
||||
rev=${tmp[1]}
|
||||
fi
|
||||
echo "${dir} ${proto} ${rev}" >> ${VERSIONS_FILE}
|
||||
done
|
||||
|
||||
mkdir -p files/etc
|
||||
echo ${DATE} > files/etc/VERSION
|
||||
|
||||
mv config .config
|
||||
|
||||
yes "" | 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
|
||||
|
||||
git stash pop
|
||||
|
||||
cp .config xburst/config
|
||||
cp bin/xburst/* xburst/ 2>/dev/null
|
||||
mkdir xburst/files
|
||||
cp -a files/* xburst/files/
|
||||
|
||||
echo "DONE :)"
|
||||
235
nanonote-files/data/qi_lb60/scripts/reflash_ben.sh
Executable file
235
nanonote-files/data/qi_lb60/scripts/reflash_ben.sh
Executable file
@@ -0,0 +1,235 @@
|
||||
#!/bin/bash
|
||||
# version of me
|
||||
__VERSION__="2011-03-02"
|
||||
|
||||
# use 'http' to download and flash images, use 'file' to flash images present in the <WORKING_DIR>
|
||||
PROTOCOL="http"
|
||||
|
||||
# NanoNote images Version
|
||||
VERSION="latest"
|
||||
|
||||
# working directory
|
||||
WORKING_DIR="${HOME}/.qi/nanonote/ben/${VERSION}"
|
||||
|
||||
# URL to images ($URL/$VERSION/$[images])
|
||||
BASE_URL_HTTP="http://downloads.qi-hardware.com/software/images/NanoNote/Ben"
|
||||
|
||||
# names of images
|
||||
LOADER="openwrt-xburst-qi_lb60-u-boot.bin"
|
||||
KERNEL="openwrt-xburst-qi_lb60-uImage.bin"
|
||||
ROOTFS="openwrt-xburst-qi_lb60-root.ubi"
|
||||
|
||||
# options for reflash bootloader, kernel, rootfs
|
||||
B="FALSE"
|
||||
K="FALSE"
|
||||
R="FALSE"
|
||||
ALL="TRUE"
|
||||
|
||||
while getopts d:l:hbkr OPTIONS
|
||||
do
|
||||
case $OPTIONS in
|
||||
d)
|
||||
VERSION=$OPTARG # override version by first argument if passed
|
||||
;;
|
||||
l)
|
||||
WORKING_DIR=$OPTARG
|
||||
PROTOCOL="file"
|
||||
VERSION="Local"
|
||||
;;
|
||||
b)
|
||||
ALL="FALSE"
|
||||
B="TRUE"
|
||||
;;
|
||||
k)
|
||||
ALL="FALSE"
|
||||
K="TRUE"
|
||||
;;
|
||||
r)
|
||||
ALL="FALSE"
|
||||
R="TRUE"
|
||||
;;
|
||||
*)
|
||||
echo "\
|
||||
|
||||
Usage: $0 [-d <version>] [-l <path to local images>] [-h]
|
||||
-d <> I will download and flash a specific version of OpenWrt images
|
||||
|
||||
-l <> I will flash images present in <arg>
|
||||
(missing files will be skipped)
|
||||
|
||||
-h you already found out
|
||||
|
||||
without any arguments, I will download and flash the latest OpenWrt images
|
||||
(includes bootloader, kernel and rootfs)
|
||||
|
||||
OpenWrt 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 [ "$ALL" == "TRUE" ]; then
|
||||
B="TRUE"
|
||||
K="TRUE"
|
||||
R="TRUE"
|
||||
fi
|
||||
|
||||
# where the verbose output goes to
|
||||
LOG_FILE="${WORKING_DIR}/log.txt"
|
||||
|
||||
# create working directory
|
||||
mkdir -p ${WORKING_DIR}
|
||||
# purge logfile if exists
|
||||
date > "${LOG_FILE}"
|
||||
|
||||
log() {
|
||||
echo -e "$1"
|
||||
echo -e "$1" >> "${LOG_FILE}"
|
||||
}
|
||||
|
||||
abort() {
|
||||
log "==="
|
||||
log "fatal error occured - ABORTED"
|
||||
log "==="
|
||||
log "$1"
|
||||
log "==="
|
||||
log "Before reporting this as a bug"
|
||||
log "Please ensure you're using the latest available version of this reflash script"
|
||||
log "http://downloads.qi-hardware.com/software/images/NanoNote/Ben/reflash_ben.sh"
|
||||
exit 1
|
||||
}
|
||||
|
||||
progress_prepare () {
|
||||
WIDTH=$(tput cols)
|
||||
HEIGHT=$(tput lines)
|
||||
i=1
|
||||
DONE=0
|
||||
FITFR=0
|
||||
echo "Done:"
|
||||
echo -n "["
|
||||
tput cup $HEIGHT $WIDTH; echo -n "]"
|
||||
}
|
||||
|
||||
progress_draw () {
|
||||
ILINE="$1"
|
||||
if [[ "$ILINE" =~ It\ will\ cause\ [[:digit:]]+\ times\ buffer\ transfer\.$ ]]; then
|
||||
TOTAL=${ILINE#*cause\ }
|
||||
TOTAL=${TOTAL%\ times*}
|
||||
FIT=$(echo "($WIDTH-2)/$TOTAL" | bc -l)
|
||||
tput cup $(( $HEIGHT-2 )) 7; echo -n 0/$TOTAL
|
||||
fi
|
||||
if [[ "$ILINE" =~ Checking\ [[:digit:]]+\ bytes\.\.\.\ Comparing\ [[:digit:]]+\ bytes\ -\ SUCCESS$ || "$ILINE" =~ Checking\ [[:digit:]]+\ bytes\.\.\.\ no\ check\!\ End\ at\ Page\:\ [[:digit:]]+ ]]; then
|
||||
FITFR=$(echo $FITFR+$FIT | bc -l)
|
||||
((DONE++))
|
||||
tput cup $(( $HEIGHT-2 )) 7; echo -n $DONE/$TOTAL
|
||||
if [ $(echo "$FITFR >= 1" | bc) -eq 1 ]; then
|
||||
tput cup $HEIGHT $i;
|
||||
i=$(( $i+${FITFR%.*} ))
|
||||
for j in $(seq 1 ${FITFR%.*}); do echo -n "#"; done
|
||||
FITFR=0.${FITFR#*.}
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
progress_finish () {
|
||||
tput cup $HEIGHT $WIDTH
|
||||
echo
|
||||
tmp=$(<"${LOG_FILE}.err")
|
||||
cat "${LOG_FILE}.err" >> "${LOG_FILE}"
|
||||
}
|
||||
|
||||
[ "$(whoami)" == "root" ] || abort "this script must be run as root"
|
||||
|
||||
log "working dir: ${WORKING_DIR}"
|
||||
log "chosen method: ${PROTOCOL}"
|
||||
test ${VERSION} && log "chosen 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 \
|
||||
-a "${LOG_FILE}" \
|
||||
-P "${WORKING_DIR}" \
|
||||
"${BASE_URL_HTTP}/${VERSION}/${LOADER}"
|
||||
fi
|
||||
if [ "$K" == "TRUE" ]; then
|
||||
log "fetching kernel..."
|
||||
wget \
|
||||
-a "${LOG_FILE}" \
|
||||
-P "${WORKING_DIR}" \
|
||||
"${BASE_URL_HTTP}/${VERSION}/${KERNEL}"
|
||||
fi
|
||||
if [ "$R" == "TRUE" ]; then
|
||||
log "try fetching .ubi.bz2 rootfs..."
|
||||
wget \
|
||||
-a "${LOG_FILE}" \
|
||||
-P "${WORKING_DIR}" \
|
||||
"${BASE_URL_HTTP}/${VERSION}/${ROOTFS}.bz2" && \
|
||||
(cd ${WORKING_DIR}; bzip2 -d ${ROOTFS}.bz2)
|
||||
|
||||
if [ "$?" != "0" ]; then
|
||||
log "fetching .ubi rootfs..."
|
||||
wget \
|
||||
-a "${LOG_FILE}" \
|
||||
-P "${WORKING_DIR}" \
|
||||
"${BASE_URL_HTTP}/${VERSION}/${ROOTFS}"
|
||||
fi
|
||||
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..."
|
||||
progress_prepare
|
||||
while read ILINE
|
||||
do progress_draw "$ILINE"
|
||||
done< <(usbboot -c "nprog 0 ${WORKING_DIR}/${LOADER} 0 0 -n" 2>"${LOG_FILE}.err" | tee -a "${LOG_FILE}")
|
||||
progress_finish
|
||||
test "${tmp}" && abort "error while flashing bootloader:\n${tmp}"
|
||||
fi
|
||||
if [ "$K" == "TRUE" ]; then
|
||||
log "flashing kernel..."
|
||||
progress_prepare
|
||||
while read ILINE
|
||||
do progress_draw "$ILINE"
|
||||
done< <(usbboot -c "nprog 1024 ${WORKING_DIR}/${KERNEL} 0 0 -n" 2>"${LOG_FILE}.err" | tee -a "${LOG_FILE}")
|
||||
progress_finish
|
||||
test "${tmp}" && abort "error while flashing kernel:\n${tmp}"
|
||||
fi
|
||||
if [ "$R" == "TRUE" ]; then
|
||||
log "erase nand rootfs partition..."
|
||||
usbboot -c "nerase 16 1024 0 0" >> "${LOG_FILE}" 2>&1
|
||||
log "flashing rootfs..."
|
||||
progress_prepare
|
||||
while read ILINE
|
||||
do progress_draw "$ILINE"
|
||||
done< <(usbboot -c "nprog 2048 ${WORKING_DIR}/${ROOTFS} 0 0 -n" 2>"${LOG_FILE}.err" | tee -a "${LOG_FILE}")
|
||||
progress_finish
|
||||
test "${tmp}" && abort "error while flashing rootfs:\n${tmp}"
|
||||
fi
|
||||
|
||||
if [ "$ALL" == "TRUE" ]; then
|
||||
log "reboot device..."
|
||||
usbboot -c "reset" >> "${LOG_FILE}" 2>&1
|
||||
fi
|
||||
|
||||
log "done"
|
||||
Reference in New Issue
Block a user