|
|
# --- SDE-COPYRIGHT-NOTE-BEGIN --- # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # # Filename: target/psion-pda/build_image.sh # Copyright (C) 2006 The OpenSDE Project # Copyright (C) 2004 - 2006 The T2 SDE Project # # More information can be found in the files COPYING and README. # # 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; version 2 of the License. A copy of the # GNU General Public License can be found in the file COPYING. # --- SDE-COPYRIGHT-NOTE-END ---
. $base/misc/share/functions.in
set -e
arlo_ver="`sed -e 's,.*arlo-\(.*\).zip .*,\1,' \
$base/target/$target/download.txt`"
echo "Preparing root filesystem image from build result ..."
rm -rf $imagelocation{,.squashfs} mkdir -p $imagelocation ; cd $imagelocation
find $build_root -printf "%P\n" | sed '
# stuff we never need
/^TOOLCHAIN/ d; /^var\/adm/ d;
/\/include/ d; /\/src/ d; /\.a$/ d; /\.o$/ d; /\.old$/ d;
/\/games/ d; /\/local/ d; /^boot/ d;
# stuff that would be nice - but is huge and only documentation /\/man/ d; /\/doc/ d;
# /etc noise /^etc\/stone.d/ d; /^etc\/cron.d/ d; /^etc\/init.d/ d; /^etc\/profile.d/ d;
/^etc\/sysconfig/ d; /^etc\/iproute2/ d;
/^etc\/skel/ d; /^etc\/opt/ d; /^etc\/conf/ d; /^etc\/rc.d/ d;
/^home/ d; /^mnt/ d; /^opt/ d;
# rock net stuff /^lib\/network/ d; /^sbin\/ifup/ d; /^sbin\/ifdown/ d; /^sbin\/rocknet/ d;
/^\/man\// d;
/terminfo\/a\/ansi$/ { p; d; } /terminfo\/l\/linux$/ { p; d; } /terminfo\/x\/xterm$/ { p; d; } /terminfo\/n\/nxterm$/ { p; d; } /terminfo\/x\/xterm-color$/ { p; d; } /terminfo\/x\/xterm-8bit$/ { p; d; } /terminfo\/x\/screen$/ { p; d; } /terminfo\/v\/vt100$/ { p; d; } /terminfo\/v\/vt200$/ { p; d; } /terminfo\/v\/vt220$/ { p; d; } /terminfo/ d;
# some big ncurses stuff /\/tack$/ d; /\/tic$/ d; /\/toe$/ d; /\/tput$/ d; /\/tset$/ d; /\/captoinfo$/ d; /\/input$/ d;
' > tar.input
copy_with_list_from_file $build_root . $PWD/tar.input rm tar.input
echo "Preparing root filesystem image from target defined files ..." rm -f sbin/init ; ln -s minit sbin/init rm -f bin/sh ; ln -s ash bin/sh copy_from_source $base/target/$target/rootfs .
echo "Creating links for identical files ..." link_identical_files
echo "Creating static device nodes in /dev ..."
while read trg name ; do ln -s $trg $name done < <(cat <<-EOT kcore dev/core /proc/self/fd dev/fd fd/0 dev/stdin fd/1 dev/stdout fd/2 dev/stderr vcs0 dev/vcs EOT )
while read type major minor name ; do if [ "$name" ] ; then mknod dev/$name $type $major $minor else echo "defect rule!" fi done < <(cat <<-EOT c 10 3 atibm c 14 4 audio c 14 20 audio1 c 14 36 audio2 c 14 52 audio3 c 14 7 audioctl c 5 1 console c 14 3 dsp c 14 19 dsp1 c 29 0 fb0 c 1 7 full c 10 2 inportbm c 161 0 ircomm0 c 161 1 ircomm1 c 161 16 irlpt0 c 161 17 irlpt1 c 10 4 jbm c 1 2 kmem c 10 0 logibm b 7 0 loop0 b 7 1 loop1 b 7 2 loop2 b 7 3 loop3 c 6 0 lp0 c 6 1 lp1 c 6 2 lp2 c 1 1 mem c 14 0 mixer c 14 16 mixer1 c 1 3 null c 1 4 port c 5 2 ptmx c 2 0 ptyp0 c 2 1 ptyp1 c 2 2 ptyp2 c 2 3 ptyp3 c 2 4 ptyp4 c 2 5 ptyp5 c 2 6 ptyp6 c 2 7 ptyp7 c 2 8 ptyp8 c 2 9 ptyp9 c 2 10 ptypa c 2 11 ptypb c 2 12 ptypc c 2 13 ptypd c 2 14 ptype c 2 15 ptypf b 1 0 ram0 b 1 1 ram1 b 1 2 ram2 b 1 3 ram3 c 1 8 random c 14 6 sndstat c 10 11 tpanel c 5 0 tty c 4 0 tty0 c 4 1 tty1 c 4 10 tty10 c 4 2 tty2 c 4 3 tty3 c 4 4 tty4 c 4 5 tty5 c 4 6 tty6 c 4 7 tty7 c 4 8 tty8 c 4 9 tty9 c 204 16 ttyAM0 c 204 17 ttyAM1 c 204 16 ttyS0 c 204 17 ttyS1 c 1 9 urandom c 7 0 vcs0 c 7 1 vcs1 c 7 2 vcs2 c 7 3 vcs3 c 7 4 vcs4 c 7 5 vcs5 c 7 6 vcs6 c 7 7 vcs7 c 7 8 vcs8 c 7 9 vcs9 c 1 5 zero EOT )
# image size estimation ... s="`du -s -B 1 . | cut -f 1`" s="$(( (s + 128000) / 1024 ))" s="$(( s * 1024 ))"
echo "Writing initrd image file ($s bytes)."
tmpdir="`mktemp`" ; rm $tmpdir ; mkdir $tmpdir tmpfile="`mktemp`"
dd if=/dev/zero of=$tmpfile bs=$s count=1 > $tmpfile
mke2fs -m 0 -N 512 -qF $tmpfile > /dev/null mount -t ext2 $tmpfile $tmpdir -o loop rmdir $tmpdir/lost+found/
copy_from_source . $tmpdir
umount $tmpdir gzip -9 -c $tmpfile > ../initrd.gz rmdir $tmpdir ; rm -f $tmpfile
du -sh . ../initrd.gz
cd $imagelocation/.. rm -rf epoc ; mkdir epoc ; cd epoc cp $build_root/boot/Image_* Image
echo "Extracting ARLO ..." unzip $base/download/mirror/a/arlo-$arlo_ver.zip > /dev/null rm arlo/{copying,readme.html,example.cfg}
cp $base/target/$target/arlo.cfg arlo/
echo "The image is located at $imagelocation/.."
|