~tsimonq2/debian-cd/lubuntu-cosmic-changes

« back to all changes in this revision

Viewing changes to tools/boot/intrepid/boot-powerpc

  • Committer: Colin Watson
  • Date: 2008-04-25 09:27:03 UTC
  • Revision ID: cjwatson@canonical.com-20080425092703-zcopalt3rjmoj9ec
add CONF.sh bits for intrepid; copy hardy -> intrepid elsewhere

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/bash
 
2
#
 
3
# Do install stuff for powerpc, including making bootable CDs
 
4
# Works with debian-installer
 
5
#
 
6
# $1 is the CD number
 
7
# $2 is the temporary CD build dir
 
8
 
 
9
. $BASEDIR/tools/boot/$DI_CODENAME/common.sh
 
10
 
 
11
set -e
 
12
 
 
13
N=$1
 
14
CDDIR=$2
 
15
INSTALLDIR=$CDDIR/install
 
16
if [ "$DI_WWW_HOME" = "default" ];then
 
17
   DI_WWW_HOME="http://people.debian.org/~luther/d-i/images/daily"
 
18
fi
 
19
if [ ! "$DI_DIST" ]; then
 
20
   export DI_DIST="$DI_CODENAME"
 
21
fi
 
22
if [ -z "$DI_PATH" ]; then
 
23
   DI_PATH="$($BASEDIR/tools/find-newest-installer)"
 
24
fi
 
25
 
 
26
default_preseed
 
27
 
 
28
cd $CDDIR/..
 
29
 
 
30
# Only disk 1* bootable
 
31
if [ $N != 1 ] && [ $N != 1_NONUS ] && [ -z "$CDIMAGE_ADDON" ]; then
 
32
    # we don't need HFS cruft on anything but CD 1
 
33
        :> $N.mkisofs_opts
 
34
        exit 0
 
35
fi
 
36
 
 
37
install_languages $CDDIR
 
38
 
 
39
echo -n "--netatalk -hfs -probe -map $BASEDIR/data/hfs.map" \
 
40
        > $N.mkisofs_opts
 
41
# We are still missing this for prep
 
42
#echo -n " -prep-boot install/powerpc/vmlinuz-prep.initrd" >> $N.mkisofs_opts
 
43
echo -n " -chrp-boot -iso-level 2" >> $N.mkisofs_opts
 
44
# For newworld Mac booting  - Note, no spaces in volid!
 
45
echo -n " -part -no-desktop -hfs-bless CD$N/install -hfs-volid ${CAPPROJECT}_PowerPC_${CODENAME} " \
 
46
        >> $N.mkisofs_opts
 
47
# Recommended size for a HFS Catalog is 4 megas per giga, defaults to 4 megas
 
48
if [ "$CDIMAGE_DVD" = 1 ]; then
 
49
  if [ -n "$SIZELIMIT1" ];then
 
50
    if [ "$SIZELIMIT1" -gt 1000000000 ];then
 
51
      let newsize="$SIZELIMIT1"/256
 
52
      echo -n " -hfs-parms MAX_XTCSIZE=$newsize" >> $N.mkisofs_opts
 
53
    fi
 
54
  else
 
55
    if [ -n "$SIZELIMIT" ];then
 
56
      if [ "$SIZELIMIT" -gt 1000000000 ];then
 
57
        let newsize="$SIZELIMIT"/256
 
58
        echo -n " -hfs-parms MAX_XTCSIZE=$newsize" >> $N.mkisofs_opts
 
59
      fi
 
60
    else
 
61
      if [ -n "$DEFBINSIZE" ] && [ "$DEFBINSIZE" -gt 1000 ];then
 
62
        let newsize="$DEFBINSIZE"*4096
 
63
        echo -n " -hfs-parms MAX_XTCSIZE=$newsize" >> $N.mkisofs_opts
 
64
      fi
 
65
    fi
 
66
  fi
 
67
fi
 
68
 
 
69
"$BASEDIR/tools/sorting_weights" "$N"
 
70
echo -n " -sort $(pwd)/$N.weights " >> $N.mkisofs_opts
 
71
 
 
72
cd $INSTALLDIR
 
73
# Extract yaboot from the archive
 
74
if [ -z "$YABOOT_DEBUG" ]; then
 
75
    YADEB="$($BASEDIR/tools/apt-selection cache show yaboot | \
 
76
           grep ^Filename | awk '{print $2}')"
 
77
    (ar p "${MIRROR}/${YADEB}" data.tar.gz | \
 
78
        tar zxf - -C . ./usr/lib/yaboot/yaboot)
 
79
    mv usr/lib/yaboot/yaboot .
 
80
    rm -rf usr
 
81
else
 
82
 cp -f $YABOOT_DEBUG yaboot
 
83
fi
 
84
 
 
85
if [ "$CDIMAGE_LIVE" = 1 ]; then
 
86
    timeout='timeout=300'
 
87
else
 
88
    timeout=
 
89
fi
 
90
 
 
91
#
 
92
# generate/download images for "powerpc"
 
93
# (missing: bootvars1.3b.sit.hqx, BootX_1.2.2.sit, boot-floppy-hfs.img)
 
94
BUILD_DATE="${CDIMAGE_DATE:-$(date +%Y%m%d)}"
 
95
(if [ "$CDIMAGE_DVD" = 1 ] && [ "$CDIMAGE_LIVE" = 1 ]; then
 
96
     cat $BASEDIR/data/$CODENAME/yaboot/boot.msg.dvd
 
97
 elif [ "$CDIMAGE_INSTALL" = 1 ]; then
 
98
     cat $BASEDIR/data/$CODENAME/yaboot/boot.msg.install
 
99
 elif [ "$CDIMAGE_LIVE" = 1 ]; then
 
100
     cat $BASEDIR/data/$CODENAME/yaboot/boot.msg.live
 
101
 fi) \
 
102
 | sed "s/\${MEDIA_TYPE}/CDROM/" \
 
103
 | sed "s/\${DEBIAN_VERSION}/${DEBVERSION}/g" \
 
104
 | sed "s/\${CODENAME}/${CAPCODENAME}/g" \
 
105
 | sed "s/\${BUILD_DATE}/${BUILD_DATE}/g" \
 
106
 | sed "s#Ubuntu#$HUMANPROJECT#g" \
 
107
 > boot.msg
 
108
(if [ "$CDIMAGE_LIVE" = 1 ]; then
 
109
     sed 's/\${DEFAULT}/live/g' $BASEDIR/data/$CODENAME/yaboot/yaboot.conf
 
110
 else
 
111
     sed 's/\${DEFAULT}/install/g' $BASEDIR/data/$CODENAME/yaboot/yaboot.conf
 
112
 fi
 
113
 if [ "$CDIMAGE_LIVE" = 1 ]; then
 
114
     cat $BASEDIR/data/$CODENAME/yaboot/yaboot.conf.live
 
115
 fi
 
116
 if [ "$CDIMAGE_INSTALL" = 1 ]; then
 
117
     cat $BASEDIR/data/$CODENAME/yaboot/yaboot.conf.install
 
118
     if [ "$PROJECT" = edubuntu ]; then
 
119
         cat $BASEDIR/data/$CODENAME/yaboot/yaboot.conf.workstation
 
120
     fi
 
121
     if [ "$PROJECT" != edubuntu ] && [ "$PROJECT" != ubuntu-server ]; then
 
122
         cat $BASEDIR/data/$CODENAME/yaboot/yaboot.conf.oem
 
123
     fi
 
124
 fi
 
125
 if [ "$CDIMAGE_INSTALL_BASE" = 1 ] && [ "$PROJECT" != ubuntu-server ]; then
 
126
     cat $BASEDIR/data/$CODENAME/yaboot/yaboot.conf.cli
 
127
 fi
 
128
 if [ "$CDIMAGE_INSTALL" = 1 ] && ([ "$PROJECT" = ubuntu ] || [ "$PROJECT" = xubuntu ]); then
 
129
     cat $BASEDIR/data/$CODENAME/yaboot/yaboot.conf.ltsp
 
130
 fi
 
131
 if [ "$CDIMAGE_LIVE" = 1 ]; then
 
132
     cat $BASEDIR/data/$CODENAME/yaboot/yaboot.conf.check-live
 
133
 elif [ "$CDIMAGE_INSTALL_BASE" = 1 ]; then
 
134
     cat $BASEDIR/data/$CODENAME/yaboot/yaboot.conf.check
 
135
 fi) \
 
136
 | sed "s/CODENAME/${CODENAME}/g" \
 
137
 | sed "s,\${DEFAULT_PRESEED},${DEFAULT_PRESEED},g" \
 
138
 | sed "s,\${TIMEOUT},${timeout},g" \
 
139
 > yaboot.conf
 
140
cp $BASEDIR/data/$CODENAME/yaboot/ofboot.b ofboot.b
 
141
 
 
142
# for CHRP systems
 
143
mkdir "$CDDIR/etc"
 
144
cp -a "$CDDIR/install/yaboot.conf" "$CDDIR/etc/yaboot.conf"
 
145
mkdir "$CDDIR/ppc"
 
146
< $BASEDIR/data/$CODENAME/yaboot/bootinfo.txt \
 
147
    sed "s/\${HUMANPROJECT}/$HUMANPROJECT/g" \
 
148
  | sed "s/\${CODENAME}/$CODENAME/g" \
 
149
  > "$CDDIR/ppc/bootinfo.txt"
 
150
 
 
151
if [ ! "$DI_WWW_HOME" ]; then
 
152
  cp -a "$DI_PATH/current/images/udeb.list" .
 
153
else
 
154
  wget "$DI_WWW_HOME/udeb.list"
 
155
fi
 
156
 
 
157
for subarch in powerpc powerpc64
 
158
do
 
159
  if [ ! "$DI_WWW_HOME" ];then
 
160
        DI_DIR="$DI_PATH/current/images/$subarch/cdrom"
 
161
  else
 
162
        DI_DIR="di_stuff"
 
163
        for image in initrd.gz vmlinux; do
 
164
                dir="$(dirname "$image")"
 
165
                mkdir -p "$DI_DIR/$dir"
 
166
                wget "$DI_WWW_HOME/$subarch/cdrom/$image" -O "$DI_DIR/$image"
 
167
        done
 
168
  fi
 
169
  if [ "$CDIMAGE_INSTALL_BASE" = 1 ]; then
 
170
    cp -dR --preserve=mode,timestamps "$DI_DIR" "$subarch"
 
171
    rm -rf di_stuff
 
172
    # Remove special initrds we don't want. OldWorld isn't supported due to
 
173
    # the lack of boot support, and space restrictions are too tight to
 
174
    # support CHRP (including Pegasos) and PReP except on DVDs.
 
175
    rm -f "$subarch/vmlinuz-coff.initrd"
 
176
    if [ "$CDIMAGE_DVD" != 1 ]; then
 
177
      rm -f "$subarch/vmlinuz-chrp.initrd"
 
178
      rm -f "$subarch/vmlinuz-prep.initrd" "$subarch/vmlinuz-ppcbug.initrd"
 
179
    fi
 
180
  fi
 
181
  if [ "$CDIMAGE_LIVE" = 1 ]; then
 
182
    case $subarch in
 
183
      powerpc)
 
184
        casper_subarch=powerpc
 
185
        ;;
 
186
      powerpc64)
 
187
        casper_subarch=powerpc64-smp
 
188
        ;;
 
189
    esac
 
190
    mkdir -p "$CDDIR/casper/$subarch"
 
191
    mv "$CDDIR/casper/filesystem.kernel-$casper_subarch" \
 
192
       "$CDDIR/casper/$subarch/vmlinux"
 
193
    mv "$CDDIR/casper/filesystem.initrd-$casper_subarch" \
 
194
       "$CDDIR/casper/$subarch/initrd.gz"
 
195
  fi
 
196
done
 
197
 
 
198
# Copy pegasos forth script, since pegasos machines don't support yaboot yet.
 
199
cat $BASEDIR/data/$DI_CODENAME/pegasos/pegasos \
 
200
 | sed "s/\${MEDIA_TYPE}/CDROM/" \
 
201
 | sed "s/\${DEBIAN_VERSION}/${CODENAME}/g" \
 
202
 | sed "s/\${BUILD_DATE}/${BUILD_DATE}/g" \
 
203
 > pegasos
 
204
 
 
205
exit 0