# HG changeset patch # User Pascal Bellard # Date 1332527858 -3600 # Node ID 55f97ee147e89f990633bfdfe0899d57707d2c93 Initial move from slitaz-pizza diff -r 000000000000 -r 55f97ee147e8 bootloader --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bootloader Fri Mar 23 19:37:38 2012 +0100 @@ -0,0 +1,213 @@ +#!/bin/sh +# +# This script creates a floppy image set from a linux bzImage and can merge +# a cmdline and/or one or more initramfs. +# The total size can not exceed 15M because INT 15H function 87H limitations. +# +# (C) 2009 Pascal Bellard - GNU General Public License v3. + +usage() +{ +cat < /dev/null + [ -n "$DEBUG" ] && printf "store16(%04X) = %04X\n" $1 $2 1>&2 +} + +# write a 32 bits data +# usage: storelong offset data32 file +storelong() +{ + echo $2 | awk '{ printf "\\\\x%02X\\\\x%02X\\\\x%02X\\\\x%02X", + $1%256,($1/256)%256,($1/256/256)%256,($1/256/256/256)%256 }' | \ + xargs echo -en | \ + dd bs=4 conv=notrunc of=$3 seek=$(( $1 / 4 )) 2> /dev/null + [ -n "$DEBUG" ] && printf "storelong(%04X) = %08X\n" $1 $2 1>&2 +} + +# read a 32 bits data +# usage: getlong offset file +getlong() +{ + dd if=$2 bs=1 skip=$(( $1 )) count=4 2> /dev/null | \ + hexdump -e '"" 1/4 "%d" "\n"' +} + +floppyset() +{ + # bzImage offsets + CylinderCount=496 + SetupSzOfs=497 + FlagsOfs=498 + SyssizeOfs=500 + VideoModeOfs=506 + RootDevOfs=508 + CodeAdrOfs=0x214 + RamfsAdrOfs=0x218 + RamfsLenOfs=0x21C + ArgPtrOfs=0x228 + + # boot+setup address + SetupBase=0x90000 + + stacktop=0x9E00 + + bs=/tmp/bs$$ + + # Get and patch boot sector + # See http://hg.slitaz.org/wok/raw-file/711d076b277c/linux/stuff/linux-header-2.6.34.u + dd if=$KERNEL bs=512 count=1 of=$bs 2> /dev/null + uudecode < /dev/null +begin-base64 644 - +/L+6nWgAkAcGF4n8McC5HQDzq1sfD6mg8X1ABlfFd3ixBvOlZWaPR3gGH8ZF ++D/6l1hB6DQBvgACA3QO6HYBWwseKAJ0LFNH6AoBXuhmAbAgzRCwCM0QTuhl +ATwIdAOIBK05NigCdPDoPgE8CnXgiHz+ieb/TBD/TBi/9AGBTRz/gMdFMACc +sBCxBUi0k4lEHLABiUQUmGaY0+BIZgMFZtPoaAAQB7+AACn4nHMCAccx21BW +6J4AXrkAgLSH/kQczRVYnXfcoRoCvxwCsQk4RBxyuJPNE+oAACCQsEYoyL7b +AejSAF3rI4D5E3IEOMF3a4D+AnIEOOZ3bGCB/QAGdCoGUlFTlrQCULEGtQTB +xQSwDyHoBJAnFEAn6IwA/s117LAgzRDitOiWAJjNE2FSUCjIdwKwAZg5+HIC +ifhQtALNE5VeWFpyoJVBjuGAxwJPdFFOdfSM4ZU4wXVFiMj+xrEBOOZ1O4j0 +/sW2AID9UHIwOi7wAXIqtQBgvt4B/kQMU+gxAFvoOAB1FlKYzRO4AQLNE1rQ +1Dpk/nXqRgjkdeVh64sWB7AxLAO0DrsHAM0QPA1088OwDejv/6wIwHX4w79s +BLFbZQINuA0BZToNdArNFnT0mM0Wju9Hw1g6AEluc2VydCBkaXNrIDEuBw0A +AA== +==== +EOT + + # Get setup + setupsz=$(getlong $SetupSzOfs $bs) + setupszb=$(( $setupsz & 255 )) + dd if=$KERNEL bs=512 skip=1 count=$setupszb 2> /dev/null >> $bs + + if [ -n "$TRACKS" ]; then + [ -n "$DEBUG" ] && echo -n "--tracks " 1>&2 + n=$(getlong $CylinderCount $bs) + store16 $CylinderCount $(( ($n & -256) + $TRACKS )) $bs + fi + if [ -n "$FLAGS" ]; then + [ -n "$DEBUG" ] && echo -n "--flags " 1>&2 + store16 $FlagsOfs $FLAGS $bs + fi + if [ -n "$VIDEO" ]; then + [ -n "$DEBUG" ] && echo -n "--video " 1>&2 + store16 $VideoModeOfs $VIDEO $bs + fi + if [ -n "$RDEV" ]; then + if [ "$(dirname $RDEV)" == "/dev" -a -b $RDEV ]; then + [ -n "$DEBUG" ] && echo -n "--rdev " 1>&2 + RDEV=$(stat -c '0x%02t%02T' $RDEV 2> /dev/null) + store16 $RootDevOfs $RDEV $bs + fi + fi + + # Store cmdline after setup + if [ -n "$CMDLINE" ]; then + [ -n "$DEBUG" ] && echo -n "--cmdline '$CMDLINE' " 1>&2 + echo -n "$CMDLINE" | dd bs=512 count=1 conv=sync 2> /dev/null >> $bs + storelong $ArgPtrOfs $(( $SetupBase + $stacktop )) $bs + fi + + # Compute initramfs size + initrdlen=0 + for i in $( echo $INITRD | sed 's/,/ /' ); do + [ -s "$i" ] || continue + [ -n "$DEBUG" ] && echo "--initrd $i " 1>&2 + initrdlen=$(( ($initrdlen + $(stat -c %s $i) + 3) & -4 )) + done + if [ $initrdlen -ne 0 ]; then + [ -n "$DEBUG" ] && echo "initrdlen = $initrdlen " 1>&2 + storelong $RamfsAdrOfs \ + $(( (0x1000000 - $initrdlen) & 0xFFFF0000 )) $bs + storelong $RamfsLenOfs $initrdlen $bs + fi + + # Output boot sector + setup + cmdline + dd if=$bs 2> /dev/null + + # Output kernel code + dd if=$KERNEL bs=512 skip=$(( $setupszb + 1 )) 2> /dev/null + + # Pad to next sector + Kpad=$(( 512 - ($(stat -c %s $KERNEL) & 511) )) + [ $Kpad -eq 512 ] || dd if=/dev/zero bs=1 count=$Kpad 2> /dev/null + + # Output initramfs + padding=0 + for i in $( echo $INITRD | sed 's/,/ /' ); do + [ -s "$i" ] || continue + [ $padding -ne 0 ] && dd if=/dev/zero bs=1 count=$padding 2> /dev/null + dd if=$i 2> /dev/null + padding=$(( 4 - ($(stat -c %s $i) & 3) )) + [ $padding -eq 4 ] && padding=0 + done + + # Cleanup + rm -f $bs +} + +if [ "$FORMAT" == "0" ]; then # unsplitted + floppyset > $PREFIX + PAD=$(( 512 - ($(stat -c %s $PREFIX) % 512) )) + [ $PAD -ne 512 ] && dd if=/dev/zero bs=1 count=$PAD >> $PREFIX 2> /dev/null + exit +fi +floppyset | split -b ${FORMAT}k /dev/stdin floppy$$ +i=1 +ls floppy$$* | while read file ; do + output=$PREFIX$(printf "%03d" $i) + cat $file /dev/zero | dd bs=1k count=$FORMAT conv=sync of=$output 2> /dev/null + echo $output + rm -f $file + i=$(( $i + 1 )) +done diff -r 000000000000 -r 55f97ee147e8 download.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/download.php Fri Mar 23 19:37:38 2012 +0100 @@ -0,0 +1,38 @@ + diff -r 000000000000 -r 55f97ee147e8 helper --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helper Fri Mar 23 19:37:38 2012 +0100 @@ -0,0 +1,358 @@ +#!/bin/sh +# $0 kernel size [initrd] + +list_pkgs() +{ + TMPDIR=$2 + shift 2 + cat < + + +Package +Version +Description +Disk +Memory + + +EOT + for i in $TMPDIR/pkgs/*/receipt pkgs/*/receipt ; do + [ -s $i ] || continue + case "$i" in + pkgs/kernel-*/receipt) continue;; + pkgs/module-*/receipt) continue;; + esac + AUTO_SELECTION="" + UNPACKED_SIZE="-" + PACKED_SIZE="-" + checked="" + . $i + case " $@ " in + *\ $PACKAGE\ *) checked='checked="checked"';; + *) [ -n "$2" ] && checked="";; + esac + grep -qs "^$PACKAGE " $TMPDIR/uploadconf && + checked='checked="checked"' + if [ -n "$AUTO_SELECTION" ]; then + checked='checked="checked" disabled' + cat < +EOT + fi + cat < + +$PACKAGE +$VERSION +$SHORT_DESC +$PACKED_SIZE +$UNPACKED_SIZE +$(grep -qs ^config_form $i && echo '»') + +EOT + done + cat < +

+

+EOT + exit +} + +list_kernels() +{ + TMPDIR=$2 + shift 2 + cat < + + +Kernel +Version +Description + + +EOT + checked='checked="checked"' + for i in $TMPDIR/pkgs/*/receipt pkgs/*/receipt ; do + [ -s $i ] || continue + case "$i" in + pkgs/kernel-*/receipt);; + *) continue;; + esac + UNPACKED_SIZE="-" + . $i + case " $@ " in + *\ $PACKAGE\ *) checked='checked="checked"' ;; + *) [ -n "$2" ] && checked="";; + esac + cat < + +${PACKAGE#kernel-} +$VERSION +$SHORT_DESC + + +EOT + checked="" + done + cat < +EOT + exit +} + +list_modules() +{ + TMPDIR=$2 + shift 2 + cat < + + +Module +Version +Description +Size + + +EOT + for i in $TMPDIR/pkgs/*/receipt pkgs/*/receipt ; do + [ -s $i ] || continue + case "$i" in + pkgs/module-*/receipt);; + *) continue;; + esac + UNPACKED_SIZE="-" + . $i + checked="" + case " $@ " in + *\ $PACKAGE\ *) checked='checked="checked"' ;; + esac + grep -qs "^$PACKAGE " $TMPDIR/uploadconf && + checked='checked="checked"' + cat < + +${PACKAGE#module-} +$VERSION +$SHORT_DESC +$UNPACKED_SIZE +$(grep -qs ^config_form $i && echo '?') + +EOT + done + cat < +EOT + exit +} + +get_receipt() +{ + grep -l "PACKAGE=\"$1\"" $2/pkgs/*/receipt pkgs/*/receipt | head -1 +} + +get_package() +{ + local pkg + pkg=pkgs/$1/receipt + [ -s $pkg ] || pkg=$2/pkgs/$1/receipt + [ -s $pkg ] || pkg=$(get_receipt $@) + . $pkg + cd $(dirname $pkg) + pkg=$2$PACKAGE-$VERSION.tazpkg + find * | cpio -o -H newc > $pkg + echo -n $pkg +} + +get_note() +{ + pkg=$(get_receipt $1 $2) + [ -n "$pkg" ] || exit + grep -qs ^config_note $pkg || exit + . $pkg + config_note +} + +get_form() +{ + pkg=$(get_receipt $1 $2) + [ -n "$pkg" ] || exit + grep -qs ^config_form $pkg || exit + . $pkg + if [ -s $2/uploadconf ]; then + awk "{ +if (found) { + if (/^ /) print; + else exit; +} +if (/^$PACKAGE /) found=1 +}" < $2/uploadconf | sed -e 's/ //' -e 's/ \([A-Z_0-9]*=\)/export \1/' > $2/vars + . $2/vars + fi + config_form $2/fs + exit +} + +do_pre_install() +{ + pkg=$(get_receipt $1 $2) + [ -n "$pkg" ] || exit + CONFIG_FILES="" + . $pkg + grep -qs ^pre_install $pkg && pre_install $2/fs + [ -n "$CONFIG_FILES" ] && for i in $CONFIG_FILES; do echo $i >> $2/config_files; done + unlzma -c $(dirname $pkg)/fs.cpio.lzma | ( cd $2 ; cpio -idmu ) + exit +} + +do_post_install() +{ + pkg=$(get_receipt $1 $2) + [ -n "$pkg" ] || exit + . $pkg + echo "$1 $VERSION $(md5sum $(dirname $pkg)/fs.cpio.lzma | awk '{ print $1 }')" >> $2/fs/etc/packages.conf + if grep -qs ^post_install $pkg; then + . $2/vars + echo "=== $pkg: $(date) ===" >> $2/post_install.log 2>&1 + post_install $2/fs >> $2/post_install.log 2>&1 + sed -e 's/^export/ /' -e 's/^/ /' < $2/vars >> $2/fs/etc/packages.conf + fi + rm -f $2/vars + exit +} + +scan_depends() +{ + local pkg + for pkg in $@ ; do + case " $OUTPUT " in + *\ $pkg\ *) continue ;; + esac + DEPENDS="" + . $(get_receipt $pkg $TMPDIR) + scan_depends $DEPENDS + case " $OUTPUT " in + *\ $pkg\ *) continue ;; + esac + OUTPUT="$OUTPUT $pkg" + done +} + +get_depends() +{ + TMPDIR=$2 + shift 2 + OUTPUT="" + scan_depends $@ + echo -n $OUTPUT + exit +} + +pkgs_extract() +{ + cd $2 + mkdir pkgs + if cpio -t < $1 | grep -q receipt; then + mv $1 pkgs + elif tar tf $1 | grep -q tazpkg; then + tar xf $1 -C pkgs + elif tar tzf $1 | grep -q tazpkg; then + tar xzf $1 -C pkgs + elif tar tjf $1 | grep -q tazpkg; then + tar xjf $1 -C pkgs + else + rm -rf $1 pkgs + exit + fi + cd pkgs + for i in *; do + mkdir tmp + cd tmp + cpio -i < ../$i + . ./receipt + cd .. + mv tmp $PACKAGE-$VERSION + done + exit +} + +lzma_set_size() +{ + n=$(unlzma -c $1 | wc -c) + for i in $(seq 1 8); do + printf '\\\\x%02X' $(($n & 255)) + n=$(($n >> 8)) + done | xargs echo -en | dd of=$1 conv=notrunc bs=1 seek=5 2> /dev/null +} + +case "$1" in +--list-modules) list_modules $@ ;; +--list-kernels) list_kernels $@ ;; +--list-pkgs) list_pkgs $@ ;; +--get-form) get_form $2 $3 ;; +--get-note) get_note $2 $3 ;; +--pre-install) do_pre_install $2 $3 ;; +--post-install) do_post_install $2 $3 ;; +--depends) get_depends $@ ;; +--pkgs-extract) pkgs_extract $2 $3 ;; +--remove) rm -rf $2; exit ;; +--get-pkg) get_package $2 $3 ;; +esac + +if [ "x$1" == "x--mkrootfs" ]; then + tmp=$2 + cd $tmp/fs + if [ ! -d boot -a -s ../kernel ]; then # custom kernel + mkdir boot + cp ../kernel boot/bzImage + fi + find -user bellard -exec chown root.root {} \; + find | grep -v ^./boot | cpio -o -H newc | lzma e ../rootfs.gz -si + lzma_set_size ../rootfs.gz +fi +if [ "x$1" == "x--mkiso" ]; then + tmp=$2 + mkdir -p $tmp/iso/boot/isolinux $tmp/iso/data + cat $tmp/fs/boot/System.map | gzip -9 > $tmp/iso/data/sysmap.gz + cat $tmp/fs/boot/config | gzip -9 > $tmp/iso/data/linconf.gz + cat $tmp/fs/boot/config-busybox | gzip -9 > $tmp/iso/data/bbconf.gz + cp $tmp/config_files $tmp/iso/data/files.cnf + cp $tmp/fs/etc/packages.conf $tmp/iso/data/packages.cnf + cp $tmp/fs/boot/bzImage $tmp/iso/boot/bzImage + cp $tmp/rootfs.gz $tmp/iso/boot/rootfs + cp /boot/isolinux/isolinux.bin $tmp/iso/boot/isolinux + cat > $tmp/iso/boot/isolinux/isolinux.cfg < /dev/null 2>&1 + [ -x /usr/bin/isohybrid ] && + /usr/bin/isohybrid $tmp/slitaz.iso 2> /dev/null +fi +if [ "x$1" == "x--mkimg" ]; then + tmp=$2 + exe=$PWD + cd $tmp + $exe/bootloader fs/boot/bzImage --initrd rootfs.gz --format 0 + mv floppy. slitaz.img +# $exe/bootloader fs/boot/bzImage --initrd rootfs.gz +# cat floppy.* > slitaz.img && rm -f floppy.* +fi +if [ "x$1" == "x--mkcfg" ]; then + tmp=$2 + cd $tmp/fs + for i in $(sed 's#^/##' < ../config_files); do find $i; done | \ + sort | uniq | cpio -o -H newc | gzip -9 > ../config_files.cpio.gz +fi diff -r 000000000000 -r 55f97ee147e8 index.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/index.php Fri Mar 23 19:37:38 2012 +0100 @@ -0,0 +1,132 @@ + + + + + Tiny SliTaz - Builder + + + + + + + " /> + + + favicon.ico" /> + slitaz.css" /> + + + + + + + + + +
+ + +

Error :

+

$error

+
+"; ?> + +

Build your configuration from binary packages

+ + + + +
+

Tiny SliTaz goals

+

+ Useful software, expansible, easy to configure, runs fully in RAM, + simple, light and fast for minimum hardware resources: ie fits on + one floppy disk (IDE disk optional), runs on a 386sx processor and + needs as little memory as possible (currently 8 MB with a 2.6.34 + kernel). + + Example +

+
+ +
+

Why this builder ?

+

+ Tiny SliTaz should be as small as possible. Only the necessary + software is kept. The package manager is run using this website. +

+
+ +
+

How is it built ?

+

+ Tiny SliTaz uses a Linux kernel + with an + embedded filesystem. An extra initramfs can also be loaded with + the configuration and extra packages. +

+

+ The initramfs is based on uClibc and + busybox with its config + files and the packages + + slitaz-base-files and + + slitaz-boot-scripts. +

+
+ + + + + + + + + diff -r 000000000000 -r 55f97ee147e8 step1.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/step1.php Fri Mar 23 19:37:38 2012 +0100 @@ -0,0 +1,136 @@ + strtotime("-1 hour")) continue; + shell_exec("sudo ./helper --remove /tmp/$name"); + } + closedir($dir); + if (isset($_POST["tmp_dir"])) return; + $_POST["tmp_dir"] = tempnam('','tiny_webgen'); + if (file_exists($_POST["tmp_dir"])) unlink($_POST["tmp_dir"]); + mkdir($_POST["tmp_dir"]); + $_POST["tmp_dir"] .= '/'; +} + +set_tmp_dir(); + +function post_hidden() +{ + global $usedvars; + foreach ($usedvars as $var) { + if (isset($_POST[$var]) && $var != "continue" && + $var != "configuring") { +?> + + + +

+The file /etc/packages.conf in the initramfs holds all information +to rebuild your Tiny SliTaz system. You should upload your +/etc/packages.conf first if you want to upgrade your system only. +

+ +
"> +Packages configuration: + + + +
+ + +

+You can upload a tazpkg file (.tazpkg) or a tarball of tazpkg files (.tar). +These packages will extend the official packages list and will be chosen when +the package names are found to be matching. You can find some examples in the +Tiny SliTaz repository. +

+
+
"> +Additional packages: + + + +
+
+

+ +

+ + +

Linux kernel

+ +

+You can upload a custom kernel or use an official one. +Your kernel should have an embedded initramfs with busybox like +this one. +

+ +
+
"> +Custom kernel (bzImage file): + + + +
+
+ +
+
" method="post" name="kernels"> + +

+

+ +
+ +
+
+
+ + diff -r 000000000000 -r 55f97ee147e8 step2.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/step2.php Fri Mar 23 19:37:38 2012 +0100 @@ -0,0 +1,36 @@ + + + +

Additionnal modules

+ +
" method="post" name="packages"> + + +

+

+ +
+ +
+ +
+ + diff -r 000000000000 -r 55f97ee147e8 step3.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/step3.php Fri Mar 23 19:37:38 2012 +0100 @@ -0,0 +1,48 @@ + + + +

Additional RAM filesystem

+ +
" method="post" name="packages"> + + +

+

+ +
+ +
+ +
+ + diff -r 000000000000 -r 55f97ee147e8 step4.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/step4.php Fri Mar 23 19:37:38 2012 +0100 @@ -0,0 +1,60 @@ + $val) { + if (in_array($key, $usedvars)) continue; + fwrite($fp,"export ".$key."='".$val."'\n"); + } + fclose($fp); + shell_exec("sudo ./helper --post-install $pkg ".$_POST['tmp_dir']); +} + +$output = ''; +if (isset($_POST['toconfigure']) && $_POST['toconfigure'] != "") { + $pkgs = explode(" ",$_POST['toconfigure']); + foreach ($pkgs as $key => $pkg) { + shell_exec("sudo ./helper --pre-install $pkg ".$_POST['tmp_dir']); + $output = shell_exec("./helper --get-form $pkg ". + $_POST['tmp_dir']); + unset($pkgs[$key]); + $_POST['toconfigure'] = implode(" ", $pkgs); + if ($output == "") { + shell_exec("sudo ./helper --post-install $pkg ". + $_POST['tmp_dir']); + continue; + } +?> + + +

configuration

+ +
" method="post"> + + + +

+

+ +
+ +
+ +
+ + diff -r 000000000000 -r 55f97ee147e8 step5.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/step5.php Fri Mar 23 19:37:38 2012 +0100 @@ -0,0 +1,122 @@ + + + +

Get Tiny SliTaz files

+ +
" method="post" name="config"> + + +

Bootable images

+

+

+ + +  + + +
+

+ +

Files for bootloaders

+

+

+)" type="submit" /> +  +)" type="submit" /> +
+

+ +

Configuration info

+

+

+ +  +)" type="submit" /> +
+

+ + +

Debug info

+

+

+)" type="submit" /> +  +)" type="submit" /> +
+

+

+

+)" type="submit" /> +  +)" type="submit" /> +
+

+ + +
+ +

Going further

+

+Tiny SliTaz should be smaller to have more functionality +and/or needs less RAM.
+The kernel can be tuned/patched +or you can use an earlier version. +

+

+You can test Tiny SliTaz without pre-historic hardware using qemu: +

+
+qemu -cpu 486 -m 8 -net nic,model=ne2k_isa -net tap -fda slitaz.img
+
+

+Or +

+
+qemu -cpu 486 -m 8 -net nic,model=ne2k_isa -net tap -snapshot \
+     -kernel kernel -initrd rootfs.gz /dev/zero
+
+

+And the executable file /etc/qemu-ifup: +

+
+#!/bin/sh
+
+if [ -x /usr/sbin/openvpn ]; then
+	openvpn --mktun --dev $1 --user `id -un`
+else
+	tunctl -u `id -un` -t $1                           
+fi                              
+ifconfig $1 192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0
+
+

+You can also update the file /etc/resolv.conf on the Tiny SliTaz guest with your +nameserver(s) and enable the ip routing on your desktop: +

+
+# echo 1 > /proc/sys/net/ipv4/ip_forward
+# yes y | tazpkg get-install iptables
+# iptables -t nat -A POSTROUTING -j MASQUERADE
+
+ + diff -r 000000000000 -r 55f97ee147e8 tiny.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tiny.css Fri Mar 23 19:37:38 2012 +0100 @@ -0,0 +1,14 @@ + +#header { + border-bottom: 6px solid #d66018; + color: #ffffff; + font-weight: bold; +} + +#copy { + text-align: center; +} + +#bottom { + text-align: center; +} diff -r 000000000000 -r 55f97ee147e8 tinyslitaz-boot.png Binary file tinyslitaz-boot.png has changed diff -r 000000000000 -r 55f97ee147e8 tinyslitaz-httpinfo.png Binary file tinyslitaz-httpinfo.png has changed diff -r 000000000000 -r 55f97ee147e8 tinyslitaz.png Binary file tinyslitaz.png has changed