[c5c522c] | 1 | #!/bin/bash |
---|
| 2 | if [ ! "$1" ]; then |
---|
| 3 | echo "Syntax: $0 <updateversie> [nonewcd] [nobuild] [...] [extra.list]" |
---|
| 4 | echo " updateversie: versie uit de shop die je wilt maken. " |
---|
| 5 | echo " nonewcd: maak live omgeving niet opnieuw (sneller)" |
---|
| 6 | echo " qemu: niet fikken, maar qemu runnen" |
---|
| 7 | echo " vmware: niet fikken, maar vmware runnen" |
---|
| 8 | echo " nopkg: geen packages op cd, alleen initrd testen" |
---|
| 9 | echo " nolive: geen live omgeving op cd (sneller voor initrd tests)" |
---|
| 10 | echo " fast: recompress alle package met minimale compressie, zodat installen sneller gaat" |
---|
| 11 | echo " regres: Start installer automatisch en fix ssh toegang op \$IP. (omgevings variabelle)" |
---|
| 12 | echo " fik: Fik een cd aan het einde, met het fik commando." |
---|
| 13 | echo " nointernet: Als je momenteel geen internet hebt. gebruik gecachede versie" |
---|
| 14 | echo " minimal: Kopieer alleen de base packages, zodat je een kleinere install cd hebt maar wel meer moet downloaden tijdens het installeren. Handig voor kleine usb sticks en minicds" |
---|
| 15 | echo |
---|
| 16 | echo "USBSTICK=/dev/... ./mkcd blabla om BOOTABLE USB stick/harddisk te maken ipv .iso" |
---|
| 17 | echo |
---|
| 18 | echo |
---|
| 19 | echo "Standaard syn-3 cd:" |
---|
| 20 | echo "./mkcd 4.1rc3" |
---|
| 21 | echo "Geeft eventueel extra .list files op voor specifieke project cd's:" |
---|
| 22 | echo "./mkcd 4.1rc3 onvelvet.list" |
---|
| 23 | echo "./mkcd 4.1rc3 ismart.list" |
---|
| 24 | echo "Regressie test cd:" |
---|
| 25 | echo "IP=10.73.57.2 ./mkcd 4.1rc3 regres" |
---|
| 26 | exit 1 |
---|
| 27 | fi |
---|
| 28 | UPDATE_VERSION=$1 |
---|
| 29 | shift |
---|
| 30 | for PAR in $*; do eval "$PAR=1" &>/dev/null; done |
---|
| 31 | |
---|
| 32 | if ! which tar-1.13; then |
---|
| 33 | echo "Je hebt geen tar-1.13 in je path! Zie wiki." |
---|
| 34 | exit 1 |
---|
| 35 | fi |
---|
| 36 | |
---|
| 37 | |
---|
| 38 | if ! mksquashfs -version; then |
---|
| 39 | echo "You need mksquashfs version 3.x. Version 4 is NOT SUPPORTED!"; |
---|
| 40 | exit 1 |
---|
| 41 | fi |
---|
| 42 | |
---|
| 43 | ########################################### |
---|
| 44 | ########################################### VOORBEREIDING |
---|
| 45 | ########################################### |
---|
| 46 | |
---|
| 47 | #Niet rm-en, omdat anders alle gedownloade dingen ook weggaan! |
---|
| 48 | #rm -r ../npl/.tmp &>/dev/null |
---|
| 49 | rm ../npl/.tmp/builded &>/dev/null |
---|
| 50 | mkdir ../npl/.tmp &>/dev/null |
---|
| 51 | |
---|
| 52 | BUILDROOT=`pwd` |
---|
| 53 | INSTALLPACKAGE=/sbin/installpkg |
---|
| 54 | ISOLINUXDIR="$BUILDROOT/isolinux" |
---|
| 55 | CDROOT=/tmp/cdroot |
---|
| 56 | PKGCACHE=$BUILDROOT/.pkgcache |
---|
| 57 | mkdir $PKGCACHE &>/dev/null |
---|
| 58 | |
---|
| 59 | URL_LIST="http://www.syn-3.eu/mosaddphp/regserver_2/regserver/getlatestupdates.php?version=$UPDATE_VERSION" |
---|
| 60 | URL_GET="http://www.syn-3.eu/mosaddphp/regserver_2/regserver/getupdate.php?noauth=1&pkgname=" |
---|
| 61 | |
---|
| 62 | # Kijken of de shit gecleaned moet worden voor een nieuwe cd :-) |
---|
| 63 | if ! [ "$nonewcd" ]; then |
---|
| 64 | rm -rf $CDROOT |
---|
| 65 | fi |
---|
| 66 | |
---|
| 67 | |
---|
| 68 | # Controleer of we als root werken, ivm het gebruik van pkgtools |
---|
| 69 | if [ $UID != "0" ]; then |
---|
| 70 | echo "You are not root, type \"su -\" and try again! :-) " |
---|
| 71 | exit 0 |
---|
| 72 | fi |
---|
| 73 | |
---|
| 74 | #Bepaal EXTRA custom listfiles die op cd moeten en geinstalled moeten worden: |
---|
| 75 | EXTRA_LISTS= |
---|
| 76 | for PAR in $*; do |
---|
| 77 | if echo $PAR | grep list >/dev/null; then |
---|
| 78 | EXTRA_LISTS="$EXTRA_LISTS $PAR" |
---|
| 79 | fi |
---|
| 80 | done |
---|
| 81 | |
---|
| 82 | |
---|
| 83 | ########################################### |
---|
| 84 | ########################################### PACKAGES VERZAMELLEN |
---|
| 85 | ########################################### en controleren |
---|
| 86 | |
---|
| 87 | #Het verzamellen van pakketjes gaat als volgt: |
---|
| 88 | # 1. Alle laatste versies van de shop van alle pakketjes, met de gespecifiseerde update versie. |
---|
| 89 | # 2. Er word gezorgt dat we in elk geval alles uit base.list hebben. Zoniet dan gebruiken |
---|
| 90 | # we de lokale versie. |
---|
| 91 | # 3. De extra lists worden toegevoegd: hiervoor word altijd de lokale versie gebruikt! |
---|
| 92 | # Met deze lists kun je dus ook versies uit de shop 'overrulen'. |
---|
| 93 | # |
---|
| 94 | # Aan de hand van baselist en de extra lists word een install.list gemaakt voor de installer met |
---|
| 95 | # daarin de specifiek te installeren versie nummers. |
---|
| 96 | # |
---|
| 97 | # De rest van de CD word aan de hand van de bovenstaande packages gemaakt. |
---|
| 98 | # Dus de kernel, en livecd installer omgeving. |
---|
| 99 | # |
---|
| 100 | # Niet alle pakketjes komen op de CD ivm ruimte besparing. De pakketjes in de extra list files |
---|
| 101 | # zullen uiteraard NOOIT gefilterd worden. |
---|
| 102 | |
---|
| 103 | CDPKG="$CDROOT/packages" |
---|
| 104 | rm -r "$CDPKG" 2>/dev/null |
---|
| 105 | mkdir -p $CDPKG |
---|
| 106 | |
---|
| 107 | if [ ! "$nointernet" ]; then |
---|
| 108 | echo -n "* Update lijst ophalen..." |
---|
| 109 | lynx -source "$URL_LIST" > $PKGCACHE/download |
---|
| 110 | if grep "initrd-" $PKGCACHE/download >/dev/null; then |
---|
| 111 | mv $PKGCACHE/download $PKGCACHE/list |
---|
| 112 | echo "OK" |
---|
| 113 | else |
---|
| 114 | echo "Mislukt! Gebruik 'nointernet' als je internet problemen hebt:" |
---|
| 115 | cat $PKGCACHE/download |
---|
| 116 | exit 1 |
---|
| 117 | fi |
---|
| 118 | fi |
---|
| 119 | |
---|
| 120 | if ! [ -e $PKGCACHE/list ]; then |
---|
| 121 | echo "Laatst gedownloade update list niet gevonden!" |
---|
| 122 | exit 1 |
---|
| 123 | fi |
---|
| 124 | |
---|
| 125 | |
---|
| 126 | #download alle pakketjes uit de list naar de lokale cache. |
---|
| 127 | echo " * Lokale cache van shop updates bijwerken:" |
---|
| 128 | cat $PKGCACHE/list | while read UPDATE; do |
---|
| 129 | PKGNAME=`echo "$UPDATE" | cut -f1 -d' '` |
---|
| 130 | PKGOPT=`echo "$UPDATE" | cut -f2 -d' '` |
---|
| 131 | SIZE=`echo "$UPDATE" | cut -f3 -d' '` |
---|
| 132 | echo -n "$PKGNAME..." |
---|
| 133 | CACHESIZE=`stat -c %s $PKGCACHE/$PKGNAME.tgz 2>/dev/null` |
---|
| 134 | if [ "$CACHESIZE" == "$SIZE" ]; then |
---|
| 135 | echo "OK" |
---|
| 136 | else |
---|
| 137 | URL="$URL_GET`echo "$PKGNAME" | sed 's/+/%2B/g'`" |
---|
| 138 | echo -n "downloading $URL :" |
---|
| 139 | lynx -source "$URL" > $PKGCACHE/download || exit 1 |
---|
| 140 | gzip -t $PKGCACHE/download || exit 1 |
---|
| 141 | #verwijder alle andere versies van het zelfde pakketje: |
---|
| 142 | SHORTPKG=`echo $PKGNAME | cut -f1 -d-` |
---|
| 143 | rm $PKGCACHE/$SHORTPKG-* &>/dev/null |
---|
| 144 | #move gedownloade versie in place |
---|
| 145 | mv "$PKGCACHE/download" "$PKGCACHE/$PKGNAME.tgz" || exit 1 |
---|
| 146 | echo "OK" |
---|
| 147 | fi |
---|
| 148 | done || exit 1 |
---|
| 149 | |
---|
| 150 | #verwijderen oude zooi |
---|
| 151 | for TGZ in $PKGCACHE/*.tgz; do |
---|
| 152 | PKGNAME=`basename $TGZ | sed 's/.tgz$//'` |
---|
| 153 | if ! grep $PKGNAME $PKGCACHE/list >/dev/null; then |
---|
| 154 | echo "Deleting old $PKGNAME from cache." |
---|
| 155 | rm $TGZ || exit 1 |
---|
| 156 | fi |
---|
| 157 | done |
---|
| 158 | |
---|
| 159 | |
---|
| 160 | if [ "$nopkg" != 1 ] && [ "$minimal" != 1 ]; then |
---|
| 161 | echo |
---|
| 162 | echo " * Update packages op cd kopieren (gebruik 'minimal' om deze er niet op te zetten, of nopkg als je helemaal geen pakketjes wilt)..." |
---|
| 163 | cat $PKGCACHE/list | while read UPDATE; do |
---|
| 164 | PKGNAME=`echo $UPDATE | cut -f1 -d' '` |
---|
| 165 | PKGOPT=`echo $UPDATE | cut -f2 -d' '` |
---|
| 166 | #Filteren van bepaalde packages ivm ruimtebesparing. |
---|
| 167 | #Onderandere X word niet gebruikt in bijna alle producten. |
---|
| 168 | echo -n "$PKGNAME: " |
---|
| 169 | if echo $PKGOPT | egrep '^X|^PP|^PI|^D|^O|^MO|^WSC' >/dev/null; then |
---|
| 170 | echo "Filtered" |
---|
| 171 | else |
---|
| 172 | cp $PKGCACHE/$PKGNAME.tgz $CDPKG || exit 1 |
---|
| 173 | echo "OK" |
---|
| 174 | fi |
---|
| 175 | done |
---|
| 176 | fi |
---|
| 177 | |
---|
| 178 | echo |
---|
| 179 | echo " * Zorgendat base.list in elk geval op de CD staat (nopkg om te skippen):" |
---|
| 180 | for SHORTPKG in `cat base.list`; do |
---|
| 181 | #staat nog niet op cd? |
---|
| 182 | if ! [ -e $CDPKG/$SHORTPKG-* ]; then |
---|
| 183 | echo -n "$SHORTPKG: " |
---|
| 184 | if [ "$nopkg" ] && [ "$SHORTPKG" != "linux" ] && [ "$SHORTPKG" != "initrd" ]; then |
---|
| 185 | echo "(skipped by nopkg-option)" |
---|
| 186 | elif ! [ -e $PKGCACHE/$SHORTPKG-* ]; then |
---|
| 187 | echo -n "$SHORTPKG update ontbreekt. SVN: " |
---|
| 188 | TGZ=`../npl/findpkg "$SHORTPKG"` || exit 1 |
---|
| 189 | gzip -t $TGZ || exit 1 |
---|
| 190 | echo -n "$TGZ..." |
---|
| 191 | cp "$TGZ" "$CDPKG" || exit 1 |
---|
| 192 | echo "OK" |
---|
| 193 | else |
---|
| 194 | echo -n $PKGCACHE/$SHORTPKG-* ... |
---|
| 195 | cp $PKGCACHE/$SHORTPKG-* $CDPKG || exit 1 |
---|
| 196 | echo "OK" |
---|
| 197 | fi |
---|
| 198 | fi |
---|
| 199 | done |
---|
| 200 | |
---|
| 201 | if [ "$EXTRA_LISTS" ]; then |
---|
| 202 | echo |
---|
| 203 | echo " * Packages uit $EXTRA_LISTS op CD overulen met SVN versies:" |
---|
| 204 | for SHORTPKG in `cat $EXTRA_LISTS`; do |
---|
| 205 | echo -n "$SHORTPKG..." |
---|
| 206 | TGZ=`../npl/findpkg "$SHORTPKG"` || exit 1 |
---|
| 207 | echo -n "$TGZ..." |
---|
| 208 | if rm $CDPKG/$SHORTPKG-* &>/dev/null; then |
---|
| 209 | echo -n "Replacing..." |
---|
| 210 | else |
---|
| 211 | echo -n "Adding..." |
---|
| 212 | fi |
---|
| 213 | gzip -t $TGZ || exit 1 |
---|
| 214 | cp "$TGZ" "$CDPKG" || exit 1 |
---|
| 215 | echo "OK" |
---|
| 216 | done |
---|
| 217 | fi |
---|
| 218 | |
---|
| 219 | #listfile voor de installer op cd zetten |
---|
| 220 | cat base.list $EXTRA_LISTS |sort | uniq > $CDPKG/install.list || exit 1 |
---|
| 221 | |
---|
| 222 | ########################################### |
---|
| 223 | ########################################### VERSIE BEPALEN |
---|
| 224 | ########################################### |
---|
| 225 | |
---|
| 226 | echo "* Versie nummer van deze CD bepalen... (nover om over te slaan)"; |
---|
| 227 | #SVNSTATUS=`svn status -v "../npl/version"` || exit 1 |
---|
| 228 | #BUILD=`echo "$SVNSTATUS" | cut -b14- | cut -f1 -d' '` |
---|
| 229 | if [ "$nover" ]; then |
---|
| 230 | BUILD='none' |
---|
| 231 | else |
---|
| 232 | BUILD=`svnversion ..` |
---|
| 233 | fi |
---|
| 234 | |
---|
| 235 | VERSION="syn3-$UPDATE_VERSION-$BUILD-`date +%d%m%Y-%H%M`" || exit 1 |
---|
| 236 | VERSION=`echo "$VERSION"|sed s/:/to/|sed 's/ //g'` || exit 1 |
---|
| 237 | |
---|
| 238 | echo "Versie: $VERSION"; |
---|
| 239 | |
---|
| 240 | ########################################### |
---|
| 241 | ########################################### GRUB BOOTLOADER |
---|
| 242 | ########################################### |
---|
| 243 | |
---|
| 244 | echo |
---|
| 245 | echo "* Initrd en kernel en grub fixen op cd" |
---|
| 246 | |
---|
| 247 | |
---|
| 248 | #installeer grub op CD |
---|
| 249 | #rm -r $CDROOT/boot/grub &>/dev/null |
---|
| 250 | #mkdir -p $CDROOT/boot/grub &>/dev/null |
---|
| 251 | #cp grub/*stage* $CDROOT/boot/grub || exit 1 |
---|
| 252 | #cp grub/syn3installer.xpm.gz $CDROOT/boot/grub || exit 1 |
---|
| 253 | |
---|
| 254 | #dynamisch opgebouwd grub menu |
---|
| 255 | #( |
---|
| 256 | # #bij een regressietest booten we gelijk door: |
---|
| 257 | # if [ "$regres" ]; then |
---|
| 258 | # echo "timeout 1" |
---|
| 259 | # echo "default 1" |
---|
| 260 | # fi |
---|
| 261 | # cat grub/menu.lst || exit 1 |
---|
| 262 | #) | sed "s/%v/$UPDATE_VERSION/g" > $CDROOT/boot/grub/menu.lst || exit 1 |
---|
| 263 | |
---|
| 264 | #cat grub/menutxt.lst | sed "s/%v/$UPDATE_VERSION/g" > $CDROOT/boot/grub/menutxt.lst || exit 1 |
---|
| 265 | cp -r isolinux $CDROOT/ || exit 1 |
---|
| 266 | sed "s/%major%/$UPDATE_VERSION/g" -i $CDROOT/isolinux/*.cfg || exit 1 |
---|
| 267 | sed "s/%version%/$VERSION/g" -i $CDROOT/isolinux/*.cfg || exit 1 |
---|
| 268 | |
---|
| 269 | |
---|
| 270 | #kernel op cd |
---|
| 271 | echo "Kernel fixen..."; |
---|
| 272 | KVER=`echo $CDPKG/linux-* | cut -f2 -d-` |
---|
| 273 | echo "Kernel versie $KVER" |
---|
| 274 | tar -C $CDROOT --wildcards -xvzf $CDPKG/linux-* "*bzImage.test" || exit 1 |
---|
| 275 | mv $CDROOT/boot/bzImage.test $CDROOT/boot/bzImage || exit 1 |
---|
| 276 | |
---|
| 277 | #initrd op cd |
---|
| 278 | tar -C $CDROOT --wildcards -xvzf $CDPKG/initrd-* "*initrd.gz.test" || exit 1 |
---|
| 279 | mv $CDROOT/boot/initrd.gz.test $CDROOT/boot/initrd.gz || exit 1 |
---|
| 280 | |
---|
| 281 | #memtest op cd |
---|
| 282 | cp memtest $CDROOT/boot || exit 1 |
---|
| 283 | |
---|
| 284 | |
---|
| 285 | ########################################### |
---|
| 286 | ########################################### LIVECD IMAGE |
---|
| 287 | ########################################### |
---|
| 288 | |
---|
| 289 | mkdir $CDROOT &>/dev/null |
---|
| 290 | |
---|
| 291 | SQUASHROOT="/tmp/live" |
---|
| 292 | SQUASHIMAGE="$CDROOT/livecd.img" |
---|
| 293 | CONFIGDIR="$BUILDROOT/config" |
---|
| 294 | |
---|
| 295 | if [ "$nolive" ] ; then |
---|
| 296 | rm -rf $SQUASHIMAGE |
---|
| 297 | fi |
---|
| 298 | |
---|
| 299 | if [ ! "$nolive" ] && [ ! -f "$SQUASHIMAGE" ]; then |
---|
| 300 | echo |
---|
| 301 | echo "* LIVE CD image moet opnieuw gemaakt worden: (gebruik nonewcd om te gecachde versie te gebruiken)" |
---|
| 302 | rm -rf "$SQUASHROOT" &>/dev/null |
---|
| 303 | |
---|
| 304 | #kijk eerst in $CDPKG en gebruik anders svn versie |
---|
| 305 | for SHORTPKG in `cat livecd.list`; do |
---|
| 306 | echo -n "Installeren $SHORTPKG..." |
---|
| 307 | if ! [ -e $CDPKG/$SHORTPKG-* ]; then |
---|
| 308 | echo -n "$SHORTPKG update ontbreekt. SVN: " |
---|
| 309 | TGZ=`../npl/findpkg "$SHORTPKG"` || exit 1 |
---|
| 310 | else |
---|
| 311 | TGZ=`echo $CDPKG/$SHORTPKG-*` |
---|
| 312 | fi |
---|
| 313 | echo -n "$TGZ..." |
---|
| 314 | $INSTALLPACKAGE -root $SQUASHROOT "$TGZ" >/dev/null || exit 1 |
---|
| 315 | echo "OK" |
---|
| 316 | done |
---|
| 317 | |
---|
| 318 | |
---|
| 319 | echo "$SQUASHROOT configureren..." |
---|
| 320 | cp -a $CONFIGDIR/* $SQUASHROOT || exit 1 |
---|
| 321 | chown -R 0:0 $SQUASHROOT/root || exit 1 |
---|
| 322 | chmod 700 $SQUASHROOT/root || exit 1 |
---|
| 323 | |
---|
| 324 | #internet startupscript maken, zodat regressietester er bij kan: |
---|
| 325 | if [ "$regres" ]; then |
---|
| 326 | if ! [ "$IP" ]; then |
---|
| 327 | echo "Geef IP op via environment, voor remote access en regressie testing!" |
---|
| 328 | exit 1 |
---|
| 329 | fi |
---|
| 330 | #Als deze file bestaat zal de rc.local de rest voor ons fixen: |
---|
| 331 | echo "IP=$IP" > $SQUASHROOT/etc/remote.conf || exit 1 |
---|
| 332 | fi |
---|
| 333 | |
---|
| 334 | |
---|
| 335 | #blackbox menu inkorten |
---|
| 336 | #cp -a $CONFIGDIR/var/menu $SQUASHROOT/usr/X11R6/share/blackbox/menu || exit 1 |
---|
| 337 | |
---|
| 338 | ldconfig -r $SQUASHROOT || exit 1 |
---|
| 339 | |
---|
| 340 | #belangrijk voor usbkeyboard/muis support |
---|
| 341 | chroot $SQUASHROOT bash -c "depmod $KVER" || exit 1 |
---|
| 342 | |
---|
| 343 | #font cache |
---|
| 344 | # chroot $SQUASHROOT fc-cache -fv || exit 1 |
---|
| 345 | #chroot $SQUASHROOT |
---|
| 346 | |
---|
| 347 | #we maken alles gewoon executable ivm bootscripts en zo |
---|
| 348 | chmod -R +x $SQUASHROOT/etc/rc.d || exit 1 |
---|
| 349 | |
---|
| 350 | #stip onzinnige zooi eruit |
---|
| 351 | find $SQUASHROOT -type d -name 'man?' -exec rm -r "{}" \; 2>/dev/null |
---|
| 352 | find $SQUASHROOT -type d -name 'doc' -exec rm -r "{}" \; 2>/dev/null |
---|
| 353 | find $SQUASHROOT -type d -name 'include' -exec rm -r "{}" \; 2>/dev/null |
---|
| 354 | find $SQUASHROOT -type d -name 'gtk-doc' -exec rm -r "{}" \; 2>/dev/null |
---|
| 355 | find $SQUASHROOT -type f -name '*.ps' -exec rm -r "{}" \; 2>/dev/null |
---|
| 356 | #word aangeroepen door glibc doinst en start nog een xserver (busybox ) |
---|
| 357 | rm $SQUASHROOT/sbin/telinit || exit 1 |
---|
| 358 | |
---|
| 359 | echo "Squash image genereren..." |
---|
| 360 | cd $SQUASHROOT |
---|
| 361 | #mksquashfs . "$SQUASHIMAGE" -noI -noD -noF >/dev/null || exit 1; |
---|
| 362 | mksquashfs . "$SQUASHIMAGE" || exit 1; |
---|
| 363 | #mkcramfs . "$SQUASHIMAGE" >/dev/null || exit 1; |
---|
| 364 | #genromfs -d $SQUASHROOT -f $SQUASHIMAGE || exit 1 |
---|
| 365 | cd .. |
---|
| 366 | |
---|
| 367 | echo "Squash root weer weghalen..." |
---|
| 368 | rm -rf "$SQUASHROOT" |
---|
| 369 | fi |
---|
| 370 | |
---|
| 371 | |
---|
| 372 | |
---|
| 373 | |
---|
| 374 | ########################################### |
---|
| 375 | ########################################### INSTALLER OP CD |
---|
| 376 | ########################################### |
---|
| 377 | |
---|
| 378 | echo "* Installer kopieren..." |
---|
| 379 | cd $BUILDROOT |
---|
| 380 | mkdir $CDROOT/installer 2>/dev/null |
---|
| 381 | cp ../install/*.sh $CDROOT/installer || exit 1 |
---|
| 382 | rm $CDROOT/installer/updatelang.sh |
---|
| 383 | cp ../install/*.txt $CDROOT/installer || exit 1 |
---|
| 384 | echo "$UPDATE_VERSION" > $CDROOT/installer/version |
---|
| 385 | chmod +x $CDROOT/installer/* || exit 1 |
---|
| 386 | |
---|
| 387 | ########################################### |
---|
| 388 | ########################################### CD IMAGE GENEREREN OF BOOTABLE USBSTICK |
---|
| 389 | ########################################### |
---|
| 390 | |
---|
| 391 | echo |
---|
| 392 | |
---|
| 393 | #partitioneer, formateer en installeer op bootable USB |
---|
| 394 | #UBER! :D |
---|
| 395 | if [ "$USBSTICK" ]; then |
---|
| 396 | REMOVABLE=/sys/block/`echo $USBSTICK|sed s#.*/##`/removable |
---|
| 397 | if [ "`cat $REMOVABLE`" != "1" ]; then |
---|
| 398 | echo "EY KIJK JE WEL FF UIT?? $USBSTICK IS GEEN REMOVABLE DEVICE? :)" |
---|
| 399 | exit 1 |
---|
| 400 | fi |
---|
| 401 | |
---|
| 402 | pushd ../install |
---|
| 403 | sh ./copyinstaller.sh $CDROOT $USBSTICK |
---|
| 404 | exit $? |
---|
| 405 | #Maak bootable ISO |
---|
| 406 | else |
---|
| 407 | echo "* Iso image builden..." |
---|
| 408 | mkdir $BUILDROOT/iso 2>/dev/null |
---|
| 409 | ISO="$BUILDROOT/iso/$VERSION.iso" |
---|
| 410 | |
---|
| 411 | #mkisofs -no-emul-boot -boot-load-size 4 -V "Syn-3 installer" -boot-info-table -R -J -r -b boot/grub/stage2_eltorito -o $ISO $CDROOT >/dev/null|| exit 1 |
---|
| 412 | mkisofs -no-emul-boot -boot-load-size 4 -V "Syn-3 installer" -boot-info-table -R -J -r -b isolinux/isolinux.bin -c isolinux/boot.cat -o $ISO $CDROOT >/dev/null|| exit 1 |
---|
| 413 | #maak hem ook bootable als harddisk image op usb stick |
---|
| 414 | ./isohybrid.pl $ISO || exit 1 |
---|
| 415 | |
---|
| 416 | ln -sf `basename $ISO` $BUILDROOT/iso/latest.iso || exit 1 |
---|
| 417 | |
---|
| 418 | echo |
---|
| 419 | echo "Alles gefixed, je iso staat in $ISO" |
---|
| 420 | echo |
---|
| 421 | fi |
---|
| 422 | |
---|
| 423 | ########################################### |
---|
| 424 | ########################################### CD FIKKEN of TESTEN |
---|
| 425 | ########################################### |
---|
| 426 | |
---|
| 427 | if [ "$qemu" ]; then |
---|
| 428 | #qemu... |
---|
| 429 | HDA=/tmp/hda.dsk |
---|
| 430 | HDB=/tmp/hdb.dsk |
---|
| 431 | HDD=/tmp/hdd.dsk |
---|
| 432 | rm $HDA $HDB $HDD &>/dev/null |
---|
| 433 | dd if=/dev/zero of=$HDA seek=20000000 count=1 |
---|
| 434 | dd if=/dev/zero of=$HDB seek=20000000 count=1 |
---|
| 435 | dd if=/dev/zero of=$HDD seek=20000000 count=1 |
---|
| 436 | qemu -hda $HDA -cdrom /tmp/$VERSION.iso -boot d |
---|
| 437 | elif [ "$vmwarepsy" ]; then |
---|
| 438 | ssh psy@192.168.0.96 "export DISPLAY=:0;vmware -x ~/vmware/syn3/syn3.vmx" |
---|
| 439 | elif [ "$vmware" ]; then |
---|
| 440 | vmware -x /root/vmware/syn-3/syn-3.vmx |
---|
| 441 | elif [ "$fik" ]; then |
---|
| 442 | #blank || exit 1 |
---|
| 443 | fik iso/latest.iso || exit 1 |
---|
| 444 | fi |
---|
| 445 | |
---|
| 446 | echo -e "ISO gefixed\a" |
---|
| 447 | exit 0 |
---|