slitaz-dev-tools diff mirror-tools/slitaz/mirror/pxe/mkcfg.sh @ rev 10
Add mirror-tools/slitaz folder.
author | Christopher Rogers <slaxemulator@gmail.com> |
---|---|
date | Thu Feb 24 02:26:10 2011 +0000 (2011-02-24) |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/mirror-tools/slitaz/mirror/pxe/mkcfg.sh Thu Feb 24 02:26:10 2011 +0000 1.3 @@ -0,0 +1,176 @@ 1.4 +#!/bin/sh 1.5 + 1.6 +#usage: 1.7 +# copy /boot/isolinux/* <version> 1.8 +# remove *.cfg 1.9 +# copy then update /boot/isolinux/isolinux.cfg <version>core.cfg 1.10 + 1.11 +cd $(dirname $0) 1.12 + 1.13 +# Status functions. 1.14 +status() 1.15 +{ 1.16 + local CHECK=$? 1.17 + echo -en "\\033[70G[ " 1.18 + if [ $CHECK = 0 ]; then 1.19 + echo -en "\\033[1;33mOK" 1.20 + else 1.21 + echo -en "\\033[1;31mFailed" 1.22 + fi 1.23 + echo -e "\\033[0;39m ]" 1.24 +} 1.25 + 1.26 +directlinks() 1.27 +{ 1.28 + mkdir $1/$2 1.29 + ln -s .. $1/$2/$1 1.30 + ln -s ../$2.cfg $1/$2/default 1.31 + ln -s ../../pxelinux.0 $1/$2/pxelinux.0 1.32 + ln -s . $1/$2/pxelinux.cfg 1.33 + [ -e $1/boot ] || ln -s ../../boot $1/boot 1.34 +} 1.35 +for version in cooking $(ls ../boot | grep 0$) ; do 1.36 + 1.37 +[ "$version" = "1.0" ] && continue 1.38 +echo -n "Building $version" 1.39 +for i in splash.lss isolinux.msg core.cfg ; do 1.40 + [ -s $version/$i ] && continue 1.41 + echo -n " $version/$i not found !" 1.42 + false 1.43 + status 1.44 + continue 2 1.45 +done 1.46 +if ! grep -q $version/splash.lss $version/isolinux.msg ; then 1.47 + echo "WARNING: please update $version/isolinux.msg with $version/splash.lss" 1.48 +fi 1.49 +rm -f $version/*-*.cfg 1.50 +( cd ../boot/$version ; ls rootfs-*.gz 2> /dev/null ) | \ 1.51 +sed 's/rootfs-\(.*\).gz/\1/' | while read flavor; do 1.52 + lowcased=$(echo $flavor | tr [A-Z] [a-z]) 1.53 + if [ "$lowcased" != "$flavor" ]; then 1.54 + echo "" 1.55 + echo "Warning : renaming ../boot/$version/rootfs-$flavor.gz to ../boot/$version/rootfs-$lowcased.gz" 1.56 + mv ../boot/$version/rootfs-$flavor.gz ../boot/$version/rootfs-$lowcased.gz 1.57 + flavor=$lowcased 1.58 + fi 1.59 + [ -f $version/$flavor.cfg ] && continue 1.60 + cp $version/core.cfg $version/$flavor.cfg 1.61 + sed -i -e "s/core-common/$flavor-common/" \ 1.62 + -e "s/^label slitaz$/say Using $flavor flavor.\nlabel slitaz/" \ 1.63 + -e "s/rootfs.gz/rootfs-$flavor.gz/" $version/$flavor.cfg 1.64 + directlinks $version $flavor 1.65 +done 1.66 +for flavor in $(cd $version ; ls *.cfg | sed 's/.cfg//') ; do 1.67 + echo -n " $flavor" 1.68 + cat > $version/$flavor-common.cfg <<EOT 1.69 +default slitaz 1.70 +label deCH 1.71 + config $version/$flavor-de_CH.cfg 1.72 +label frCH 1.73 + config $version/$flavor-fr_CH.cfg 1.74 +label reboot 1.75 + com32 reboot.c32 1.76 + 1.77 +implicit 0 1.78 +prompt 1 1.79 +timeout 80 1.80 +F1 $version/help.txt 1.81 +F2 $version/options.txt 1.82 +F3 $version/isolinux.msg 1.83 +F4 $version/display.txt 1.84 +F5 $version/enhelp.txt 1.85 +F6 $version/enopts.txt 1.86 + 1.87 +EOT 1.88 + while read cfg kbd loc ; do 1.89 + if [ ! -f $version/$cfg.kbd ]; then 1.90 + echo "" 1.91 + echo "Not found: $version/$cfg.kbd" 1.92 + fi 1.93 + info="Now using $kbd keyboard and $loc locale." 1.94 + sed -e "s/^display/kbdmap $version\/$cfg.kbd\ndisplay/" \ 1.95 + -e "s/^label slitaz$/say $info\nlabel slitaz/" \ 1.96 + -e "s/gz/gz lang=$loc kmap=$kbd/" \ 1.97 + < $version/$flavor.cfg > $version/$flavor-$cfg.cfg 1.98 + cat >> $version/$flavor-common.cfg <<EOT 1.99 +label $cfg 1.100 + config $version/$flavor-$cfg.cfg 1.101 +EOT 1.102 + done <<EOT 1.103 +be be-latin1 fr_FR 1.104 +br br-abnt2 pt_PT 1.105 +ca cf fr_FR 1.106 +de de-latin1 de_DE 1.107 +de_CH de_CH-latin1 de_DE 1.108 +en uk C 1.109 +es es es_ES 1.110 +fi fi-latin1 fi 1.111 +fr fr-latin1 fr_FR 1.112 +fr_CH fr_CH-latin1 fr_FR 1.113 +hu hu hu 1.114 +it it it_IT 1.115 +jp jp106 jp_JP 1.116 +pt pt-latin1 pt_PT 1.117 +ru ru ru_RU 1.118 +us us C 1.119 +EOT 1.120 +done 1.121 +status 1.122 + 1.123 +done 1.124 + 1.125 +echo -n "Building 1.0" 1.126 +rm -f 1.0/*-*.cfg 1.127 +( cd ../boot/1.0 ; ls rootfs-*.gz 2> /dev/null ) | \ 1.128 +sed 's/rootfs-\(.*\).gz/\1/' | while read flavor; do 1.129 + [ -f 1.0/$flavor.cfg ] && continue 1.130 + cp 1.0/core.cfg 1.0/$flavor.cfg 1.131 + sed -i -e "s/core-common/$flavor-common/" \ 1.132 + -e "s/rootfs.gz/rootfs-$flavor.gz/" 1.0/$flavor.cfg 1.133 + directlinks 1.0 $flavor 1.134 +done 1.135 +directlinks 1.0 core 1.136 +for flavor in $(cd 1.0; ls *.cfg | sed 's/.cfg//') ; do 1.137 + echo -n " $flavor" 1.138 + cat > 1.0/$flavor-common.cfg <<EOT 1.139 +default slitaz 1.140 + 1.141 +label def 1.142 + config 1.0/$flavor.cfg 1.143 + 1.144 +label reboot 1.145 + com32 reboot.c32 1.146 + 1.147 +implicit 0 1.148 +prompt 1 1.149 +timeout 80 1.150 +F1 1.0/help.txt 1.151 +F2 1.0/options.txt 1.152 +F3 1.0/isolinux.msg 1.153 +F4 1.0/display.txt 1.154 +EOT 1.155 + while read cfg kbd loc ; do 1.156 + if [ ! -f 1.0/$cfg.kbd ]; then 1.157 + echo "" 1.158 + echo "Not found: 1.0/$cfg.kbd" 1.159 + fi 1.160 + sed -e "s/^display/KBDMAP 1.0\/$cfg.kbd\ndisplay/" \ 1.161 + -e "s/gz/gz lang=$loc kmap=$kbd/" \ 1.162 + < 1.0/$flavor.cfg > 1.0/$flavor-$cfg.cfg 1.163 + cat >> 1.0/$flavor-common.cfg <<EOT 1.164 +label $cfg 1.165 + config 1.0/$flavor-$cfg.cfg 1.166 +EOT 1.167 + done <<EOT 1.168 +be be fr 1.169 +ca ca fr 1.170 +de_CH fr_CH fr_CH 1.171 +en en en 1.172 +es es en 1.173 +fr fr fr 1.174 +fr_CH fr_CH fr_CH 1.175 +it it en 1.176 +us us en 1.177 +EOT 1.178 +done 1.179 +status