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