slitaz-forge rev 366
mirror/floppies: updates from web site, add loram for 1.0 & 2.0
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Thu May 09 18:16:08 2013 +0200 (2013-05-09) |
parents | 28c1b40cf593 |
children | 3d98f09d077b |
files | mirror/floppies/4.0/description.html mirror/floppies/builder/bootloader mirror/floppies/builder/index.html mirror/floppies/builder/index.php mirror/floppies/download.php mirror/floppies/floppies mirror/floppies/loram-1.0/description.html mirror/floppies/loram-1.0/title mirror/floppies/loram-2.0/description.html mirror/floppies/loram-2.0/title mirror/floppies/loram-3.0/title mirror/floppies/loram-4.0/description.html mirror/floppies/mkindex.sh |
line diff
1.1 --- a/mirror/floppies/4.0/description.html Wed May 01 10:50:21 2013 +0200 1.2 +++ b/mirror/floppies/4.0/description.html Thu May 09 18:16:08 2013 +0200 1.3 @@ -3,7 +3,7 @@ 1.4 </p> 1.5 <ul> 1.6 <li> 1.7 - <b>base</b> needs 48Mb of RAM and 7 floppies: <i>fd001.img</i> to <i>fd006.img</i>.<br /> 1.8 + <b>base</b> needs 48Mb of RAM and 6 floppies: <i>fd001.img</i> to <i>fd006.img</i>.<br /> 1.9 base provides the minimum slitaz distribution subset in text mode. 1.10 </li> 1.11 <li>
2.1 --- a/mirror/floppies/builder/bootloader Wed May 01 10:50:21 2013 +0200 2.2 +++ b/mirror/floppies/builder/bootloader Thu May 09 18:16:08 2013 +0200 2.3 @@ -9,187 +9,274 @@ 2.4 usage() 2.5 { 2.6 cat <<EOT 2.7 -Usage: $0 bzImage [--prefix image_prefix] [--cmdline 'args'] 2.8 +Usage: $0 bzImage [--prefix image_prefix] [--info file ] 2.9 + [--format 1200|1440|1680|1920|2880|... ] [--mem mb] 2.10 [--rdev device] [--video mode] [--flags rootflags] [--tracks cnt] 2.11 - [--format 1440|1680|1920|2880 ] [--initrd initrdfile]... 2.12 + [--cmdline 'args'] [--dont-edit-cmdline] [--no-syssize-fix] 2.13 + [--address-initrd address] [--initrd initrdfile]... 2.14 2.15 -Default values: --format 1440 --tracks 80 --prefix floppy. 2.16 +Default values: --format 1440 --tracks 80 --rdev /dev/fd0 --prefix floppy. --mem 16 2.17 2.18 Example: 2.19 -$0 /boot/vmlinuz-2.6.30.6 --rdev /dev/ram0 --video -3 --cmdline 'rw lang=fr_FR kmap=fr-latin1 laptop autologin' --initrd /boot/rootfs.gz --initrd ./myconfig.gz 2.20 +$0 /boot/bzImage --rdev /dev/ram0 --video -3 --cmdline 'rw lang=fr_FR kmap=fr-latin1 laptop autologin' --initrd /boot/rootfs.gz --initrd ./myconfig.gz 2.21 EOT 2.22 exit 1 2.23 } 2.24 2.25 KERNEL="" 2.26 INITRD="" 2.27 +ADRSRD="" 2.28 CMDLINE="" 2.29 PREFIX="floppy." 2.30 FORMAT="1440" 2.31 RDEV="" 2.32 VIDEO="" 2.33 FLAGS="" 2.34 -TRACKS="" 2.35 +TRACKS="80" 2.36 +MEM="16" 2.37 +NOEDIT="" 2.38 +NOSYSSIZEFIX="" 2.39 +INFOFILE="" 2.40 DEBUG="" 2.41 while [ -n "$1" ]; do 2.42 - case "$1" in 2.43 - --c*|-c*) CMDLINE="$2"; shift;; 2.44 - --i*|-i*) INITRD="$INITRD $2"; shift;; 2.45 - --p*|-p*) PREFIX="$2"; shift;; 2.46 - --fo*|-f*) FORMAT="$2"; shift;; 2.47 - --fl*) FLAGS="$2"; shift;; # 1 read-only, 0 read-write 2.48 - --r*|-r*) RDEV="$2"; shift;; # /dev/??? 2.49 - --v*|-v*) VIDEO="$2"; shift;; # -3 .. n 2.50 - --t*|-t*) TRACKS="$2"; shift;; # likely 81 .. 84 2.51 - --debug) DEBUG="1";; 2.52 + case "${1/--/-}" in 2.53 + -c*) CMDLINE="$2"; shift;; 2.54 + -inf*) INFOFILE="$2"; shift;; 2.55 + -i*) INITRD="$INITRD $2"; shift;; 2.56 + -a*) ADRSRD="$2"; shift;; 2.57 + -h*) HEAP="$2"; shift;; 2.58 + -l*) LOADERTYPE="$2"; shift;; 2.59 + -p*) PREFIX="$2"; shift;; 2.60 + -fl*)FLAGS="$2"; shift;; # 1 read-only, 0 read-write 2.61 + -f*) FORMAT="$2"; shift;; 2.62 + -m*) MEM="$(echo $2 | sed 's/[^0-9]//g')"; shift;; 2.63 + -r*) RDEV="$2"; shift;; 2.64 + -v*) VIDEO="$2"; shift;; # -3 .. n 2.65 + -t*) TRACKS="$2"; shift;; # likely 81 .. 84 2.66 + -n*) NOSYSSIZEFIX="1";; 2.67 + -debug) DEBUG="1";; 2.68 + -d*) NOEDIT="1";; 2.69 *) KERNEL="$1";; 2.70 esac 2.71 shift 2.72 done 2.73 [ -n "$KERNEL" -a -f "$KERNEL" ] || usage 2.74 -if [ -n "$TRACKS" ]; then 2.75 - if [ $(( $FORMAT % $TRACKS )) -ne 0 ]; then 2.76 - echo "Invalid track count for format $FORMAT." 2.77 - usage 2.78 - fi 2.79 +while [ -L "$KERNEL" ]; do KERNEL="$(readlink "$KERNEL")"; done 2.80 +if [ $(( $FORMAT % $TRACKS )) -ne 0 ]; then 2.81 + echo "Invalid track count for format $FORMAT." 2.82 + usage 2.83 fi 2.84 +[ 0$MEM -lt 4 ] && MEM=4 2.85 +[ $MEM -gt 16 ] && MEM=16 2.86 2.87 -# write a 16 bits data 2.88 -# usage: store16 offset data16 file 2.89 -store16() 2.90 +ddq() { dd $@ 2> /dev/null; } 2.91 + 2.92 +patch() 2.93 { 2.94 - echo $(( $2 + 0x10000 )) | \ 2.95 - awk '{ printf "\\\\x%02X\\\\x%02X",$1%256,($1/256)%256 }' | \ 2.96 - xargs echo -en | \ 2.97 - dd bs=2 conv=notrunc of=$3 seek=$(( $1 / 2 )) 2> /dev/null 2.98 - [ -n "$DEBUG" ] && printf "store16(%04X) = %04X\n" $1 $2 1>&2 2.99 + echo -en $(echo ":$2" | sed 's/:/\\x/g') | \ 2.100 + ddq bs=1 conv=notrunc of=$3 seek=$((0x$1)) 2.101 + [ -n "$DEBUG" ] && echo "patch $1 $2 $4" 1>&2 2.102 } 2.103 2.104 -# write a 32 bits data 2.105 -# usage: storelong offset data32 file 2.106 -storelong() 2.107 +# usage: store bits offset data file 2.108 +store() 2.109 { 2.110 - echo $2 | awk '{ printf "\\\\x%02X\\\\x%02X\\\\x%02X\\\\x%02X", 2.111 - $1%256,($1/256)%256,($1/256/256)%256,($1/256/256/256)%256 }' | \ 2.112 - xargs echo -en | \ 2.113 - dd bs=4 conv=notrunc of=$3 seek=$(( $1 / 4 )) 2> /dev/null 2.114 - [ -n "$DEBUG" ] && printf "storelong(%04X) = %08X\n" $1 $2 1>&2 2.115 + n=$3; for i in $(seq 8 8 $1); do 2.116 + printf '\\\\x%02X' $(($n & 255)) 2.117 + n=$(($n >> 8)) 2.118 + done | xargs echo -en | ddq bs=1 conv=notrunc of=$4 seek=$(($2)) 2.119 + [ -n "$DEBUG" ] && printf "store%d(%03X) = %0$(($1/4))X %s\n" $1 $2 $3 "$5" 1>&2 2.120 } 2.121 2.122 -# read a 32 bits data 2.123 # usage: getlong offset file 2.124 getlong() 2.125 { 2.126 - dd if=$2 bs=1 skip=$(( $1 )) count=4 2> /dev/null | \ 2.127 - hexdump -e '"" 1/4 "%d" "\n"' 2.128 + ddq if=$2 bs=1 skip=$(($1)) count=4 | hexdump -e '"" 1/4 "%d" "\n"' 2.129 +} 2.130 + 2.131 +error() 2.132 +{ 2.133 + echo $@ 1>&2 2.134 + rm -f $bs 2.135 + exit 1 2.136 } 2.137 2.138 floppyset() 2.139 { 2.140 # bzImage offsets 2.141 - CylinderCount=496 2.142 SetupSzOfs=497 2.143 FlagsOfs=498 2.144 - SyssizeOfs=500 2.145 VideoModeOfs=506 2.146 RootDevOfs=508 2.147 - CodeAdrOfs=0x214 2.148 + Magic=0x202 2.149 RamfsAdrOfs=0x218 2.150 RamfsLenOfs=0x21C 2.151 - ArgPtrOfs=0x228 2.152 2.153 # boot+setup address 2.154 SetupBase=0x90000 2.155 2.156 - stacktop=0x9E00 2.157 - 2.158 bs=/tmp/bs$$ 2.159 2.160 # Get and patch boot sector 2.161 - # See http://hg.slitaz.org/wok/raw-file/711d076b277c/linux/stuff/linux-header-2.6.34.u 2.162 - dd if=$KERNEL bs=512 count=1 of=$bs 2> /dev/null 2.163 - uudecode <<EOT | dd of=$bs conv=notrunc 2> /dev/null 2.164 + # See http://hg.slitaz.org/wok/raw-file/66e38bd6a132/linux/stuff/linux-header.u 2.165 + [ -n "$DEBUG" ] && echo "Read bootsector..." 1>&2 2.166 + ddq if=$KERNEL bs=512 count=1 of=$bs 2.167 + 2.168 + [ $(( $(getlong 0x1FE $bs) & 0xFFFF )) -eq 43605 ] || 2.169 + error "Not bootable" 2.170 + 2.171 + uudecode <<EOT | ddq of=$bs conv=notrunc 2.172 begin-base64 644 - 2.173 -/L+6nWgAkAcGF4n8McC5HQDzq1sfD6mg8X1ABlfFd3ixBvOlZWaPR3gGH8ZF 2.174 -+D/6l1hB6DQBvgACA3QO6HYBWwseKAJ0LFNH6AoBXuhmAbAgzRCwCM0QTuhl 2.175 -ATwIdAOIBK05NigCdPDoPgE8CnXgiHz+ieb/TBD/TBi/9AGBTRz/gMdFMACc 2.176 -sBCxBUi0k4lEHLABiUQUmGaY0+BIZgMFZtPoaAAQB7+AACn4nHMCAccx21BW 2.177 -6J4AXrkAgLSH/kQczRVYnXfcoRoCvxwCsQk4RBxyuJPNE+oAACCQsEYoyL7b 2.178 -AejSAF3rI4D5E3IEOMF3a4D+AnIEOOZ3bGCB/QAGdCoGUlFTlrQCULEGtQTB 2.179 -xQSwDyHoBJAnFEAn6IwA/s117LAgzRDitOiWAJjNE2FSUCjIdwKwAZg5+HIC 2.180 -ifhQtALNE5VeWFpyoJVBjuGAxwJPdFFOdfSM4ZU4wXVFiMj+xrEBOOZ1O4j0 2.181 -/sW2AID9UHIwOi7wAXIqtQBgvt4B/kQMU+gxAFvoOAB1FlKYzRO4AQLNE1rQ 2.182 -1Dpk/nXqRgjkdeVh64sWB7AxLAO0DrsHAM0QPA1088OwDejv/6wIwHX4w79s 2.183 -BLFbZQINuA0BZToNdArNFnT0mM0Wju9Hw1g6AEluc2VydCBkaXNrIDEuBw0A 2.184 -AA== 2.185 +/L+4nWgAkBeJ/BYHMcC5HgDzq1sfD6Gg8X1AxXd4BlexBvOlFh9kZo9HeMZF 2.186 ++D/6l1hB6DwBvgACgUwQIIDGRCWbA3QO6GoBWwseKAJ0LFNH6AYBXuhaAbAg 2.187 +zRCwCM0QTuhZATwIdAOIBK05NigCdPDoMgE8CnXgiHz+W4nm/0gQxkAVk4Dz 2.188 +CHX0u/QBoRUCsQVmix9mS2bT60NoAAgHv4AAiXwTiUQbAfjR7yn7nHMCAd9Q 2.189 +V1ZTMdvongBbXlmGzbSHFgfNFVidd9ChGQK7HAKxCTlEG3K6l80T6gAAIJCw 2.190 +RijIvtgB6MoAXesjgPkTcgQ4wXdrgP4CcgQ45ndsYIH9AAZ0KgZSUVOWtAJQ 2.191 +sQa1BMHFBLAPIegEkCcUQCfohAD+zXXssCDNEOK06I4AmM0TYVJQKMh3ArAB 2.192 +mDn4cgKJ+FC0As0TlV5YWnKglUGO6YDHAk90S0519IzplTjBdT+IyP7GsQE4 2.193 +5nU1iPT+xYD9ULYAdSq1AGC+2wH+RAxT6C8AW+g2AHUWUpjNE7gBAs0TWtDU 2.194 +OmT+depGCOR15WHrkbAxLAO0DrsHAM0QPA1088OwDejv/6wIwHX4w79sBLFb 2.195 +ZAINuA0BZDoNdArNFnT0mM0WjudHw1g6AEluc2VydCBkaXNrIDEHDQA= 2.196 ==== 2.197 EOT 2.198 + # Get setup 2.199 + setupsz=$(( $(getlong $SetupSzOfs $bs) & 0xFF )) 2.200 + if [ $setupsz -eq 0 ]; then 2.201 + setupsz=4 2.202 + store 8 $SetupSzOfs $setupsz $bs "setup size $setupsz" 2.203 + fi 2.204 + [ -n "$DEBUG" ] && echo "Read setup ($setupsz sectors) ..." 1>&2 2.205 + ddq if=$KERNEL bs=512 skip=1 count=$setupsz >> $bs 2.206 2.207 - # Get setup 2.208 - setupsz=$(getlong $SetupSzOfs $bs) 2.209 - setupszb=$(( $setupsz & 255 )) 2.210 - dd if=$KERNEL bs=512 skip=1 count=$setupszb 2> /dev/null >> $bs 2.211 + Version=$(( $(getlong 0x206 $bs) & 0xFFFF )) 2.212 + [ $(getlong $Magic $bs) -ne 1400005704 ] && Version=0 2.213 + feature="" 2.214 + while read prot kern info ; do 2.215 + [ $Version -lt $((0x$prot)) ] && continue 2.216 + feature="features $prot starting from kernel $kern " 2.217 + done <<EOT 2.218 +200 1.3.73 kernel_version, bzImage, initrd, loadflags/type_of_loader 2.219 +201 1.3.76 heap_end_ptr 2.220 +202 2.4.0 new cmdline 2.221 +204 2.6.14 long syssize 2.222 +EOT 2.223 + [ -n "$DEBUG" ] && printf "Protocol %X $feature\n" $Version 1>&2 2.224 + 2.225 + # Old kernels need bootsector patches to disable rescent features 2.226 + while read minversion maxversion offset bytes rem; do 2.227 + [ $Version -gt $(( 0x$maxversion )) ] && continue 2.228 + [ $Version -lt $(( 0x$minversion )) ] && continue 2.229 + patch $offset $bytes $bs "$rem" 2.230 + done <<EOT 2.231 +000 1FF 08D B8:00:01 force zImage (movw \$0x100, %ax) 2.232 +000 1FF 0CB EB:0B skip initrd code 2.233 +000 201 01E EB:1E:00:00:00:00 room for the cmdline magic 2.234 +000 201 036 BE:00:00:E8:76:01:EB:0A:06:57:B1:06:F3:A5:EB:DE code in cmdline magic moved 2.235 +000 1FF 039 90:90:90 no kernel version 2.236 +000 201 04B 22:00 old cmdline ptr 1 2.237 +000 201 06D 22:00 old cmdline ptr 2 2.238 +000 203 1F6 00:00 syssize32 2.239 +200 FFF 210 FF type_of_loader=FF 2.240 +201 FFF 224 00:9B heap_end_ptr 2.241 +EOT 2.242 + if [ $Version -lt 514 ]; then 2.243 + version_string=$((0x200 + ($(getlong 0x20E $bs) & 65535) )) 2.244 + store 16 0x0037 $version_string $bs version_string 2.245 + fi 2.246 + if [ $Version -ge 512 -a $(getlong 0x214 $bs) -ge $((0x100000)) ]; then 2.247 + patch 211 81 $bs loadflags=can_use_heap+loadhigh 2.248 + patch 09D 10 $bs LOADSEG=0x1000 2.249 + patch 0A0 00:01 $bs LOADSZ=0x10000 2.250 + fi 2.251 + [ -n "$CMDLINE" ] || patch 04D EB $bs "No cmdline" 2.252 + [ -n "$NOEDIT" ] && patch 059 0D:46:EB:14 $bs 'mov CR,%al ; inc %si; jmp putal' 2.253 + [ 1$TRACKS -ne 180 ] && store 8 0x171 $TRACKS $bs TRACKS 2.254 + 2.255 + [ -n "$FLAGS" ] && store 16 $FlagsOfs $FLAGS $bs FLAGS 2.256 + [ -n "$VIDEO" ] && store 16 $VideoModeOfs $VIDEO $bs VIDEO 2.257 + [ -n "$RDEV" ] || case "$FORMAT" in 2.258 + 1200) RDEV=0x0208 ;; 2.259 + 1440) RDEV=0x021C ;; 2.260 + 2880) RDEV=0x0220 ;; 2.261 + *) RDEV=0x0200 ;; 2.262 + esac 2.263 + while [ -L "$RDEV" ]; do RDEV="$(readlink "$RDEV")"; done 2.264 + [ -b "$RDEV" ] && RDEV=$(stat -c '0x%02t%02T' $RDEV 2> /dev/null) 2.265 + store 16 $RootDevOfs $RDEV $bs RDEV 2.266 2.267 - if [ -n "$TRACKS" ]; then 2.268 - [ -n "$DEBUG" ] && echo -n "--tracks " 1>&2 2.269 - n=$(getlong $CylinderCount $bs) 2.270 - store16 $CylinderCount $(( ($n & -256) + $TRACKS )) $bs 2.271 - fi 2.272 - if [ -n "$FLAGS" ]; then 2.273 - [ -n "$DEBUG" ] && echo -n "--flags " 1>&2 2.274 - store16 $FlagsOfs $FLAGS $bs 2.275 - fi 2.276 - if [ -n "$VIDEO" ]; then 2.277 - [ -n "$DEBUG" ] && echo -n "--video " 1>&2 2.278 - store16 $VideoModeOfs $VIDEO $bs 2.279 - fi 2.280 - if [ -n "$RDEV" ]; then 2.281 - if [ "$(dirname $RDEV)" == "/dev" -a -b $RDEV ]; then 2.282 - [ -n "$DEBUG" ] && echo -n "--rdev " 1>&2 2.283 - RDEV=$(stat -c '0x%02t%02T' $RDEV 2> /dev/null) 2.284 - store16 $RootDevOfs $RDEV $bs 2.285 + [ $FORMAT -lt 1440 ] && store 8 0xEF 16 $bs 1.2M 2.286 + [ $FORMAT -lt 1200 ] && store 8 0xEF 10 $bs 720K 2.287 + [ $FORMAT -lt 720 ] && store 8 0x171 40 $bs 360K 2.288 + [ $FORMAT -lt 360 ] && store 8 0xEF 9 $bs 320K 2.289 + [ $FORMAT -lt 320 ] && store 8 0xF8 2 $bs 160K 2.290 + 2.291 + # Info text after setup 2.292 + if [ -s "$INFOFILE" ]; then 2.293 + patch 048 9a:00:00:00:90 $bs lcall displayinfo 2.294 + uudecode >$bs.infotext <<EOT 2.295 +begin-base64 644 - 2.296 +MdsGYI7D6AAAXoHGSgCJ8MHoCUii8QGwDbQOuwcAzRCsPAx1I79sBLFbJgIN 2.297 +uBsBJjoNdAnNFnT0mM0Wjsc8IHPjPBt0BuvPCMB1zWEHCx4oAss= 2.298 +==== 2.299 +EOT 2.300 + cat "$INFOFILE" >>$bs.infotext 2.301 + if [ $Version -lt 514 ]; then 2.302 + store 16 0x050 0x0022 $bs.infotext 2.303 fi 2.304 + ddq if=/dev/zero bs=512 count=1 >>$bs.infotext 2.305 + n=$(($(stat -c %s $bs.infotext)/512)) 2.306 + ddq if=$bs.infotext count=$n bs=512 >> $bs 2.307 + rm -f $bs.infotext 2.308 + store 8 0x1F1 $(($setupsz+$n)) $bs update setup size 2.309 + store 8 0x04A $((2+2*$setupsz)) $bs update displayinfo call 2.310 fi 2.311 2.312 - # Store cmdline after setup 2.313 + # Store cmdline after setup for kernels >= 0.99 2.314 if [ -n "$CMDLINE" ]; then 2.315 - [ -n "$DEBUG" ] && echo -n "--cmdline '$CMDLINE' " 1>&2 2.316 - echo -n "$CMDLINE" | dd bs=512 count=1 conv=sync 2> /dev/null >> $bs 2.317 - storelong $ArgPtrOfs $(( $SetupBase + $stacktop )) $bs 2.318 + echo -n "$CMDLINE" | ddq bs=512 count=1 conv=sync >> $bs 2.319 + CmdlineOfs=0x9E00 # Should be in 0x8000 .. 0xA000 2.320 + ArgPtrOfs=0x228 2.321 + ArgPtrVal=$(( $SetupBase + $CmdlineOfs )) 2.322 + if [ $Version -lt 514 ]; then 2.323 + ArgPtrOfs=0x0020 2.324 + ArgPtrVal=$(( 0xA33F + ($CmdlineOfs << 16) )) 2.325 + fi 2.326 + store 32 $ArgPtrOfs $ArgPtrVal $bs "Cmdline '$CMDLINE'" 2.327 fi 2.328 2.329 - # Compute initramfs size 2.330 + # Compute initramfs size (protocol >= 2.00) 2.331 + [ $Version -lt 512 ] && INITRD="" 2.332 initrdlen=0 2.333 +INITRDPAD=4 2.334 +INITRDALIGN=0x1000 2.335 for i in $( echo $INITRD | sed 's/,/ /' ); do 2.336 [ -s "$i" ] || continue 2.337 - [ -n "$DEBUG" ] && echo "--initrd $i " 1>&2 2.338 - initrdlen=$(( ($initrdlen + $(stat -c %s $i) + 3) & -4 )) 2.339 + while [ -L "$i" ]; do i="$(readlink $i)"; done 2.340 + size=$(( ($(stat -c %s "$i") + $INITRDPAD - 1) & -$INITRDPAD )) 2.341 + [ -n "$DEBUG" ] && echo "initrd $i $size " 1>&2 2.342 + initrdlen=$(( $initrdlen + $size )) 2.343 + [ -n "$ADRSRD" ] || ADRSRD=$(( (($MEM * 0x100000) - $initrdlen) & -$INITRDALIGN )) 2.344 + store 32 $RamfsAdrOfs $(( $ADRSRD )) $bs initrd adrs 2.345 + store 32 $RamfsLenOfs $initrdlen $bs initrdlen 2.346 done 2.347 - if [ $initrdlen -ne 0 ]; then 2.348 - [ -n "$DEBUG" ] && echo "initrdlen = $initrdlen " 1>&2 2.349 - storelong $RamfsAdrOfs \ 2.350 - $(( (0x1000000 - $initrdlen) & 0xFFFF0000 )) $bs 2.351 - storelong $RamfsLenOfs $initrdlen $bs 2.352 - fi 2.353 + 2.354 + [ -n "$NOSYSSIZEFIX" ] || store 32 0x1F4 \ 2.355 + $(( ($(stat -c %s $KERNEL)+15)/16 - ($setupsz+1)*32)) $bs fix system size 2.356 2.357 # Output boot sector + setup + cmdline 2.358 - dd if=$bs 2> /dev/null 2.359 + ddq if=$bs 2.360 2.361 # Output kernel code 2.362 - dd if=$KERNEL bs=512 skip=$(( $setupszb + 1 )) 2> /dev/null 2.363 - 2.364 - # Pad to next sector 2.365 - Kpad=$(( 512 - ($(stat -c %s $KERNEL) & 511) )) 2.366 - [ $Kpad -eq 512 ] || dd if=/dev/zero bs=1 count=$Kpad 2> /dev/null 2.367 + syssz=$(( ($(getlong 0x1F4 $bs)+31)/32 )) 2.368 + cat $KERNEL /dev/zero | ddq bs=512 skip=$(( $setupsz+1 )) count=$syssz conv=sync 2.369 2.370 # Output initramfs 2.371 - padding=0 2.372 for i in $( echo $INITRD | sed 's/,/ /' ); do 2.373 [ -s "$i" ] || continue 2.374 - [ $padding -ne 0 ] && dd if=/dev/zero bs=1 count=$padding 2> /dev/null 2.375 - dd if=$i 2> /dev/null 2.376 - padding=$(( 4 - ($(stat -c %s $i) & 3) )) 2.377 - [ $padding -eq 4 ] && padding=0 2.378 + ddq if=$i 2.379 + padding=$(( $INITRDPAD - ($(stat -c %s $i) % $INITRDPAD) )) 2.380 + [ $padding -eq $INITRDPAD ] || ddq if=/dev/zero bs=1 count=$padding 2.381 done 2.382 2.383 # Cleanup 2.384 @@ -199,14 +286,14 @@ 2.385 if [ "$FORMAT" == "0" ]; then # unsplitted 2.386 floppyset > $PREFIX 2.387 PAD=$(( 512 - ($(stat -c %s $PREFIX) % 512) )) 2.388 - [ $PAD -ne 512 ] && dd if=/dev/zero bs=1 count=$PAD >> $PREFIX 2> /dev/null 2.389 + [ $PAD -ne 512 ] && ddq if=/dev/zero bs=1 count=$PAD >> $PREFIX 2.390 exit 2.391 fi 2.392 floppyset | split -b ${FORMAT}k /dev/stdin floppy$$ 2.393 i=1 2.394 -ls floppy$$* | while read file ; do 2.395 +ls floppy$$* 2> /dev/null | while read file ; do 2.396 output=$PREFIX$(printf "%03d" $i) 2.397 - cat $file /dev/zero | dd bs=1k count=$FORMAT conv=sync of=$output 2> /dev/null 2.398 + cat $file /dev/zero | ddq bs=1k count=$FORMAT conv=sync of=$output 2.399 echo $output 2.400 rm -f $file 2.401 i=$(( $i + 1 ))
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/mirror/floppies/builder/index.html Thu May 09 18:16:08 2013 +0200 3.3 @@ -0,0 +1,1 @@ 3.4 +index.php 3.5 \ No newline at end of file
4.1 --- a/mirror/floppies/builder/index.php Wed May 01 10:50:21 2013 +0200 4.2 +++ b/mirror/floppies/builder/index.php Thu May 09 18:16:08 2013 +0200 4.3 @@ -12,6 +12,7 @@ 4.4 <meta name="author" content="SliTaz Contributors" /> 4.5 <meta http-equiv="Refresh" content="0;url=http://mirror.slitaz.org/floppies/builder/index.php"> 4.6 </head> 4.7 +</html> 4.8 <?php 4.9 } 4.10 ini_set('upload_max_filesize','16M'); 4.11 @@ -46,8 +47,8 @@ 4.12 <meta name="description" content="slitaz boot floppies builder" /> 4.13 <meta name="robots" content="index, nofollow" /> 4.14 <meta name="author" content="SliTaz Contributors" /> 4.15 - <link rel="shortcut icon" href="/static/favicon.ico" /> 4.16 - <link rel="stylesheet" type="text/css" href="/static/slitaz.css" /> 4.17 + <link rel="shortcut icon" href="../static/favicon.ico" /> 4.18 + <link rel="stylesheet" type="text/css" href="../static/slitaz.css" /> 4.19 <style type="text/css"> 4.20 4.21 input[type=text] { 4.22 @@ -80,7 +81,7 @@ 4.23 <div id="logo"></div> 4.24 <div id="network"> 4.25 <a href="http://www.slitaz.org/"> 4.26 - <img src="/static/home.png" alt="[ home ]" /></a> 4.27 + <img src="../static/home.png" alt="[ home ]" /></a> 4.28 <a href="bootloader" title="Build your floppy sets without Internet">Shell builder</a> | 4.29 <a href="../floppy-grub4dos" title="Boot tools">Generic boot floppy</a> 4.30 </div> 4.31 @@ -129,6 +130,7 @@ 4.32 4.33 $size = 0; 4.34 $initrd_size = 0; 4.35 + $info_size = 0; 4.36 4.37 // Upload kernel 4.38 4.39 @@ -162,24 +164,21 @@ 4.40 $tmp_dir."kernel"); 4.41 $kernel = $tmp_dir."kernel"; 4.42 $boot_version = get_long($kernel,0x206) & 255; 4.43 + if (get_long($kernel,0x202) != 0x53726448) // 'HdrS' magic 4.44 + $boot_version = 0; 4.45 $size = get_long($kernel,0x1F4); // syssize paragraphs 4.46 if ($boot_version < 4) $size &= 0xFFFF; // 16 bits before 2.4 4.47 $size = ($size + 0xFFF) & 0xFFFF000; // round up to 64K 4.48 $size <<= 4; // paragraphs -> bytes 4.49 - if (get_long($kernel,0x202) != 0x53726448 || // 'HdrS' magic 4.50 - (get_long($kernel,0x211) & 1 != 1)) { // bzImage flag 4.51 - error("The file ".$_FILES["kernel"]['name']. 4.52 - " is not a bzImage Linux kernel."); 4.53 - $size = 0; 4.54 - } 4.55 - else if ($boot_version < 2 && $_POST['cmdline']) { // before 2.2 4.56 - unset($_POST['cmdline']); 4.57 - error("This boot loader does not support Linux kernel ". 4.58 - "prior 2.4.0-test3-pre3 command line.", 4.59 - "Warning"); 4.60 - } 4.61 $msg = "The size of the file ".$_FILES["kernel"]['name']; 4.62 } 4.63 + 4.64 + if ($size && isset($_FILES["info"]['tmp_name']) && 4.65 + is_uploaded_file($_FILES["info"]['tmp_name'])) { 4.66 + move_uploaded_file($_FILES["info"]['tmp_name'], 4.67 + $tmp_dir."info"); 4.68 + $info_size = $_FILES["info"]['size']; 4.69 + } 4.70 4.71 // Upload initrd 4.72 4.73 @@ -213,9 +212,13 @@ 4.74 else { 4.75 $cmd = "./bootloader ".$tmp_dir."kernel --prefix " 4.76 . $tmp_dir."fd --format 0 --flags ".$_POST['flags'] 4.77 - . " --video ".$_POST['video']; 4.78 + . " --video ".$_POST['video']." --mem ".$_POST['ram']; 4.79 + if ($_POST['edit'] == "") 4.80 + $cmd .= " --dont-edit-cmdline"; 4.81 if ($_POST['cmdline']) 4.82 $cmd .= " --cmdline '".$_POST['cmdline']."'"; 4.83 + if ($info_size) 4.84 + $cmd .= " --info ".$tmp_dir."info"; 4.85 if (file_exists($_POST['rdev'])) 4.86 $cmd .= " --rdev ".$_POST['rdev']; 4.87 if ($initrd_size) 4.88 @@ -278,7 +281,7 @@ 4.89 $max = rtrim(ini_get('upload_max_filesize'),"M"); 4.90 $max_post = rtrim(ini_get('post_max_size'),"M"); 4.91 if ($max_post < $max) $max = $max_post; 4.92 - $msg = "the tiny boot loader can't load more than 15 MB"; 4.93 + $msg = "the <acronym title=\"The linux kernel boot sector\">tiny boot loader</acronym> can't load more than 15 MB"; 4.94 if ($max < 16) 4.95 $msg = "the web server can't upload more than $max MB"; 4.96 ?> 4.97 @@ -286,21 +289,26 @@ 4.98 <table> 4.99 <tr> 4.100 <td>Linux kernel:</td> 4.101 - <td><input type="file" name="kernel" size="25" /> <i>required</i></td> 4.102 + <td><input type="file" name="kernel" size="37" /> <i>required</i></td> 4.103 </tr> 4.104 <tr> 4.105 <td>Initramfs / Initrd:</td> 4.106 - <td><input type="file" name="initrd" size="25" /> <i>optional</i></td> 4.107 + <td><input type="file" name="initrd" size="37" /> <i>optional</i></td> 4.108 </tr> 4.109 <tr> 4.110 <td>Extra initramfs:</td> 4.111 - <td><input type="file" name="initrd2" size="25" /> <i>optional</i></td> 4.112 + <td><input type="file" name="initrd2" size="37" /> <i>optional</i></td> 4.113 + </tr> 4.114 + <tr> 4.115 + <td>Boot message:</td> 4.116 + <td><input type="file" name="info" size="37" /> <i>optional</i></td> 4.117 </tr> 4.118 <tr> 4.119 <td>Default cmdline:</td> 4.120 <td><input type="text" name="cmdline" size="36" <?php 4.121 if (isset($_GET['cmdline'])) echo 'value="'.$_GET['cmdline'].'"'; 4.122 - ?>/> <i>optional</i></td> 4.123 + ?>/> <input type="checkbox" name="edit" checked="checked" />edit 4.124 + <i>optional</i></td> 4.125 </tr> 4.126 <tr> 4.127 <td>Root device:</td> 4.128 @@ -333,41 +341,89 @@ 4.129 $options[0xF07] = "80x60"; 4.130 $options[0x30A] = "132x43"; 4.131 $options[0x309] = "132x25"; 4.132 - $options[0x338] = "320x200x8"; 4.133 + $options[0x338] = "320x200x8"; // 382? 4.134 $options[0x30D] = "320x200x15"; 4.135 $options[0x30E] = "320x200x16"; 4.136 - $options[0x332] = "320x240x8"; 4.137 - $options[0x335] = "320x240x16"; 4.138 - $options[0x333] = "400x300x8"; 4.139 - $options[0x336] = "400x300x16"; 4.140 - $options[0x334] = "512x384x8"; 4.141 - $options[0x337] = "512x384x16"; 4.142 + $options[0x30F] = "320x200x24"; 4.143 + $options[0x320] = "320x200x32"; 4.144 + $options[0x332] = "320x240x8"; // 392? 4.145 + $options[0x393] = "320x240x15"; 4.146 + $options[0x335] = "320x240x16";// 394? 4.147 + $options[0x395] = "320x240x24"; 4.148 + $options[0x396] = "320x240x32"; 4.149 + $options[0x333] = "400x300x8";// 3A2? 4.150 + $options[0x3A3] = "400x300x15"; 4.151 + $options[0x336] = "400x300x16";// 3A4? 4.152 + $options[0x3A5] = "400x300x24"; 4.153 + $options[0x3A6] = "400x300x32"; 4.154 + $options[0x334] = "512x384x8";// 3B2? 4.155 + $options[0x3B3] = "512x384x15"; 4.156 + $options[0x337] = "512x384x16";// 3B4? 4.157 + $options[0x3B5] = "512x384x24"; 4.158 + $options[0x3B6] = "512x384x32"; 4.159 + $options[0x3C2] = "640x350x8"; 4.160 + $options[0x3C3] = "640x350x15"; 4.161 + $options[0x3C4] = "640x350x16"; 4.162 + $options[0x3C5] = "640x350x24"; 4.163 + $options[0x3C6] = "640x350x32"; 4.164 $options[0x300] = "640x400x8"; 4.165 - $options[0x339] = "640x400x16"; 4.166 + $options[0x383] = "640x400x15"; 4.167 + $options[0x339] = "640x400x16";// 384? 4.168 + $options[0x385] = "640x400x24"; 4.169 + $options[0x386] = "640x400x32"; 4.170 $options[0x301] = "640x480x8"; 4.171 $options[0x310] = "640x480x15"; 4.172 $options[0x311] = "640x480x16"; 4.173 $options[0x312] = "640x480x24"; 4.174 - $options[0x33A] = "640x480x32"; 4.175 + $options[0x33A] = "640x480x32";// 321? 4.176 + $options[879] = "800x500x8"; 4.177 + $options[880] = "800x500x15"; 4.178 + $options[881] = "800x500x16"; 4.179 + $options[882] = "800x500x24"; 4.180 + $options[883] = "800x500x32"; 4.181 //$options[770] = "800x600x4"; 4.182 $options[0x303] = "800x600x8"; 4.183 $options[0x313] = "800x600x15"; 4.184 $options[0x314] = "800x600x16"; 4.185 $options[0x315] = "800x600x24"; 4.186 - $options[0x33B] = "800x600x32"; 4.187 + $options[0x33B] = "800x600x32";//322? 4.188 + $options[815] = "896x672x8"; 4.189 + $options[816] = "896x672x15"; 4.190 + $options[817] = "896x672x16"; 4.191 + $options[818] = "896x672x24"; 4.192 + $options[819] = "896x672x32"; 4.193 + $options[874] = "1024x640x8"; 4.194 + $options[875] = "1024x640x15"; 4.195 + $options[876] = "1024x640x16"; 4.196 + $options[877] = "1024x640x24"; 4.197 + $options[878] = "1024x640x32"; 4.198 //$options[772] = "1024x768x4"; 4.199 $options[0x305] = "1024x768x8"; 4.200 $options[0x316] = "1024x768x15"; 4.201 $options[0x317] = "1024x768x16"; 4.202 $options[0x318] = "1024x768x24"; 4.203 - $options[0x33C] = "1024x768x32"; 4.204 + $options[0x33C] = "1024x768x32";//323? 4.205 + $options[869] = "1152x720x8"; 4.206 + $options[870] = "1152x720x15"; 4.207 + $options[871] = "1152x720x16"; 4.208 + $options[872] = "1152x720x24"; 4.209 + $options[873] = "1152x720x32"; 4.210 $options[0x307] = "1280x1024x8"; 4.211 $options[0x319] = "1280x1024x15"; 4.212 $options[0x31A] = "1280x1024x16"; 4.213 $options[0x31B] = "1280x1024x24"; 4.214 $options[0x33D] = "1280x1024x32"; 4.215 + $options[835] = "1400x1050x8"; 4.216 + $options[837] = "1400x1050x16"; 4.217 + $options[838] = "1400x1040x24"; 4.218 + $options[864] = "1440x900x8"; 4.219 + $options[864] = "1440x900x15"; 4.220 + $options[866] = "1440x900x16"; 4.221 + $options[867] = "1440x900x24"; 4.222 + $options[868] = "1440x900x32"; 4.223 $options[0x330] = "1600x1200x8"; 4.224 $options[0x331] = "1600x1200x16"; 4.225 + $options[893] = "1920x1200x8"; 4.226 foreach ($options as $key => $value) { 4.227 echo '<option value="'.$key.'"'; 4.228 if ($key == $selected || $value == $selected) 4.229 @@ -383,12 +439,42 @@ 4.230 <td><select name="size"> 4.231 <?php 4.232 foreach ($sizes as $key => $value) { 4.233 + switch ($key) { 4.234 + case "368640" : 4.235 + echo " <optgroup label=\"5¼ SD\">\n"; 4.236 + break; 4.237 + case "737280" : 4.238 + echo " </optgroup>\n"; 4.239 + echo " <optgroup label=\"3½ SD\">\n"; 4.240 + break; 4.241 + case "1228800" : 4.242 + echo " </optgroup>\n"; 4.243 + echo " <optgroup label=\"5¼ HD\">\n"; 4.244 + break; 4.245 + case "1474560" : 4.246 + echo " </optgroup>\n"; 4.247 + echo " <optgroup label=\"3½ HD\">\n"; 4.248 + break; 4.249 + case "2949120" : 4.250 + echo " </optgroup>\n"; 4.251 + echo " <optgroup label=\"3½ ED\">\n"; 4.252 + break; 4.253 + case "0" : 4.254 + echo " </optgroup>\n"; 4.255 + break; 4.256 + } 4.257 echo " <option value=\"$key\""; 4.258 if ($key == "1474560") echo " selected='selected'"; 4.259 echo ">$value</option>\n"; 4.260 } 4.261 ?> 4.262 </select> 4.263 + RAM used <select name="ram"> 4.264 +<?php 4.265 + for ($i = 16; $i >= 4; $i--) 4.266 + echo " <option value=\"$i\">$i MB</option>\n"; 4.267 +?> 4.268 + </select> 4.269 <input name="build" value="Build floppy set" type="submit" /> 4.270 </td> 4.271 </tr> 4.272 @@ -402,6 +488,9 @@ 4.273 <p> 4.274 Note 2: the extra initramfs may be useful to add your own configuration files. 4.275 </p> 4.276 +<p> 4.277 +Note 3: the keyboard is read for ESC or ENTER on every form feed (ASCII 12) in the boot message. 4.278 +</p> 4.279 EOT; 4.280 } 4.281 else { 4.282 @@ -455,13 +544,13 @@ 4.283 <h4>How does it work ?</h4> 4.284 <p> 4.285 This tool updates the boot sector of your kernel with 4.286 -<a href="http://hg.slitaz.org/wok/raw-file/b84ff32e3457/linux/stuff/linux-header-2.6.34.u">this patch</a>. 4.287 +<a href="http://hg.slitaz.org/wok/raw-file/66e38bd6a132/linux/stuff/linux-header.u">this patch</a>. 4.288 You may add a default cmdline and an initramfs. The cmdline can be edited at boot 4.289 -time but the keyboard is not mandatory. 4.290 +time but the <acronym title="Check for disk swap every 5 seconds">keyboard is not mandatory</acronym>. 4.291 A <a href="bootloader"> standalone version</a> is available. 4.292 </p> 4.293 <p> 4.294 -Each part (boot, setup, cmdline, kernel, initramfs) is aligned to 512 bytes. 4.295 +Each part (boot, setup, boot message, cmdline, kernel, initramfs) is aligned to 512 bytes. 4.296 The result is split to fit the floppy size. 4.297 The last floppy image is padded with zeros. 4.298 </p> 4.299 @@ -490,13 +579,13 @@ 4.300 <!-- Bottom and logo's --> 4.301 <div id="bottom"> 4.302 <p> 4.303 -<a href="http://validator.w3.org/check?uri=referer"><img src="/static/xhtml10.png" alt="Valid XHTML 1.0" title="Code validé XHTML 1.0" style="width: 80px; height: 15px;" /></a> 4.304 +<a href="http://validator.w3.org/check?uri=referer"><img src="../static/xhtml10.png" alt="Valid XHTML 1.0" title="Code validé XHTML 1.0" style="width: 80px; height: 15px;" /></a> 4.305 </p> 4.306 <p> 4.307 <img src="#" id="qrcodeimg" alt="#" width="60" height="60" 4.308 - onmouseover= "this.title = location.href" 4.309 - onclick= "this.width = this.height = 300" /> 4.310 - <script type="text/javascript" src="/static/qrcode.js"></script> 4.311 + onmouseover= "this.title = location.href" 4.312 + onclick= "this.width = this.height = 300;" /> 4.313 + <script type="text/javascript" src="../static/qrcode.js"></script> 4.314 <script type="text/javascript"> 4.315 document.getElementById('qrcodeimg').src = 4.316 QRCode.generatePNG(location.href, {ecclevel: 'H'});
5.1 --- a/mirror/floppies/download.php Wed May 01 10:50:21 2013 +0200 5.2 +++ b/mirror/floppies/download.php Thu May 09 18:16:08 2013 +0200 5.3 @@ -45,9 +45,13 @@ 5.4 <meta name="description" content="slitaz boot floppies" /> 5.5 <meta name="robots" content="index, nofollow" /> 5.6 <meta name="author" content="SliTaz Contributors" /> 5.7 - <link rel="shortcut icon" href="../css/favicon.ico" /> 5.8 - <link rel="stylesheet" type="text/css" href="../css/slitaz.css" /> 5.9 + <link rel="shortcut icon" href="static/favicon.ico" /> 5.10 + <link rel="stylesheet" type="text/css" href="static/slitaz.css" /> 5.11 <style type="text/css"> 5.12 +table { 5.13 + background-color: inherit; 5.14 + margin: 10px 0px 0px 0px; 5.15 +} 5.16 #copy { 5.17 text-align: center; 5.18 } 5.19 @@ -65,11 +69,10 @@ 5.20 <div id="logo"></div> 5.21 <div id="network"> 5.22 <a href="http://www.slitaz.org/"> 5.23 - <img src="/css/pics/network.png" alt="network.png" /></a> 5.24 - <a href="floppy-grub4dos" title="Boot tools">Generic boot floppy</a> | 5.25 - <a href="http://tiny.slitaz.org/" title="SliTaz in one floppy !">Tiny SliTaz</a> | 5.26 - <a href="index-loram.html" title="Floppy image sets for low ram systems">Loram floppies</a> | 5.27 - <a href="builder/index.php" title="Build floppies with your own kernel and initramfs">Floppy set web builder</a> | 5.28 + <img src="static/home.png" alt="[ home ]" /></a> 5.29 + <a href="floppy-grub4dos" title="Boot tools">Generic boot floppy</a> 5.30 + <a href="http://tiny.slitaz.org/" title="SliTaz in one floppy !">Tiny SliTaz</a> 5.31 + <a href="builder/index.php" title="Build floppies with your own kernel and initramfs">Floppy set web builder</a> 5.32 <a href="builder/bootloader" title="Build your floppy sets without Internet">Shell builder</a> 5.33 </div> 5.34 <h1><a href="http://www.slitaz.org/">Boot floppies</a></h1> 5.35 @@ -84,19 +87,18 @@ 5.36 <?php 5.37 $max = floor((my_filesize("../".$_POST["iso"]) + $fdsz - 1 + $cpiopad) / $fdsz); 5.38 for ($i = 1; $i <= $max ; $i++) { 5.39 - if ($i % 4 == 1) echo "<tr>\n"; 5.40 - echo " <td><a href=\"download.php?file=$i&iso=". 5.41 + if ($i % 6 == 1) echo "<tr>\n"; 5.42 + echo " <td> <a href=\"download.php?file=$i&iso=". 5.43 urlencode($_POST["iso"])."\">fdiso".sprintf("%02d",$i); 5.44 - if ($max < 100) echo ".img"; 5.45 - echo "</a></td>\n"; 5.46 - if ($i % 4 == 0) echo "</tr>\n"; 5.47 + echo "</a> </td>\n"; 5.48 + if ($i % 6 == 0) echo "</tr>\n"; 5.49 } 5.50 -if ($max % 4 != 0) { 5.51 - while ($max % 4 != 3) { echo "<td></td>"; $max++; } 5.52 +if ($max % 6 != 0) { 5.53 + while ($max % 6 != 5) { echo "<td></td>"; $max++; } 5.54 } 5.55 else echo "<tr>\n"; 5.56 echo " <td><a href=\"download.php?file=md5sum&iso=". 5.57 - urlencode($_POST["iso"])."\">md5sum</a></td>\n</tr>"; 5.58 + urlencode($_POST["iso"])."\">md5</a></td>\n</tr>"; 5.59 ?> 5.60 </table> 5.61 </div> 5.62 @@ -104,12 +106,15 @@ 5.63 <div id="block_info"> 5.64 <h4>Available boot floppies</h4> 5.65 <ul> 5.66 - <li><a href="index-4.0.html">SliTaz 4.0</a></li> 5.67 - <li><a href="index-loram-4.0.html">SliTaz loram 4.0</a></li> 5.68 - <li><a href="index-3.0.html">SliTaz 3.0</a></li> 5.69 - <li><a href="index-loram-3.0.html">SliTaz loram 3.0</a></li> 5.70 - <li><a href="index-2.0.html">SliTaz 2.0</a></li> 5.71 - <li><a href="index-1.0.html">SliTaz 1.0</a></li> 5.72 +<?php 5.73 +for ($i = 1; file_exists("index-$i.0.html") ; $i++); 5.74 +while (--$i > 0) { 5.75 + echo " <li><a href=\"index-$i.0.html\">SliTaz $i.0</a>"; 5.76 + if (file_exists("index-loram-".$i.".0.html")) 5.77 + echo " - <a href=\"index-loram-$i.0.html\">loram</a>"; 5.78 + echo "</li>\n"; 5.79 +} 5.80 +?> 5.81 </ul> 5.82 </div> 5.83 </div>
6.1 --- a/mirror/floppies/floppies Wed May 01 10:50:21 2013 +0200 6.2 +++ b/mirror/floppies/floppies Thu May 09 18:16:08 2013 +0200 6.3 @@ -2,22 +2,26 @@ 6.4 6.5 read32() 6.6 { 6.7 - dd if=kernel bs=1 skip=$((0x$1)) count=4 2> /dev/null | \ 6.8 - hexdump -e '"" 1/4 "%d" "\n"' 6.9 + echo $(od -j $((0x$1)) -N 4 -t u4 -An kernel) 6.10 +} 6.11 + 6.12 +ddsect() 6.13 +{ 6.14 + dd bs=512 count=$@ 2> /dev/null 6.15 } 6.16 6.17 case "$1" in 6.18 extract) 6.19 - dd bs=512 count=2 > kernel 2> /dev/null 6.20 + ddsect 2 > kernel 6.21 setupsz=$(($(read32 1F1) & 255)) 6.22 - dd bs=512 count=$(($setupsz - 1)) >> kernel 2> /dev/null 6.23 + ddsect $(($setupsz - 1)) >> kernel 6.24 [ $(read32 228) -ne 0 ] && 6.25 - dd bs=512 count=1 2> /dev/null | strings > cmdline 6.26 + ddsect 1 | strings > cmdline 6.27 syssz=$(read32 1F4) 6.28 syssz=$(( ($syssz + 31) / 32 )) 6.29 - dd bs=512 count=$syssz >> kernel 2> /dev/null 6.30 + ddsect $syssz >> kernel 6.31 ramsz=$(read32 21C) 6.32 - dd bs=512 count=$((($ramsz + 511) / 512)) of=rootfs 2> /dev/null 6.33 + ddsect $((($ramsz + 511) / 512)) of=rootfs 6.34 dd bs=1 seek=$ramsz count=0 of=rootfs 2> /dev/null 6.35 ;; 6.36 *) cat <<EOT
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 7.2 +++ b/mirror/floppies/loram-1.0/description.html Thu May 09 18:16:08 2013 +0200 7.3 @@ -0,0 +1,12 @@ 7.4 +<p> 7.5 +Start your computer with <i>fd001.img</i>. It will show the kernel version string and 7.6 +the kernel cmdline line. You can edit the cmdline. Most users can just press Enter. 7.7 +</p> 7.8 +<p> 7.9 +The floppy is then loaded into memory (one dot each 64k) and you will be prompted to 7.10 +insert the next floppy, <i>fd002.img</i>. 7.11 +</p> 7.12 +<p> 7.13 +The bootstrap will then start and you will be prompted to insert extra floppies 7.14 +from <i>fd100.img</i> to <i>fd121.img</i>. 7.15 +</p>
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 8.2 +++ b/mirror/floppies/loram-1.0/title Thu May 09 18:16:08 2013 +0200 8.3 @@ -0,0 +1,1 @@ 8.4 +Released on 22 March 2008, needs 80Mb RAM
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 9.2 +++ b/mirror/floppies/loram-2.0/description.html Thu May 09 18:16:08 2013 +0200 9.3 @@ -0,0 +1,29 @@ 9.4 +<p> 9.5 +You can start with one of the 3 following flavors : 9.6 +</p> 9.7 +<ul> 9.8 + <li> 9.9 + <b>base</b> needs 22Mb of RAM and 6 floppies: <i>fd001.img</i> to <i>fd103.img</i>.<br /> 9.10 + base provides the minimum slitaz distribution subset in text mode. 9.11 + </li> 9.12 + <li> 9.13 + <b>justx</b> needs 64M of RAM and 13 floppies: <i>fd001.img</i> to <i>fd206.img</i>.<br /> 9.14 + justx provides the minimum slitaz distribution subset with X11 support. 9.15 + </li> 9.16 + <li> 9.17 + <b>core</b> needs 92M of RAM and 25 floppies: <i>fd001.img</i> to <i>fd311.img</i>.<br /> 9.18 + core provides the default slitaz distribution. 9.19 + </li> 9.20 +</ul> 9.21 +<p> 9.22 +Start your computer with <i>fd001.img</i>. It will show the kernel version string and 9.23 +the kernel cmdline line. You can edit the cmdline. Most users can just press Enter. 9.24 +</p> 9.25 +<p> 9.26 +The floppy is then loaded into memory (one dot each 64k) and you will be prompted to 9.27 +insert the next floppy, <i>fd002.img</i>. 9.28 +</p> 9.29 +<p> 9.30 +The loram bootstrap will then start and you will be prompted to insert extra floppies 9.31 +for base, justx and core flavors. You can bypass this by using Q and Enter. 9.32 +</p>
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 10.2 +++ b/mirror/floppies/loram-2.0/title Thu May 09 18:16:08 2013 +0200 10.3 @@ -0,0 +1,1 @@ 10.4 +Released on 16 April 2009, needs 80Mb RAM
11.1 --- a/mirror/floppies/loram-3.0/title Wed May 01 10:50:21 2013 +0200 11.2 +++ b/mirror/floppies/loram-3.0/title Thu May 09 18:16:08 2013 +0200 11.3 @@ -1,1 +1,1 @@ 11.4 -Released on 28 March 2010, needs 80b RAM 11.5 +Released on 28 March 2010, needs 80Mb RAM
12.1 --- a/mirror/floppies/loram-4.0/description.html Wed May 01 10:50:21 2013 +0200 12.2 +++ b/mirror/floppies/loram-4.0/description.html Thu May 09 18:16:08 2013 +0200 12.3 @@ -11,7 +11,7 @@ 12.4 justx provides the minimum slitaz distribution subset with X11 support. 12.5 </li> 12.6 <li> 12.7 - <b>gtkonly</b> needs 111M of RAM and 19 floppies: <i>fd001.img</i> to <i>fd304.img</i>.<br /> 12.8 + <b>gtkonly</b> needs 111M of RAM and 18 floppies: <i>fd001.img</i> to <i>fd304.img</i>.<br /> 12.9 gtkonly provides the minimum slitaz distribution subset with Gtk+ support. 12.10 </li> 12.11 <li>
13.1 --- a/mirror/floppies/mkindex.sh Wed May 01 10:50:21 2013 +0200 13.2 +++ b/mirror/floppies/mkindex.sh Thu May 09 18:16:08 2013 +0200 13.3 @@ -84,24 +84,24 @@ 13.4 <!-- Block --> 13.5 <div id="block"> 13.6 <!-- Navigation --> 13.7 - <div id="block_nav"> 13.8 + <div id="block_nav" style="height: 126px;"> 13.9 <h4><img src="pics/floppy.png" alt="@" />1.44Mb SliTaz$LORAM $VERSION floppy images</h4> 13.10 <table width="100%"> 13.11 $( 13.12 n=0 13.13 for f in $DIR/fd*img ; do 13.14 [ $n -eq 0 ] && echo "<tr>" 13.15 - echo " <td> <a href=\"$f\">$(basename $f)</a> </td>" 13.16 - n=$(( ($n+1)&3 )) 13.17 + echo " <td> <a href=\"$f\">$(basename $f .img)</a> </td>" 13.18 + n=$(( ($n+1)%6 )) 13.19 [ $n -eq 0 ] && echo "</tr>" 13.20 done 13.21 [ $n -eq 0 ] && echo "<tr>" 13.22 -while [ $n -ne 3 ]; do 13.23 +while [ $n -ne 5 ]; do 13.24 echo " <td> </td>" 13.25 n=$(($n+1)) 13.26 done 13.27 ) 13.28 - <td> <a href="$DIR/md5sum">md5sum</a> </td> 13.29 + <td> <a href="$DIR/md5sum">md5</a> </td> 13.30 </tr> 13.31 </table> 13.32 </div> 13.33 @@ -113,7 +113,7 @@ 13.34 tail="" 13.35 list_version | while read dir; do 13.36 case "$dir" in 13.37 - loram*) echo -en "\n <a href=\"index-$dir.html\">loram</a>" ;; 13.38 + loram*) echo -en "\n - <a href=\"index-$dir.html\">loram</a>" ;; 13.39 *) echo -en "$tail <li><a href=\"index-$dir.html\">SliTaz $dir</a>" ;; 13.40 esac 13.41 tail="</li>\n" 13.42 @@ -216,16 +216,6 @@ 13.43 Copyright © <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz</a> - 13.44 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a> 13.45 </p> 13.46 -<p> 13.47 - <img src="#" id="qrcodeimg" alt="#" width="60" height="60" 13.48 - onmouseover= "this.title = location.href" 13.49 - onclick= "this.width = this.height = 300" /> 13.50 - <script type="text/javascript" src="static/qrcode.js"></script> 13.51 - <script type="text/javascript"> 13.52 - document.getElementById('qrcodeimg').src = 13.53 - QRCode.generatePNG(location.href, {ecclevel: 'H'}); 13.54 - </script> 13.55 -</p> 13.56 <!-- End of copy --> 13.57 </div> 13.58 13.59 @@ -234,6 +224,16 @@ 13.60 <p> 13.61 <a href="http://validator.w3.org/check?uri=referer"><img src="static/xhtml10.png" alt="Valid XHTML 1.0" title="Code validé XHTML 1.0" style="width: 80px; height: 15px;" /></a> 13.62 </p> 13.63 +<p> 13.64 + <img src="#" id="qrcodeimg" alt="#" width="60" height="60" 13.65 + onmouseover= "this.title = location.href" 13.66 + onclick= "this.width = this.height = 300;" /> 13.67 + <script type="text/javascript" src="static/qrcode.js"></script> 13.68 + <script type="text/javascript"> 13.69 + document.getElementById('qrcodeimg').src = 13.70 + QRCode.generatePNG(location.href, {ecclevel: 'H'}); 13.71 + </script> 13.72 +</p> 13.73 </div> 13.74 13.75 </body>