3
# Do install stuff for amd64, including making bootable CDs
4
# Works with debian-installer
7
# $2 is the temporary CD build dir
9
. $BASEDIR/tools/boot/$DI_CODENAME/common.sh
16
if [ "$DI_WWW_HOME" = "default" ];then
17
DI_WWW_HOME="http://debian-amd64.alioth.debian.org/debian-installer/daily"
19
if [ ! "$DI_DIST" ]; then
20
export DI_DIST="$DI_CODENAME"
22
if [ -z "$DI_TYPE" ]; then
23
DI_TYPE="$($BASEDIR/tools/find-newest-installer)"
28
DEFAULT_PRESEED='preseed/file=/cdrom/preseed/edubuntu.seed'
31
DEFAULT_PRESEED='preseed/file=/cdrom/preseed/kubuntu.seed'
34
DEFAULT_PRESEED='preseed/file=/cdrom/preseed/ubuntu-server.seed'
44
# This script is called with $1 (now $N) as the CD to
45
# make bootable. N may be in the form "n" or "n_NONUS"
46
# There may be more than 4 disks...support extras.
48
# Strip NONUS part of disk number
49
# NN will be 1...N so it can be used as an index
51
NN=`echo $N | sed -e 's/_NONUS//'`
53
# List of boot image for each CD
54
KTYPE[1]="" #isolinux multiboot in fact
56
# XXX add net-image back when it's fixed
66
THISTYPE=${KTYPE[$NN]}
68
BOOT_IMAGES="cdrom/initrd.gz cdrom/initrd.list cdrom/vmlinuz cdrom/debian-cd_info.tar.gz"
70
TAR_IMAGES="netboot/netboot.tar.gz"
72
# Download boot images
73
for image in $BOOT_IMAGES $DISK_IMAGES $TAR_IMAGES; do
74
if [ ! -e "$image" ]; then
77
if [ ! "$DI_WWW_HOME" ];then
78
cp "$MIRROR/dists/$DI_DIST/main/$DI_TYPE-$ARCH/current/images/$image" "$image"
80
wget "$DI_WWW_HOME/$image" -O "$image"
85
if [ "$NN" = "1" ]; then
86
echo "Using ISOLINUX boot-disks image on CD$N"
87
mkdir -p boot$N/isolinux
88
cp -f $BASEDIR/data/$DI_CODENAME/isolinux.bin boot$N/isolinux/
89
cp -lf cdrom/vmlinuz $CDDIR/install/
90
cp -lf cdrom/initrd.gz $CDDIR/install/
91
cp -lf cdrom/initrd.list $CDDIR/install/
92
echo -n "-cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table " > $N.mkisofs_opts
94
if [ -n "$THISTYPE" ]; then
95
echo "Using $THISTYPE boot-disks image on CD$N"
97
cp $THISTYPE/boot.img boot$N/boot/
98
echo -n "-cache-inodes -J -l -b boot/boot.img " > $N.mkisofs_opts
101
echo -n "-cache-inodes -J -l " > $N.mkisofs_opts
105
"$BASEDIR/tools/sorting_weights" "$N"
106
echo -n "-sort $(pwd)/$N.weights " >> $N.mkisofs_opts
108
#install_languages $CDDIR
110
# Only disk one gets the extra files installed
112
if [ "$NN" = "1" ]; then
115
# populate the install directory as well
116
for disk in $DISK_IMAGES; do
118
mkdir -p $CDDIR/install/$dir
119
cp -lf $disk $CDDIR/install/$dir
122
if [ "$CDIMAGE_INSTALL" = 1 ]; then
123
for tar in $TAR_IMAGES; do
125
mkdir -p $CDDIR/install/$dir
126
tar -C $CDDIR/install/$dir -xzpf $tar
132
if [ "$CDIMAGE_INSTALL" = 1 ]; then
133
# Include Smart Boot Manager image for people where isolinux fails
134
gzip -dc $BASEDIR/data/$DI_CODENAME/sbm.bin.gz > $CDDIR/install/sbm.bin
135
# Keep the original file timestamp
136
touch -r $BASEDIR/data/$DI_CODENAME/sbm.bin.gz $CDDIR/install/sbm.bin
137
cp -p $BASEDIR/data/$DI_CODENAME/README.sbm $CDDIR/install/
139
# Extract memtest86+ from the archive
140
MEMTEST86DEB="$($BASEDIR/tools/apt-selection cache show memtest86+ | \
141
grep ^Filename | awk '{print $2}')"
142
ar p "$MIRROR/$MEMTEST86DEB" data.tar.gz | \
143
tar xzf - -C $CDDIR/install/ ./boot/memtest86+.bin
144
mv $CDDIR/install/boot/memtest86+.bin $CDDIR/install/mt86plus
145
rm -rf $CDDIR/install/boot
146
# Isolinux help files come from d-i.
147
cat cdrom/debian-cd_info.tar.gz | (cd boot$N/isolinux/; tar zx)
148
# Override splash screen.
149
if [ "$SPLASHRLE" ] && [ -e "$SPLASHRLE" ]; then
150
cp -p "$SPLASHRLE" boot$N/isolinux/splash.rle
152
if [ "$CDIMAGE_INSTALL" = 1 ]; then
153
rm -f boot$N/isolinux/*.txt.live
155
for x in boot$N/isolinux/*.txt.live; do
159
if [ "$CDIMAGE_DVD" = 1 ] && [ "$CDIMAGE_LIVE" = 1 ]; then
160
# overrides; these should go in debian-installer instead
161
for x in $BASEDIR/data/$DI_CODENAME/isolinux/*.txt.dvd; do
163
cp -p "$x" "boot$N/isolinux/${base%.dvd}"
166
if [ "$PROJECT" = ubuntu-server ]; then
167
# last-minute override for ubuntu-server
168
for x in $BASEDIR/data/$DI_CODENAME/isolinux/*.txt.server; do
170
cp -p "$x" "boot$N/isolinux/${base%.server}"
173
sed -e "s#Ubuntu#$CAPPROJECT#g" boot$N/isolinux/syslinux.txt \
174
> boot$N/isolinux/isolinux.txt
175
rm -f boot$N/isolinux/syslinux.txt
176
# Isolinux config file.
177
cat > boot$N/isolinux/isolinux.cfg <<EOF
178
DEFAULT /install/vmlinuz
180
if [ "$CDIMAGE_LIVE" = 1 ]; then
181
cat >> boot$N/isolinux/isolinux.cfg <<EOF
182
APPEND $KERNEL_PARAMS casper/enable=true casper-udeb/snapshot/backing-file=/cdrom/casper/filesystem.cloop vga=normal initrd=/install/initrd.gz ramdisk_size=1048576 root=/dev/rd/0 rw --
184
kernel /install/vmlinuz
185
append $KERNEL_PARAMS casper/enable=true casper-udeb/snapshot/backing-file=/cdrom/casper/filesystem.cloop vga=normal initrd=/install/initrd.gz ramdisk_size=1048576 root=/dev/rd/0 rw --
187
kernel /install/vmlinuz
188
append $KERNEL_PARAMS DEBCONF_PRIORITY=low casper/enable=true casper-udeb/snapshot/backing-file=/cdrom/casper/filesystem.cloop vga=normal initrd=/install/initrd.gz ramdisk_size=1048576 root=/dev/rd/0 rw --
191
if [ "$CDIMAGE_INSTALL" = 1 ]; then
192
if [ "$CDIMAGE_LIVE" != 1 ]; then
193
cat >> boot$N/isolinux/isolinux.cfg <<EOF
194
APPEND $KERNEL_PARAMS $DEFAULT_PRESEED vga=normal initrd=/install/initrd.gz ramdisk_size=16384 root=/dev/rd/0 rw --
197
cat >> boot$N/isolinux/isolinux.cfg <<EOF
199
kernel /install/vmlinuz
200
append $KERNEL_PARAMS $DEFAULT_PRESEED vga=normal initrd=/install/initrd.gz ramdisk_size=16384 root=/dev/rd/0 rw --
202
kernel /install/vmlinuz
203
append $KERNEL_PARAMS $DEFAULT_PRESEED vga=normal initrd=/install/initrd.gz ramdisk_size=16384 root=/dev/rd/0 rw --
205
kernel /install/vmlinuz
206
append $KERNEL_PARAMS $DEFAULT_PRESEED vga=normal initrd=/install/initrd.gz ramdisk_size=16384 root=/dev/rd/0 rw --
208
kernel /install/vmlinuz
209
append $KERNEL_PARAMS $DEFAULT_PRESEED DEBCONF_PRIORITY=low vga=normal initrd=/install/initrd.gz ramdisk_size=16384 root=/dev/rd/0 rw --
211
if [ "$PROJECT" = edubuntu ]; then
212
cat >> boot$N/isolinux/isolinux.cfg <<EOF
214
kernel /install/vmlinuz
215
append $KERNEL_PARAMS preseed/file=/cdrom/preseed/workstation.seed vga=normal initrd=/install/initrd.gz ramdisk_size=16384 root=/dev/rd/0 rw --
218
if [ "$PROJECT" != edubuntu ] && [ "$PROJECT" != ubuntu-server ]; then
219
cat >> boot$N/isolinux/isolinux.cfg <<EOF
221
kernel /install/vmlinuz
222
append $KERNEL_PARAMS preseed/file=/cdrom/preseed/oem.seed vga=normal initrd=/install/initrd.gz ramdisk_size=16384 root=/dev/rd/0 rw --
226
if [ "$CDIMAGE_INSTALL_BASE" = 1 ] && [ "$PROJECT" != ubuntu-server ]; then
227
cat >> boot$N/isolinux/isolinux.cfg <<EOF
229
kernel /install/vmlinuz
230
append $KERNEL_PARAMS preseed/file=/cdrom/preseed/server.seed vga=normal initrd=/install/initrd.gz ramdisk_size=16384 root=/dev/rd/0 rw --
232
kernel /install/vmlinuz
233
append $KERNEL_PARAMS preseed/file=/cdrom/preseed/server.seed DEBCONF_PRIORITY=low vga=normal initrd=/install/initrd.gz ramdisk_size=16384 root=/dev/rd/0 rw --
236
cat >> boot$N/isolinux/isolinux.cfg <<EOF
238
kernel /install/vmlinuz
239
append $KERNEL_PARAMS rescue/enable=true vga=normal initrd=/install/initrd.gz ramdisk_size=16384 root=/dev/rd/0 rw --
241
kernel /install/mt86plus
260
# write final lines to mkisofs_opts
261
if [ "$NN" = "1" ]; then
262
echo -n "boot$N " >> $N.mkisofs_opts
264
if [ -n "$THISTYPE" ]; then
265
echo -n "-c boot/boot.catalog boot$N " >> $N.mkisofs_opts