wok-6.x view slitaz-loram-cdrom/stuff/loram.rootfs @ rev 3897

slitaz-loram-*: login needs libnss_files
author Pascal Bellard <pascal.bellard@slitaz.org>
date Fri Aug 14 23:15:22 2009 +0200 (2009-08-14)
parents 27c64029013c
children 0e169dcb3f73
line source
1 echo "$(du -hs /usr | cut -f1) were used by /usr"
2 lib/ld-*.so --list ./sbin/insmod | grep /usr/lib | cut -d\ -f3 | \
3 while read ii; do
4 mv .${ii%%.so.*}.so* ./lib
5 done
6 for ii in /sbin /lib /bin; do
7 mkdir -p ./usr/.moved$ii
8 for j in e2fsprogs pcmciautils cpio syslinux-extra isapnptools ncurses \
9 libcap; do
10 for k in $(grep -s ^$ii /var/lib/tazpkg/installed/$j/files.list) ; do
11 [ -f .$k ] || continue
12 mv .$k ./usr/.moved$k
13 ln -s /usr/.moved$k .$k
14 done
15 done
16 done
17 k="$(ls /lib/lib[rp]*.so)"
18 [ -x /bin/funionfs ] && k="$(ls /lib/libresolv*.so)"
19 for ii in /var/lib/tazpkg/installed /lib/modules/*/kernel/drivers/net \
20 /lib/modules/*/kernel/sound /sbin/depmod /sbin/modinfo /sbin/lsmod \
21 /lib/libns*.so $k; do
22 [ -L .$ii ] && continue
23 case "$ii" in
24 /lib/libnss_file*) continue;;
25 esac
26 j=$(dirname /usr/.moved$ii)
27 mkdir -p .$j
28 mv .$ii .$j
29 ln -s /usr/.moved$ii .$ii
30 done
31 echo "$(du -hs ./usr/.moved | cut -f1) have been moved into /usr"
32 usr=usr
33 if [ -x bin/funionfs -o -d /var/lib/tazpkg/installed/aufs ]; then
34 usr=.usr.ro
35 mkdir .usr.ro .usr.rw
36 fi
37 if [ -x bin/funionfs -o -x usr/bin/mkcromfs ]; then
38 ln -s /$usr/lib/$(cd usr/lib ; ls libfuse.so.2.*) lib/libfuse.so.2
39 fi
40 if [ -x usr/bin/mkcromfs ]; then
41 usr/bin/mkcromfs -qq -f 262144 -b 16384 usr ../rootcd/usr.cromfs
42 rm -rf usr
43 mkdir usr
44 for ii in unmkcromfs cromfs-driver ; do
45 mv bin/$ii ../rootcd
46 ln -s /cdrom/$ii bin/$ii
47 done
48 elif [ -x usr/sbin/mksquashfs ]; then
49 usr/sbin/mksquashfs usr ../rootcd/usr.sqfs
50 rm -rf usr
51 mkdir usr
52 else
53 mv usr ../rootcd
54 [ "$usr" = "usr" ] || mv $usr usr
55 ln -s /cdrom/usr $usr
56 fi
57 if [ -d ../rootcd/usr/lib ]; then
58 for ii in *; do
59 case "$ii" in
60 usr|boot|home) continue;;
61 mnt|media|sys|proc|cdrom) mkdir ../rootcd/$ii;;
62 *) cp -a $ii ../rootcd/$ii;;
63 esac
64 done
65 for ii in media/*; do
66 [ "$ii" = "media/cdrom" ] || mkdir ../rootcd/$ii
67 done
68 for ii in keymap.conf locale.conf resolv.conf TZ motd; do
69 rm -f ../rootcd/etc/$ii
70 ln -s /tmp/$ii ../rootcd/etc/$ii
71 done
72 ln -s /tmp/detected-modules ../rootcd/var/lib/detected-modules
73 for ii in log run lock; do
74 mv ../rootcd/var/$ii ../rootcd/var/$ii.ORG
75 ln -s /tmp ../rootcd/var/$ii
76 done
77 mv ../rootcd/root ../rootcd/root.ORG
78 ln -s /tmp ../rootcd/root
79 ln -s /tmp ../rootcd/home
80 ln -s / ../rootcd/media/cdrom
81 mkdir ../rootcd/mnt/target
82 sed -i 's/CLEAN_UP_SYSTEM="yes"/CLEAN_UP_SYSTEM="no"/' ../rootcd/etc/rcS.conf
83 sed -i 's/RUN_DAEMONS=.*/RUN_DAEMONS=""/' ../rootcd/etc/rcS.conf
84 for ii in ../rootcd/boot/isolinux/*.cfg; do
85 cat $ii | awk '{ print } /append/ { printf "label loram\n\tkernel /boot/bzImage\n\tappend ro sound=noconf screen=text %s %s %s\n",$5,$6,$7 }' > $ii.tmp
86 mv -f $ii.tmp $ii
87 done
88 cat >> ../rootcd/boot/isolinux/enopts.txt <<EOT
89 With few RAM, you can use loram entry with the cdrom device; example:
90 boot: loram root=/dev/hdc
91 EOT
92 cat >> ../rootcd/boot/isolinux/options.txt <<EOT
93 Avec peu de RAM, utilisez l'entrée loram en précisant le cdrom, exemple:
94 boot: loram root=/dev/hdc
95 EOT
96 fi
97 for ii in bin/vcsa2txt bin/awk bin/script bin/cut bin/readlink bin/du bin/free \
98 bin/killall5 bin/seq ; do
99 [ -e $ii ] || ln -s busybox $ii
100 done
101 mkdir cdrom
102 COMPRESSION="gzip"