Add s390x as a known architecture, merging common s390/s390x boot

setup scripts.
This commit is contained in:
Steve McIntyre 2012-05-28 22:42:43 +00:00
parent d71b6ba997
commit 32a101d56c
14 changed files with 182 additions and 101 deletions

View File

@ -40,7 +40,7 @@ if [ -z "$IMAGETARGET" ] ; then
IMAGETARGET="official_images"
fi
for ARCHES in i386 amd64 armel armhf ia64 mips mipsel powerpc s390 sparc kfreebsd-amd64 kfreebsd-i386 source
for ARCHES in i386 amd64 armel armhf ia64 mips mipsel powerpc s390 s390x sparc kfreebsd-amd64 kfreebsd-i386 source
do
export ARCHES
echo "Now we're going to build CD for $ARCHES !"

View File

@ -0,0 +1,24 @@
About the S/390 installation CD
===============================
It is possible to "boot" the installation system off this CD using
the files provided in the /boot directory.
Note that the /boot/d390oco.* files are only provided as an example
as Debian cannot ship the object-code-only-modules-ramdisk (oco.bin).
Although you can boot the installer from this CD, the installation
itself is *not* actually done from the CD. Once the initrd is loaded,
the installer will ask you to configure your network connection and
uses the network-console component to allow you to continue the
installation over SSH. The rest of the installation is done over the
network: all installer components and Debian packages are retrieved
from a mirror.
Tip for users of the Hercules emulator
--------------------------------------
If you want to ipl the installer off this CD, mount it on the host
system (e.g. on /media/cdrom) and enter the following in the Hercules
management console:
ipl /media/cdrom/boot/d390.ins

View File

@ -0,0 +1,6 @@
* Debian GNU/Linux for S/390 (boot from CD-ROM or FTP-Server)
linux_vm 0x00000000
root.off 0x0001040c
root.siz 0x00010414
parmfile 0x00010480
root.bin 0x00800000

View File

@ -0,0 +1,7 @@
@TDF
H:\BOOT\LINUX_TP UNDEFINED RECSIZE 1024
H:\BOOT\PARMFILE UNDEFINED RECSIZE 1024
H:\BOOT\ROOT.BIN UNDEFINED RECSIZE 1024
TM
TM
EOT

View File

@ -0,0 +1,7 @@
* Debian GNU/Linux for S/390 (boot from CD-ROM or FTP-Server with OCO-Modules)
linux_vm 0x00000000
root.off 0x0001040c
root.siz 0x00010414
parmfile 0x00010480
root.bin 0x00800000
oco.bin 0x00c00000

View File

@ -0,0 +1,8 @@
@TDF
H:\BOOT\LINUX_TP UNDEFINED RECSIZE 1024
H:\BOOT\PARMFILE UNDEFINED RECSIZE 1024
H:\BOOT\ROOT.BIN UNDEFINED RECSIZE 1024
H:\BOOT\OCO.BIN UNDEFINED RECSIZE 1024
TM
TM
EOT

View File

@ -0,0 +1,3 @@
choose-mirror
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

9
debian/changelog vendored
View File

@ -1,3 +1,12 @@
debian-cd (3.1.9) UNRELEASED; urgency=low
[ Steve McIntyre ]
* Add s390x as a known architecture, merging common s390/s390x boot
setup scripts.
-- Steve McIntyre <93sam@debian.org> Tue, 29 May 2012 06:20:20 +0800
debian-cd (3.1.8) unstable; urgency=low
[ Steve McIntyre ]

View File

@ -1,100 +1,2 @@
#!/bin/bash
#
# boot-s390 version 0.2
#
# (C) 2001 Jochen Röhrig <jr@debian.org>
# 2005 Frans Pop <fjp@debian.org>
#
# Released under the GNU general Public License.
# See the copyright file for license details.
# Released as part of the debian_cd package, not much use stand alone.
#
# Install stuff for booting an s390 system from VM-reader, tape,
# FTP-server, CD-ROM or emulated tape.
#
# $1 is the CD number
# $2 is the temporary CD build dir
. $BASEDIR/tools/boot/$CODENAME/common.sh
set -e
N=$1
CDDIR=$2
cd $CDDIR/..
if [ $N != "1" ] && [ $N != "1_NONUS" ] ; then
add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-J -joliet-long"
exit 0
fi
if [ "$DI_WWW_HOME" = "default" ];then
DI_WWW_HOME="http://d-i.debian.org/daily-images/s390/daily/"
if [ -n "$DI_DIR" -a -e "$DI_DIR/~${DI_WWW_HOME#*~}" ] ; then
DI_DIR="$DI_DIR/${DI_WWW_HOME#*http://}"
DI_WWW_HOME=""
fi
fi
if [ ! "$DI_DIST" ]; then
DI_DIST="$DI_CODENAME"
fi
imagedir="boot$N/boot"
mkdir -p $imagedir
# Install the two kernel images, the ramdisk and the parameter file
# The following files need to be included:
# - generic/parmfile.debian : parameter file
# - generic/initrd.debian : initrd; to be used for both VM-reader and tape
# - generic/kernel.debian : kernel for WM-reader
# - tape/kernel.debian : kernel for tape
# - tape/kernel.debian-nolabel : kernel for tape (nolabel)
images_S390="generic/parmfile.debian generic/initrd.debian generic/kernel.debian tape/kernel.debian tape/kernel.debian-nolabel"
for image in $images_S390; do
case $image in
generic/parmfile.debian)
imagedest=parmfile ;;
generic/initrd.debian)
imagedest=root.bin ;;
generic/kernel.debian)
imagedest=linux_vm ;;
tape/kernel.debian)
imagedest=linux_tp ;;
tape/kernel.debian-nolabel)
imagedest=linux_nl ;;
esac
imagedest="$imagedir/$imagedest"
if [ -n "$LOCAL" -a -f "${LOCALDEBS:-$MIRROR}/dists/$DI_DIST/local/installer-$ARCH/current/images/$image" ]; then
cp "${LOCALDEBS:-$MIRROR}/dists/$DI_DIST/local/installer-$ARCH/current/images/$image" "$imagedest"
elif [ ! "$DI_WWW_HOME" ];then
if [ ! "$DI_DIR" ];then
DI_DIR="$MIRROR/dists/$DI_DIST/main/installer-$ARCH/current/images"
fi
cp "$DI_DIR/$image" "$imagedest"
else
wget "$DI_WWW_HOME/$image" -O "$imagedest"
fi
done
# Copy the different boot files
# - d390.ins : for booting from CD-ROM or FTP-Server
# - d390oco.ins : same, using object-code-only-modules-ramdisk (example)
# - d390.tdf : for booting from emulated tape
# - d390oco.tdf : same, using object-code-only-modules-ramdisk (example)
cp $BASEDIR/data/$CODENAME/s390/d390* "$imagedir/"
sed -e 's,^[^*],boot/&,g' < $BASEDIR/data/$CODENAME/s390/d390.ins > "boot$N/d390.ins"
# Create the files specifying offset and size of the initrd
perl -e "print pack('N', 0x800000)" >"$imagedir/root.off"
perl -e "print pack('N', -s '$imagedir/root.bin')" >"$imagedir/root.siz"
# Copy the README file
cp $BASEDIR/data/$CODENAME/s390/README.boot "boot$N/"
# Include the boot$N/-tree into the iso-image
add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-J"
add_mkisofs_opt $CDDIR/../$N.mkisofs_dirs "boot$N"
. $BASEDIR/tools/boot/$DI_CODENAME/boot-s390-common

View File

@ -0,0 +1,109 @@
#!/bin/bash
#
# boot-s390-common
#
# Common code for s390 and s390x
#
# (C) 2001 Jochen Röhrig <jr@debian.org>
# 2005 Frans Pop <fjp@debian.org>
#
# Released under the GNU general Public License.
# See the copyright file for license details.
# Released as part of the debian_cd package, not much use stand alone.
#
# Install stuff for booting an s390 system from VM-reader, tape,
# FTP-server, CD-ROM or emulated tape.
#
# $1 is the CD number
# $2 is the temporary CD build dir
. $BASEDIR/tools/boot/$CODENAME/common.sh
set -e
N=$1
CDDIR=$2
cd $CDDIR/..
if [ $N != "1" ] && [ $N != "1_NONUS" ] ; then
add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-J -joliet-long"
exit 0
fi
if [ "$DI_WWW_HOME" = "default" ];then
# Tempting as it might be to merge these two definitions using $ARCH,
# do *not* do that - these defs are parsed out by other scripts that
# won't cope with that
if [ "$ARCH" = s390 ]; then
DI_WWW_HOME="http://d-i.debian.org/daily-images/s390/daily"
else
DI_WWW_HOME="http://d-i.debian.org/daily-images/s390x/daily"
fi
if [ -n "$DI_DIR" -a -e "$DI_DIR/~${DI_WWW_HOME#*~}" ] ; then
DI_DIR="$DI_DIR/${DI_WWW_HOME#*http://}"
DI_WWW_HOME=""
fi
fi
if [ ! "$DI_DIST" ]; then
DI_DIST="$DI_CODENAME"
fi
imagedir="boot$N/boot"
mkdir -p $imagedir
# Install the two kernel images, the ramdisk and the parameter file
# The following files need to be included:
# - generic/parmfile.debian : parameter file
# - generic/initrd.debian : initrd; to be used for both VM-reader and tape
# - generic/kernel.debian : kernel for WM-reader
# - tape/kernel.debian : kernel for tape
# - tape/kernel.debian-nolabel : kernel for tape (nolabel)
images_S390="generic/parmfile.debian generic/initrd.debian generic/kernel.debian tape/kernel.debian tape/kernel.debian-nolabel"
for image in $images_S390; do
case $image in
generic/parmfile.debian)
imagedest=parmfile ;;
generic/initrd.debian)
imagedest=root.bin ;;
generic/kernel.debian)
imagedest=linux_vm ;;
tape/kernel.debian)
imagedest=linux_tp ;;
tape/kernel.debian-nolabel)
imagedest=linux_nl ;;
esac
imagedest="$imagedir/$imagedest"
if [ -n "$LOCAL" -a -f "${LOCALDEBS:-$MIRROR}/dists/$DI_DIST/local/installer-$ARCH/current/images/$image" ]; then
cp "${LOCALDEBS:-$MIRROR}/dists/$DI_DIST/local/installer-$ARCH/current/images/$image" "$imagedest"
elif [ ! "$DI_WWW_HOME" ];then
if [ ! "$DI_DIR" ];then
DI_DIR="$MIRROR/dists/$DI_DIST/main/installer-$ARCH/current/images"
fi
cp "$DI_DIR/$image" "$imagedest"
else
wget "$DI_WWW_HOME/$image" -O "$imagedest"
fi
done
# Copy the different boot files
# - d390.ins : for booting from CD-ROM or FTP-Server
# - d390oco.ins : same, using object-code-only-modules-ramdisk (example)
# - d390.tdf : for booting from emulated tape
# - d390oco.tdf : same, using object-code-only-modules-ramdisk (example)
cp $BASEDIR/data/$CODENAME/$ARCH/d390* "$imagedir/"
sed -e 's,^[^*],boot/&,g' < $BASEDIR/data/$CODENAME/$ARCH/d390.ins > "boot$N/d390.ins"
# Create the files specifying offset and size of the initrd
perl -e "print pack('N', 0x800000)" >"$imagedir/root.off"
perl -e "print pack('N', -s '$imagedir/root.bin')" >"$imagedir/root.siz"
# Copy the README file
cp $BASEDIR/data/$CODENAME/$ARCH/README.boot "boot$N/"
# Include the boot$N/-tree into the iso-image
add_mkisofs_opt $CDDIR/../$N.mkisofs_opts "-J"
add_mkisofs_opt $CDDIR/../$N.mkisofs_dirs "boot$N"

2
tools/boot/wheezy/boot-s390x Executable file
View File

@ -0,0 +1,2 @@
#!/bin/bash
. $BASEDIR/tools/boot/$DI_CODENAME/boot-s390-common

View File

@ -90,7 +90,7 @@ CAPCODE=`perl -e "print ucfirst("$CODENAME")"`
export FIRSTVER CAPCODE
if [ "$ARCHLIST"x = ""x ] ; then
ARCHLIST="armel armhf amd64 i386 ia64 mips mipsel powerpc s390 sparc source kfreebsd-amd64 kfreebsd-i386" # amd64 # all dealt with specially
ARCHLIST="armel armhf amd64 i386 ia64 mips mipsel powerpc s390 s390x sparc source kfreebsd-amd64 kfreebsd-i386" # amd64 # all dealt with specially
fi
export TDIR NONFREE VER MIRROR CODENAME OUT BASEDIR