Browse Source

Rene Rebe:

* merged r3164 from branches/2.0-stable:
	  * reworked PowerPC install-cd boot code generation:
	    * works on Apple NewWorld
	    * works on IBM RS/6000 B50 (with manual boot cdrom:,\install.bin)


git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@3165 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc
rocklinux
Rene Rebe 21 years ago
parent
commit
7e73c1be8b
3 changed files with 22 additions and 85 deletions
  1. +0
    -69
      target/bootdisk/powerpc/bless-rs6k.sh
  2. +18
    -10
      target/bootdisk/powerpc/build.sh
  3. +4
    -6
      target/bootdisk/powerpc/yaboot.conf

+ 0
- 69
target/bootdisk/powerpc/bless-rs6k.sh

@ -1,69 +0,0 @@
#!/bin/bash
#
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/scripts/Build-Pkg
# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version. A copy of the GNU General Public
# License can be found at Documentation/COPYING.
#
# Many people helped and are helping developing ROCK Linux. Please
# have a look at http://www.rocklinux.org/ and the Documentation/TEAM
# file for details.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
#
# bless-rs6k is Copyright (C) 2003 Rene Rebe
#
# $1: disk base dir
# $2: cd number
# $3: iso file
yb_bin="${1}/boot/yaboot.rs6k"
cd=$2
iso=$3
# function to return a 512 sized sector count
sector_count() {
echo `du -B 512 --apparent-size $1 | cut -f1`
}
if [ "$cd" != 1 ] ; then
echo "Not the first CD - not blessing ..."
exit 0
fi
# test
cd_sec=`sector_count $iso`
# calculate the size for a 512 byte alligned yaboot binary, padded with zeros
yb_sec=`sector_count $yb_bin`
yb_sec=$(( yb_sec + 1 ))
echo "ISO sector count: $cd_sec Yaboot RS/6k binary sectors: $yb_sec"
echo "RS/6k-blessing $iso ..."
sfdisk -uS -f -q --no-reread $iso <<-EOT
;
$cd_sec,$yb_sec,0x41,*
;
;
EOT
echo "done"
echo "Attaching Yaboot binary with padded zeros ..."
cat $yb_bin /dev/zero | dd bs=512 count=$yb_sec >> $iso

+ 18
- 10
target/bootdisk/powerpc/build.sh

@ -18,13 +18,19 @@ then
tar --use-compress-program=bzip2 \
-xf $base/build/${ROCKCFG_ID}/ROCK/pkgs/yaboot.tar.bz2 \
usr/lib/yaboot/yaboot.rs6k -O > boot/yaboot.rs6k
cp boot/yaboot.rs6k install.bin
#
echo_status "Creating yaboot config file."
cp -v $base/target/$target/powerpc/{yaboot.conf,boot.msg,ofboot.b} \
echo_status "Creating yaboot config files."
cp -v $base/target/$target/powerpc/{boot.msg,ofboot.b} \
boot
echo_status "Creating the IBM RS/6k yaboot config file."
cp -v $base/target/$target/powerpc/yaboot.conf etc
echo "Duplicates of /boot used on IBM RS/6k hardware." > etc/README
(
echo "device=cdrom:"
cat $base/target/$target/powerpc/yaboot.conf
) > etc/yaboot.conf
(
echo "device=cd:"
cat $base/target/$target/powerpc/yaboot.conf
) > boot/yaboot.conf
#
echo_status "Moving image (initrd) to yaboot directory."
mv -v initrd.gz boot/
@ -32,12 +38,14 @@ then
echo_status "Copy more config files."
cp -v $base/target/$target/powerpc/mapping .
#
datdir="build/${ROCKCFG_ID}/ROCK/bootdisk"
datadir="build/${ROCKCFG_ID}/ROCK/bootdisk"
cat > ../isofs_arch.txt <<- EOT
BOOT -hfs -part -map $datdir/mapping -hfs-volid "ROCK_Linux_CD"
BOOTx -hfs-bless boot -sysid PPC
BOOTx -prep-boot boot/yaboot -prep-boot boot/yaboot.rs6k
DISK1 $datdir/boot/ boot/
BOOT -hfs -part -map $datadir/mapping -hfs-volid "ROCK_Linux_CD"
BOOTx -hfs-bless boot -sysid PPC -l -L -r -T -chrp-boot
BOOTx --prep-boot install.bin
DISK1 $datadir/boot/ boot/
DISK1 $datadir/etc/ etc/
DISK1 $datadir/install.bin install.bin
EOT
# SCRIPT sh $base/target/bootdisk/powerpc/bless-rs6k.sh $disksdir
fi

+ 4
- 6
target/bootdisk/powerpc/yaboot.conf

@ -3,18 +3,16 @@ message=/boot/boot.msg
timeout = 120
default = install
device=cd:
## CD-ROM Installs ##
image=cd:,/boot/vmlinux
image=/boot/vmlinux
label=install
initrd=cd:,/boot/initrd.gz
initrd=/boot/initrd.gz
initrd-size=8192
append="root=/dev/ram devfs=nocompat init=/linuxrc rw"
image=cd:,/boot/vmlinux
image=/boot/vmlinux
label=install-novideo
initrd=cd:,/boot/initrd.gz
initrd=/boot/initrd.gz
initrd-size=8192
append="root=/dev/ram devfs=nocompat init=/linuxrc rw video=ofonly"

Loading…
Cancel
Save