slitaz-tools annotate tinyutils/frugal @ rev 1025
More German translations (thanks kubepc)
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Mon Oct 09 17:09:01 2017 +0200 (2017-10-09) |
parents | 5d80f6fdbdb7 |
children |
rev | line source |
---|---|
pankso@817 | 1 #!/bin/sh |
pankso@817 | 2 # |
pankso@817 | 3 # Frugal is a tiny tool to handle SliTaz frugal installation. |
pankso@817 | 4 # |
al@939 | 5 # Copyright (C) 2013-2015 SliTaz GNU/Linux - BSD License |
pankso@817 | 6 # |
pankso@817 | 7 # Author: Christophe Lincoln <pankso@slitaz.org> |
pankso@817 | 8 # |
al@939 | 9 |
pankso@817 | 10 . /lib/libtaz.sh |
pankso@817 | 11 |
pankso@817 | 12 [ "$root" ] || root="/boot/frugal" |
pankso@817 | 13 |
al@939 | 14 |
pankso@817 | 15 # NOTES: |
pankso@817 | 16 # Have a --web option to dl ISO ? |
pankso@817 | 17 # Auto configure GRUB ? |
pankso@817 | 18 # |
pankso@817 | 19 |
al@939 | 20 |
pankso@817 | 21 # Internationalization |
al@939 | 22 |
al@943 | 23 export TEXTDOMAIN='slitaz-tools' |
pankso@817 | 24 |
al@939 | 25 |
pankso@817 | 26 # |
pankso@817 | 27 # Functions |
pankso@817 | 28 # |
pankso@817 | 29 |
al@939 | 30 |
pankso@817 | 31 # Small help and usage. |
al@939 | 32 |
pankso@817 | 33 usage() { |
pankso@817 | 34 name=$(basename $0) |
pankso@817 | 35 cat << EOT |
pankso@817 | 36 |
al@943 | 37 $(boldify $(_n 'Usage:')) $name [iso|command] [--options] |
pankso@817 | 38 |
al@943 | 39 $(_n 'SliTaz frugal installation') |
pankso@817 | 40 |
al@943 | 41 $(boldify $(_n 'Commands:')) |
al@943 | 42 info $(_n 'Display install path and size stats') |
al@943 | 43 clean $(_n 'Remove all frugal files') |
al@943 | 44 grub-ex $(_n 'Show GRUB configuration example') |
pankso@817 | 45 |
al@943 | 46 $(boldify $(_n 'Options:')) |
al@943 | 47 --root= $(_n 'Set root installation path') |
al@943 | 48 --debug $(_n 'Display some useful debug information') |
pankso@817 | 49 |
al@943 | 50 $(boldify $(_n 'Examples:')) |
pankso@817 | 51 $name slitaz-rolling.iso |
pankso@817 | 52 $name slitaz-5.0.iso --root=/boot/frugal |
pankso@817 | 53 |
pankso@817 | 54 EOT |
pankso@817 | 55 } |
pankso@817 | 56 |
al@939 | 57 |
pankso@817 | 58 # GRUB config example. |
al@939 | 59 |
pankso@817 | 60 grub_example() { |
al@943 | 61 cat <<EOT |
pankso@817 | 62 title SliTaz GNU/Linux (frugal) |
pankso@817 | 63 root (hd0,0) |
pankso@817 | 64 kernel /boot/frugal/bzImage root=/dev/null lang=en kmap=us |
pankso@817 | 65 initrd /boot/frugal/rootfs.gz |
pankso@817 | 66 EOT |
pankso@817 | 67 } |
pankso@817 | 68 |
al@939 | 69 |
pankso@817 | 70 # |
pankso@817 | 71 # Commands |
pankso@817 | 72 # |
pankso@817 | 73 |
pankso@817 | 74 case "$1" in |
pankso@817 | 75 "") usage ;; |
pankso@817 | 76 info) |
al@943 | 77 title 'Frugal info' |
al@939 | 78 |
pankso@817 | 79 # First check if we are running in frugal mode |
pankso@817 | 80 if fgrep -q 'root=/dev/null' /proc/cmdline; then |
al@943 | 81 _ 'Frugal system running detected' |
al@943 | 82 footer; exit 0 |
pankso@817 | 83 fi |
al@943 | 84 _n 'Installation directory:'; indent 30 $(colorize 36 "$root") |
al@943 | 85 _n 'Kernel size:' |
pankso@817 | 86 if [ -f "${root}/bzImage" ]; then |
pankso@817 | 87 indent 30 $(du -sh ${root}/bzImage | awk '{print $1}') |
pankso@817 | 88 else |
al@943 | 89 indent 30 $(boldify 'N/A') |
pankso@817 | 90 fi |
al@943 | 91 _n 'Rootfs size:' |
pankso@817 | 92 if [ -f "${root}/rootfs.gz" ]; then |
pankso@817 | 93 indent 30 $(du -sh ${root}/rootfs.gz | awk '{print $1}') |
pankso@817 | 94 else |
al@943 | 95 indent 30 $(boldify 'N/A') |
pankso@817 | 96 fi |
al@943 | 97 footer ;; |
pankso@817 | 98 clean) |
pankso@817 | 99 check_root |
al@943 | 100 _n 'Cleaning:'; echo " $root" |
pankso@817 | 101 rm -rf ${root}/* ;; |
pankso@817 | 102 grub-ex) |
al@943 | 103 title 'GRUB config example' |
pankso@817 | 104 grub_example |
al@943 | 105 footer ;; |
pankso@817 | 106 *) |
pankso@817 | 107 iso="$1" |
pankso@817 | 108 loop="/tmp/frugal-$$" |
pankso@817 | 109 check_root |
al@943 | 110 title 'SliTaz Frugal' |
pankso@817 | 111 if [ ! -f "$iso" ]; then |
al@943 | 112 _n 'Unable to find ISO image:'; colorize 31 " $iso" |
al@943 | 113 newline; return 1 |
pankso@817 | 114 fi |
pankso@839 | 115 mkdir -p ${root} |
pankso@817 | 116 debug "$iso $root" |
al@943 | 117 _n 'Mounting ISO image...' |
pankso@817 | 118 mkdir -p ${loop} |
pankso@817 | 119 mount -o loop "$iso" ${loop} 2>/dev/null |
pankso@817 | 120 status |
al@943 | 121 |
al@943 | 122 _n 'Installing the Kernel...' |
pankso@817 | 123 cp -a ${loop}/boot/bzImage ${root} |
pankso@817 | 124 status |
al@943 | 125 |
al@943 | 126 _n 'Installing the root filesystem...' |
pankso@817 | 127 if [ -f ${loop}/boot/rootfs1.gz ]; then |
pankso@817 | 128 cd ${loop}/boot |
pankso@817 | 129 cat $(ls -r rootfs*.gz) > ${root}/rootfs.gz |
pankso@817 | 130 cd - >/dev/null |
pankso@817 | 131 else |
pankso@817 | 132 cp -a ${loop}/boot/rootfs.gz ${root} |
pankso@817 | 133 fi |
pankso@817 | 134 status |
al@939 | 135 |
pankso@817 | 136 # Umount the loop device |
al@943 | 137 _n 'Unmounting ISO image...' |
pankso@817 | 138 sleep 1 |
pankso@817 | 139 umount ${loop} && rm -rf ${loop} |
pankso@817 | 140 status |
al@943 | 141 |
al@943 | 142 footer ;; |
pankso@817 | 143 esac |
pankso@817 | 144 |
pankso@817 | 145 exit 0 |