summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMatt Wilson <msw@redhat.com>2000-06-14 01:42:40 +0000
committerMatt Wilson <msw@redhat.com>2000-06-14 01:42:40 +0000
commita341c62f886cdc1a3f3bbb447f051b181b8d25cf (patch)
tree74e7552e6d99b958638912be8c7405c6a6083e1d /scripts
parent91157fb305f7c63b73b3692fe16a7273f3e5ffc3 (diff)
first pass at sparc images
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/buildinstall5
-rwxr-xr-xscripts/mk-images12
-rw-r--r--scripts/mk-images.sparc6476
-rwxr-xr-xscripts/upd-instroot7
4 files changed, 98 insertions, 2 deletions
diff --git a/scripts/buildinstall b/scripts/buildinstall
index 50d9e03a7..91d1bedff 100755
--- a/scripts/buildinstall
+++ b/scripts/buildinstall
@@ -37,6 +37,11 @@ else
fi
MK_IMAGES=$BUILDINSTDIR/mk-images
+# XXX hack - msw
+if [ $BUILDARCH = "sparc" ]; then
+ BUILDARCH=sparc64
+fi
+
echo "Building images..."
$UPD_INSTROOT $p/RedHat/RPMS $p/image-template $p/RedHat/instimage $BUILDARCH
if [ -x /usr/bin/runroot ]; then
diff --git a/scripts/mk-images b/scripts/mk-images
index d4cdbefe3..7f1122a80 100755
--- a/scripts/mk-images
+++ b/scripts/mk-images
@@ -523,6 +523,18 @@ makeinstimage () {
rm -rf $tmpdir
}
+findloopdevice () {
+ if [ -z "$1" ]; then
+ echo "usage: findloopdevice image"
+ exit 1
+ fi
+
+ for devnum in 0 1 2 3 4 5 6 7 8; do
+ if losetup /dev/loop$devnum $1 2>/dev/null ; then break; fi
+ done
+ echo /dev/loop$devnum
+}
+
makemainimage () {
imagename=$1
tmpimage=/tmp/instimage.img.$$
diff --git a/scripts/mk-images.sparc64 b/scripts/mk-images.sparc64
new file mode 100644
index 000000000..c8834a339
--- /dev/null
+++ b/scripts/mk-images.sparc64
@@ -0,0 +1,76 @@
+SECSTAGE="vfat raid0 raid1 raid5"
+TILO=$IMGPATH/usr/bin/tilo
+SILO=$IMGPATH/sbin/silo
+
+prepareBootImage() {
+ loopdev=`findloopdevice $MBD_TMPIMAGE`
+ stagedir=/tmp/sparcboot.$$
+ rm -rf $stagedir
+ mkdir -p $stagedir
+ cp $KERNELROOT/boot/vmlinuz-* $stagedir/vmlinux64.gz
+ cp $MBD_FSIMAGE $MBD_BOOTTREE/initrd64.img
+ cp $IMGPATH/boot/fd.b $stagedir
+ cp $IMGPATH/boot/second.b $stagedir
+ cp $BOOTDISKDIR/*.msg $stagedir
+ cp $BOOTDISKDIR/silo64.conf $stagedir/silo.conf
+ genromfs -V "Red Hat Linux Install" -d $stagedir -f $loopdev -a 512 -A 2048,/..
+ rm -rf $stagedir
+ losetup -d $loopdev
+ mount -tromfs -oloop $MBD_TMPIMAGE $MBD_BOOTTREE
+ $SILO -r $MBD_BOOTTREE -i /fd.b -b /second.b -C /silo.conf -F
+}
+
+maketftp() {
+ while [ x$(echo $1 | cut -c1-2) = x"--" ]; do
+ if [ $1 = "kernel" ]; then
+ TFTPKERNEL=$2
+ shift; shift
+ continue
+ elif [ $1 = "initrdfrom" ]; then
+ TFTPINITRD=$2
+ shift; shift
+ continue
+ elif [ $1 = "imagename" ]; then
+ TFTPIMAGE=$2
+ shift; shift
+ continue
+ fi
+ echo "bad argument passed to maketftp"
+ exit 1
+ $TILO vmlinux64 $TFTPKERNEL $TFTPINITRD $TFTPIMAGE
+}
+
+# set up the silo files
+rm -rf $TOPDESTPATH/boot
+rm -rf $TOPDESTPATH/etc
+mkdir -p $TOPDESTPATH/boot
+mkdir -p $TOPDESTPATH/etc
+
+cp $IMGPATH/boot/cd.b $TOPDESTPATH/boot
+cp $IMGPATH/boot/second.b $TOPDESTPATH/boot
+cp $BOOTDISKDIR/*.msg $TOPDESTPATH/etc
+cp $BOOTDISKDIR/silo.conf $TOPDESTPATH/etc
+
+# set up aout kernel images
+rm -rf $TOPDESTPATH/kernels
+elf2aout -o $TOPDESTPATH/kernels/vmlinux64 $KERNELROOT/boot/vmlinux-*
+gzip -9 $TOPDESTPATH/kernels/vmlinux64
+
+makekinitrd --initrdto $TOPDESTPATH/boot/initrd64.img \
+ --initrdsize 2000 \
+ --loaderbin loader \
+ --modules "=scsi =net"
+
+maketftp --kernel $TOPDESTPATH/kernels/vmlinux64.gz \
+ --imagename $TOPDESTPATH/boot/tftp64.img \
+ --initrdfrom $TOPDESTPATH/boot/initrd64.img
+
+makebootdisk --kernelto $TOPDESTPATH/boot/vmlinux64.gz \
+ --bootdisksize 1440 \
+ --imagename boot64.img \
+ --initrdflags '--initrdto $TOPDESTPATH/boot/initrd64.img \
+ --initrdsize 2000 \
+ --loaderbin loader \
+ --modules "=scsi"'
+
+makemainmodules "$SECSTAGE =scsi =net"
diff --git a/scripts/upd-instroot b/scripts/upd-instroot
index 5d7f71fdb..0dcb4e1e9 100755
--- a/scripts/upd-instroot
+++ b/scripts/upd-instroot
@@ -108,7 +108,7 @@ if [ $ARCH != ia64 ]; then
fi
if [ $ARCH = sparc ]; then
- PACKAGESGR="$PACKAGESGR XFree86-Sun"
+ PACKAGESGR="$PACKAGESGR XFree86-Sun tilo silo"
fi
if [ $ARCH = i386 ]; then
@@ -153,7 +153,6 @@ etc/protocols
etc/services
usr/bin/python*
usr/lib/python*
-usr/bin/syslinux
usr/lib/libnewt*
lib/libtermcap*
usr/lib/libz.*
@@ -211,6 +210,7 @@ bin/tar
bin/touch
bin/umount
bin/zcat
+boot/*.b
etc/gtk/gtkrc*
etc/im_palette.pal
etc/imrc
@@ -227,6 +227,7 @@ sbin/lsmod
sbin/modprobe
sbin/rmmod
sbin/route
+sbin/silo
usr/X11R6/bin/XF86_3DLabs
usr/X11R6/bin/XF86_FBDev
usr/X11R6/bin/XF86_I128
@@ -303,6 +304,8 @@ usr/bin/pico
usr/bin/rcp
usr/bin/rlogin
usr/bin/rsh
+usr/bin/syslinux
+usr/bin/tilo
usr/bin/tac
usr/bin/tail
usr/bin/uniq