tazlito diff tazlito @ rev 313
Fix loram cdrom
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sun Feb 17 16:23:02 2013 +0100 (2013-02-17) |
parents | babdf631b84d |
children | d3e9a97c762c |
line diff
1.1 --- a/tazlito Sat Feb 16 20:22:18 2013 +0100 1.2 +++ b/tazlito Sun Feb 17 16:23:02 2013 +0100 1.3 @@ -774,6 +774,7 @@ 1.4 $TMP_DIR/initfs/mnt $TMP_DIR/initfs/proc $TMP_DIR/initfs/tmp \ 1.5 $TMP_DIR/initfs/sys $TMP_DIR/initfs/lib/modules 1.6 ln -s bin $TMP_DIR/initfs/sbin 1.7 + ln -s . $TMP_DIR/initfs/usr 1.8 while [ ! -f /lib/modules/$version/kernel/fs/aufs/aufs.ko.?z ]; do 1.9 install_package aufs $version || return 1 1.10 done 1.11 @@ -784,14 +785,18 @@ 1.12 cp -a /dev/tty0 /dev/fd0 $TMP_DIR/initfs/dev 2> /dev/null 1.13 cp /lib/modules/$version/kernel/fs/aufs/aufs.ko.?z \ 1.14 $TMP_DIR/initfs/lib/modules 1.15 - [ ! -f /usr/sbin/mksquashfs ] && ! install_package squashfs && return 1 1.16 - while [ ! -f /lib/modules/$version/kernel/fs/squashfs/squashfs.ko.?z ]; do 1.17 - install_package linux-squashfs $version || return 1 1.18 - done 1.19 - cp /lib/modules/$version/kernel/fs/squashfs/squashfs.ko.?z \ 1.20 - $TMP_DIR/initfs/lib/modules 1.21 - ls /sbin/unsquashfs /usr/lib/liblzma.so* $INSTALLED/squashfs/* | \ 1.22 - cpio -o -H newc > $TMP_DIR/initfs/extractfs.cpio 1.23 + if [ "$1" == "cdrom" ]; then 1.24 + sed -i 's/mod squashfs//' $TMP_DIR/initfs/init 1.25 + else 1.26 + [ ! -f /usr/sbin/mksquashfs ] && ! install_package squashfs && return 1 1.27 + while [ ! -f /lib/modules/$version/kernel/fs/squashfs/squashfs.ko.?z ]; do 1.28 + install_package linux-squashfs $version || return 1 1.29 + done 1.30 + cp /lib/modules/$version/kernel/fs/squashfs/squashfs.ko.?z \ 1.31 + $TMP_DIR/initfs/lib/modules 1.32 + ls /sbin/unsquashfs /usr/lib/liblzma.so* $INSTALLED/squashfs/* | \ 1.33 + cpio -o -H newc > $TMP_DIR/initfs/extractfs.cpio 1.34 + fi 1.35 for i in $(ls /dev/[hs]d[a-f]*); do 1.36 cp -a $i $TMP_DIR/initfs/dev 1.37 done 1.38 @@ -834,7 +839,7 @@ 1.39 fi 1.40 if ! $need_lib && [ -x /usr/share/boot/busybox-static ]; then 1.41 cp /usr/share/boot/busybox-static $TMP_DIR/initfs/bin/busybox 1.42 - sed -i 's/LD_T.*ot/echo ""/;s/".*ld-.) /"/' $TMP_DIR/initfs/init 1.43 + sed -i 's/LD_T.*ot/echo ""/;s/".*ld-.*) /"/' $TMP_DIR/initfs/init 1.44 else 1.45 cp /bin/busybox $TMP_DIR/initfs/bin 1.46 need_lib=true 1.47 @@ -850,7 +855,7 @@ 1.48 $need_lib && for i in /lib/ld-* /lib/lib[cm].so* /lib/lib[cm]-* ; do 1.49 cp -a $i $TMP_DIR/initfs/lib 1.50 done 1.51 - false && cat > $TMP_DIR/initfs/init <<EOTEOT 1.52 + [ "$1" == "http" ] && cat > $TMP_DIR/initfs/init <<EOTEOT 1.53 #!/bin/sh 1.54 1.55 getarg() 1.56 @@ -880,8 +885,6 @@ 1.57 sed 's/.*rootfssize=\\([0-9]*[kmg%]\\).*/-o size=\\1/')" 1.58 [ -n "\$size" ] || size="-o size=90%" 1.59 1.60 -if [ -x /bin/httpfs ]; then # loram-http 1.61 - 1.62 while read var default; do 1.63 eval \$var=\$default 1.64 getarg \$var \$var 1.65 @@ -921,53 +924,6 @@ 1.66 done 1.67 mount -o loop,ro -t iso9660 \$path2/*.iso \$path 1.68 done 1.69 -#copy_rootfs && umount -d \$path && umount -d \$path2 1.70 - 1.71 -elif [ -f \$(echo /rootfs*.gz | cut -f1 -d' ') ]; then # loram-ram 1.72 - 1.73 -total=\$(grep MemTotal /proc/meminfo | sed 's/[^0-9]//g') 1.74 -free=\$(grep MemFree /proc/meminfo | sed 's/[^0-9]//g') 1.75 -if [ \$(( \$total/\$free )) -gt 1 ] || ! mount -t tmpfs \$size tmpfs /mnt; then 1.76 - echo "No tmpfs for /mnt" 1.77 - mkdir -p /mnt/.rw 1.78 - mount -t tmpfs tmpfs /mnt/.rw 1.79 - mkdir -p /mnt/.rw/mnt/.rw 1.80 - path=/ 1.81 -else 1.82 - mkdir -p /mnt/.rw 1.83 - path=/mnt/. 1.84 - for i in rootfs* ; do 1.85 - mv /\$i \$path\$i 1.86 - done 1.87 -fi 1.88 - 1.89 -else # loram-cdrom 1.90 - 1.91 -getarg cdrom DRIVE_NAME || 1.92 -DRIVE_NAME=\$(grep "drive name" < /proc/sys/dev/cdrom/info | cut -f 3) 1.93 -DEVICE=/dev/\$DRIVE_NAME 1.94 -DIR=fs 1.95 -if getarg loram DIR; then 1.96 - DEVICE=\${DIR%,*} 1.97 - DIR=/\${DIR#*,} 1.98 -fi 1.99 -mount -t tmpfs \$size tmpfs /mnt 1.100 -mkdir -p /mnt/.rw /mnt/.cdrom /mnt/mnt/.cdrom 1.101 -i=0 1.102 -while [ \$i -lt 5 ] && ! mount -r \$DEVICE /mnt/.cdrom; do 1.103 - case "\$DEVICE" in 1.104 - /dev/sd*|UUID=*|LABEL=*) 1.105 - mount -t sysfs sysfs /sys 1.106 - USBDELAY=\$(cat /sys/module/usb_storage/parameters/delay_use) 1.107 - umount /sys 1.108 - sleep \$((1+\$USBDELAY)) ;; 1.109 - esac 1.110 - i=\$((i+1)) 1.111 -done 1.112 -path=/mnt/.cdrom/ 1.113 -copy_rootfs && umount -d /mnt/.cdrom 1.114 - 1.115 -fi 1.116 1.117 memfree=\$(grep MemFree /proc/meminfo | sed 's/[^0-9]//g') 1.118 umount /proc 1.119 @@ -1025,20 +981,6 @@ 1.120 done 1.121 } 1.122 1.123 -# Move each initramfs to squashfs 1.124 -build_loram_rootfs_cdrom() 1.125 -{ 1.126 - mkdir -p $TMP_DIR/fs 1.127 - cd $TMP_DIR/fs 1.128 - for i in $(ls -r $TMP_DIR/iso/boot/rootfs*.gz); do 1.129 - ( zcat $i 2> /dev/null || unlzma -c $i) | cpio -idmu 1.130 - done 1.131 - rootfs=$TMP_DIR/rootfs.gz 1.132 - /usr/sbin/mksquashfs $TMP_DIR/fs $rootfs -comp xz -Xbcj x86 1.133 - rm -rf $TMP_DIR/fs 1.134 - cd - > /dev/null 1.135 -} 1.136 - 1.137 # Move meta boot configuration files to basic configuration files 1.138 # because meta loram flavor is useless when rootfs is not loaded in ram 1.139 unmeta_boot() 1.140 @@ -1066,25 +1008,19 @@ 1.141 build_loram_cdrom() 1.142 { 1.143 build_initfs cdrom || return 1 1.144 - build_loram_rootfs_cdrom 1.145 cp -a $TMP_DIR/iso $TMP_DIR/loramiso 1.146 - if [ "$1" == "small" ]; then 1.147 - rm -f $TMP_DIR/loramiso/boot/root* 1.148 - else 1.149 - mkdir $TMP_DIR/loramiso/fs 1.150 - cd $TMP_DIR/loramiso/fs 1.151 - for i in $( ls ../boot/root* | sort -r ) ; do 1.152 - ( zcat $i 2> /dev/null || unlzma -c $i ) | cpio -idmu 1.153 - rm -f $i 1.154 - done 1.155 - mkdir -p $TMP_DIR/loramiso/fs/mnt/.cdrom 1.156 - cd - > /dev/null 1.157 - fi 1.158 + mkdir $TMP_DIR/loramiso/fs 1.159 + cd $TMP_DIR/loramiso/fs 1.160 + for i in $( ls ../boot/root* | sort -r ) ; do 1.161 + ( zcat $i 2> /dev/null || unlzma -c $i ) | cpio -idmu 1.162 + rm -f $i 1.163 + done 1.164 + mkdir -p $TMP_DIR/loramiso/fs/mnt/.cdrom 1.165 + cd - > /dev/null 1.166 mv $TMP_DIR/initfs.gz $TMP_DIR/loramiso/boot/rootfs.gz 1.167 - mv $TMP_DIR/rootfs*.gz $TMP_DIR/loramiso 1.168 unmeta_boot 1.169 VOLUM_NAME="SliTaz_LoRAM_CDROM" 1.170 - sed -i "s/root=/loram=LABEL=$VOLUM_NAME,fs &/" \ 1.171 + sed -i "s|root=|isofs= rodev=/dev/cdrom/fs &|;s/.ive/cdrom/" \ 1.172 $TMP_DIR/loramiso/boot/isolinux/*.cfg 1.173 create_iso $OUTPUT $TMP_DIR/loramiso 1.174 } 1.175 @@ -2549,7 +2485,6 @@ 1.176 1.177 case "$4" in 1.178 cdrom) build_loram_cdrom ;; 1.179 - smallcdrom) build_loram_cdrom small ;; 1.180 http) build_loram_http ;; 1.181 *) build_loram_ram ;; 1.182 esac