Commit latest Qisda version and Bookeen's modification
This commit is contained in:
91
mkrescue
91
mkrescue
@@ -1,5 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Qisda, Howard Hsu,2009/12/16
|
||||
# Move the actual make kernel steps to RescueFS/src/dlfw/mkzImage
|
||||
# 1) Only do below two steps here:
|
||||
# 3.Cat kernel with pre-made rescue file system.
|
||||
# 4.Pad the zeros to 4-byte boundar
|
||||
# 2) change first command line parameter to "project name"
|
||||
#
|
||||
# Qisda,Howard Hsu,2009/11/18
|
||||
# The script is used to create rescue.bin under ./arch/arm/boot/
|
||||
# Steps:
|
||||
@@ -16,52 +22,63 @@
|
||||
# input
|
||||
# this file should be executable
|
||||
|
||||
rescueKernel=./arch/arm/boot/zImageRescue
|
||||
rescueFs=../RescueFS/img/urootfs.img
|
||||
# output
|
||||
# output: rescue.bin
|
||||
rescueBin=./arch/arm/boot/rescue.bin
|
||||
# intermediate
|
||||
rescureKernelBackupDir=../RescueFS/img/uzImage
|
||||
rescueKernelTemp=./arch/arm/boot/zImage
|
||||
|
||||
arg1="none"
|
||||
if [ -n $1 ]; then
|
||||
arg1=$1
|
||||
fi
|
||||
|
||||
if [ $arg1 == "skip" ]; then
|
||||
echo "skip make rescue kernel"
|
||||
cp $rescureKernelBackupDir $rescueKernelTemp
|
||||
# input: two files
|
||||
# 1-FS
|
||||
rescueFs=../RescueFS/img/urootfs.img
|
||||
let projectbuild=0
|
||||
# 2-Kernel, decide
|
||||
supportProjs=( qd060b00_movi bq060b00 sh060b00 qd090b00 as090b00 st060b00 )
|
||||
if [ $# ne 1 ]; then
|
||||
echo "usage: $0 (600 | 900 | project_name)"
|
||||
exit 1;
|
||||
else
|
||||
echo "step1: make rescue kernel..."
|
||||
make rescueOS_defconfig
|
||||
make
|
||||
if [ -f .config.old ]; then
|
||||
mv .config.old .config
|
||||
currProj=$1
|
||||
for name in ${supportProjs[@]}
|
||||
do
|
||||
echo "check for $name proj"
|
||||
if [ $currProj == $name ]; then
|
||||
echo "$currProj is supported"
|
||||
if [ -f "../RescueFS/img/uzImage_$currProj" ]; then
|
||||
rescueKernel="../RescueFS/img/uzImage_$currProj"
|
||||
else
|
||||
if [[ $currProj =~ 060 ]]; then
|
||||
rescueKernel=../RescueFS/img/uzImage600
|
||||
else
|
||||
rescueKernel=../RescueFS/img/uzImage900
|
||||
fi
|
||||
fi
|
||||
projectbuild=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ "$currProj" == "skip" ]; then
|
||||
echo "temp workaround for skip option"
|
||||
rescueKernel=../RescueFS/img/uzImage600
|
||||
projectbuild=1
|
||||
fi
|
||||
fi
|
||||
|
||||
rescueKsize=$(stat -c%s "$rescueKernelTemp")
|
||||
echo " $rescueKernelTemp size is $rescueKsize"
|
||||
if [ "$projectbuild" -ne "1" ]; then
|
||||
echo "Invalid proj name: $currProj"
|
||||
echo "supported projs: ${supportProjs[@]}"
|
||||
fi
|
||||
|
||||
expectrescueKsize=1586688
|
||||
let padzero=$expectrescueKsize-$rescueKsize
|
||||
|
||||
echo "step2: append $padzero zeros"
|
||||
dd if=/dev/zero of=./zero.bin bs=$padzero count=1
|
||||
cat $rescueKernelTemp ./zero.bin > $rescueKernel
|
||||
rm ./zero.bin
|
||||
#rm $rescueKernelTemp
|
||||
cp $rescueKernelTemp $rescureKernelBackupDir
|
||||
|
||||
if [ -f $rescueFs ]; then
|
||||
echo "step3: cat kernel and Fs into rescue.bin"
|
||||
cat $rescueKernel $rescueFs > $rescueBin
|
||||
else
|
||||
# intermediate
|
||||
if [ ! -f "$rescueFs" ]; then
|
||||
echo "$rescueFs does not exist!!!"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ ! -f "$rescueKernel" ]; then
|
||||
echo "$rescueKernel does not exist!!!"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
echo "cat kernel($rescueKernel) and Fs into rescue.bin"
|
||||
cat $rescueKernel $rescueFs > $rescueBin
|
||||
|
||||
size=$(stat -c%s "$rescueBin")
|
||||
let padzero=4-size%4
|
||||
if [ padzero != 0 ]; then
|
||||
|
||||
Reference in New Issue
Block a user