Browse Source

Stefan Fiedler:


			
			
				rocklinux
			
			
		
Stefan Fiedler 18 years ago
parent
commit
cb954f34e4
28 changed files with 6 additions and 1737 deletions
  1. +1
    -43
      target/bootdisk/build.sh
  2. +0
    -226
      target/bootdisk/build_stage1.sh
  3. +0
    -194
      target/bootdisk/build_stage2.sh
  4. +5
    -1
      target/bootdisk/config.in
  5. +0
    -2
      target/bootdisk/download.txt
  6. +0
    -46
      target/bootdisk/initrd/initrd_bootdisk
  7. +0
    -509
      target/bootdisk/linuxrc.sh
  8. +0
    -93
      target/bootdisk/linuxrc2.sh
  9. +0
    -16
      target/bootdisk/powerpc/boot.msg
  10. +0
    -52
      target/bootdisk/powerpc/build.sh
  11. +0
    -10
      target/bootdisk/powerpc/mapping
  12. +0
    -64
      target/bootdisk/powerpc/ofboot.b
  13. +0
    -24
      target/bootdisk/powerpc/yaboot.conf
  14. +0
    -21
      target/bootdisk/shutdown
  15. +0
    -20
      target/bootdisk/sparc/boot.msg
  16. +0
    -28
      target/bootdisk/sparc/build.sh
  17. +0
    -22
      target/bootdisk/sparc/help1.txt
  18. +0
    -22
      target/bootdisk/sparc/silo.conf
  19. +0
    -67
      target/bootdisk/x86/build.sh
  20. +0
    -22
      target/bootdisk/x86/help0.txt
  21. +0
    -22
      target/bootdisk/x86/help1.txt
  22. +0
    -13
      target/bootdisk/x86/help2.txt
  23. +0
    -36
      target/bootdisk/x86/isolinux.cfg
  24. +0
    -30
      target/bootdisk/x86/lilo-conf-144
  25. +0
    -29
      target/bootdisk/x86/lilo-conf-1x2
  26. +0
    -29
      target/bootdisk/x86/lilo-conf-288
  27. +0
    -4
      target/bootdisk/x86/lilo-help.txt
  28. +0
    -92
      target/bootdisk/x86/makeimages.sh

+ 1
- 43
target/bootdisk/build.sh

@ -1,44 +1,2 @@
disksdir="$build_rock/bootdisk"
if [ "$ROCK_DEBUG_BOOTDISK_NOSTAGE2" != 1 -a \
"$ROCK_DEBUG_BOOTDISK_NOSTAGE1" != 1 ]
then
pkgloop
rm -rf $disksdir; mkdir -p $disksdir; chmod 700 $disksdir
fi
# Re-evaluate CC and other variables (as we have built the cross cc now)
. scripts/parse-config
# Add tools.cross/diet-bin/ to path so we find our 'diet' program
PATH="$base/build/${ROCKCFG_ID}/ROCK/$toolsdir/diet-bin:$PATH"
export DIETHOME="$base/build/${ROCKCFG_ID}/usr/dietlibc"
if [ "$ROCK_DEBUG_BOOTDISK_NOSTAGE2" != 1 ]
then
. $base/target/$target/build_stage2.sh
fi
if [ "$ROCK_DEBUG_BOOTDISK_NOSTAGE1" != 1 ]
then
. $base/target/$target/build_stage1.sh
fi
if [ -f $base/target/$target/$arch/build.sh ]; then
. $base/target/$target/$arch/build.sh
fi
echo_header "Creating ISO filesystem description."
cd $disksdir; rm -rf isofs; mkdir -p isofs
echo_status "Creating bootdisk/isofs directory.."
ln 2nd_stage.tar.gz 2nd_stage_small.tar.gz isofs/
ln *.img initrd.gz isofs/ 2>/dev/null || true # might not exist on some architectures
echo_status "Creating isofs.txt file .."
echo "DISK1 build/${ROCKCFG_ID}/ROCK/bootdisk/isofs/ `
`${ROCKCFG_SHORTID}/" > ../isofs_generic.txt
cat ../isofs_*.txt > ../isofs.txt
pkgloop

+ 0
- 226
target/bootdisk/build_stage1.sh

@ -1,226 +0,0 @@
#!/bin/bash
echo_header "Creating initrd data:"
rm -rf $disksdir/initrd
mkdir -p $disksdir/initrd/{dev,proc,sys,tmp,scsi,net,bin,etc,lib}
cd $disksdir/initrd; ln -s bin sbin; ln -s . usr
rock_targetdir="$base/target/$target/"
rock_target="$target"
# make mount not complain
touch etc/fstab
# supress udev uig/gid warnings
cp -a $base/build/$ROCKCFG_ID/etc/{passwd,group} etc/
cp -a $base/build/$ROCKCFG_ID/lib/libnss_files[-.]* lib/
rootdir="$disksdir/2nd_stage"
targetdir="$disksdir/initrd"
cross_compile=""
if [ "$ROCKCFG_CROSSBUILD" = "1" ] ; then
cross_compile="`find ${base}/ROCK/tools.cross/ -name "*-readelf"`"
cross_compile="${cross_compile##*/}"
cross_compile="${cross_compile%%readelf}"
fi
initrdfs="ext2fs"
block_size=""
ramdisk_size=12288
case ${initrdfs} in
ext2fs|ext3fs|cramfs)
initrd_img="${disksdir}/initrd.img"
;;
ramfs)
initrd_img="${disksdir}/initrd.cpio"
;;
esac
echo_status "Creating some device nodes"
mknod ${targetdir}/dev/ram0 b 1 0
mknod ${targetdir}/dev/null c 1 3
mknod ${targetdir}/dev/zero c 1 5
mknod ${targetdir}/dev/tty c 5 0
mknod ${targetdir}/dev/console c 5 1
# this copies a set of programs and the necessary libraries into a
# chroot environment
echo_status "Create checkisomd5 binary"
cp -r ${base}/misc/isomd5sum ${base}/build/${ROCKCFG_ID}/
cat >${base}/build/${ROCKCFG_ID}/compile_isomd5sum.sh <<EOF
#!/bin/bash
cd /isomd5sum
make clean
make CC=gcc
EOF
chmod +x ${base}/build/${ROCKCFG_ID}/compile_isomd5sum.sh
chroot ${base}/build/${ROCKCFG_ID}/ /compile_isomd5sum.sh
cp ${base}/build/${ROCKCFG_ID}/isomd5sum/checkisomd5 bin/
rm -rf ${base}/build/${ROCKCFG_ID}/compile_isomd5sum.sh ${base}/build/${ROCKCFG_ID}/isomd5sum
echo_status "Copying and adjusting linuxrc scipt"
cp ${base}/target/${target}/linuxrc.sh sbin/init
chmod +x sbin/init
sed -i -e "s,^STAGE_2_BIG_IMAGE=\"2nd_stage.tar.gz\"$,STAGE_2_BIG_IMAGE=\"${ROCKCFG_SHORTID}/2nd_stage.tar.gz\"," \
-e "s,^STAGE_2_SMALL_IMAGE=\"2nd_stage_small.tar.gz\"$,STAGE_2_SMALL_IMAGE=\"${ROCKCFG_SHORTID}/2nd_stage_small.tar.gz\"," \
sbin/init
libdirs="${rootdir}/$multilib ${rootdir}/usr/$multilib \
`sed -r -e'/^[ ]*(#|$)/ d' -e"s,^(.*),${rootdir}\1," -e"s,/lib(/|$),/$multilib\1,p" \
${rootdir}/etc/ld.so.conf | uniq | tr '\n' ' '`"
needed_libs() {
local x="${1}" library
${cross_compile}readelf -d ${x} 2>/dev/null | grep "(NEEDED)" |
sed -e"s,.*Shared library: \[\(.*\)\],\1," |
while read library ; do
find ${libdirs} -name "${library}" 2>/dev/null |
sed -e "s,^${rootdir},,g" | tr '\n' ' '
done
}
libs="${libs} `needed_libs bin/checkisomd5`"
echo_status "Copying other files ... "
for x in ${rock_targetdir}/initrd/initrd_* ; do
[ -f ${x} ] || continue
while read file target ; do
file="${rootdir}/${file}"
[ -e ${file} ] || continue
while read f ; do
tfile=${targetdir}/${target}${f#${file}}
[ -e ${tfile} ] && continue
if [ -d ${f} -a ! -L ${f} ] ; then
mkdir -p ${tfile}
continue
else
mkdir -p ${tfile%/*}
fi
# if [ -b ${f} -o -c ${f} -o -p ${f} -o -L ${f} ] ; then
cp -a ${f} ${tfile}
# else
# cp ${f} ${tfile}
# fi
file -L ${f} | grep -q ELF || continue
libs="${libs} `needed_libs ${f}`"
done < <( find "${file}" )
done < ${x}
done
for x in modprobe.static modprobe.static.old insmod.static insmod.static.old ; do
if [ -f ../2nd_stage/sbin/${x/.static/} ]; then
rm -f bin/${x/.static/}
cp -a ../2nd_stage/sbin/${x/.static/} bin/
fi
if [ -f ../2nd_stage/sbin/$x ]; then
rm -f bin/$x bin/${x/.static/}
cp -a ../2nd_stage/sbin/$x bin/
ln -sf $x bin/${x/.static/}
fi
done
echo_status "Copy scsi and network kernel modules."
tmptar="`mktemp`" ; tar cfT ${tmptar} /dev/null
for x in $( cd ../2nd_stage ; ls -d lib/modules/*/kernel/drivers/{scsi,net} )
do
[ -e "../2nd_stage/${x}" ] && tar rf ${tmptar} -C ../2nd_stage ${x}
done
tar xf ${tmptar} ; rm -f ${tmptar}
[ -e lib/modules ] && find lib/modules -type f -exec $STRIP --strip-debug {} \;
for x in ../2nd_stage/lib/modules/*/modules.{dep,pcimap,isapnpmap} ; do
cp $x ${x#../2nd_stage/} || echo_status "not found: $x" ;
done
for x in lib/modules/*/kernel/drivers/{scsi,net}; do
[ -d $x ] && ln -s ${x#lib/modules/} lib/modules/
done
rm -f lib/modules/[0-9]*/kernel/drivers/scsi/{st,scsi_debug}.{o,ko}
rm -f lib/modules/[0-9]*/kernel/drivers/net/{dummy,ppp*}.{o,ko}
echo_status "Copying required libraries ... "
while [ -n "${libs}" ] ; do
oldlibs=${libs}
libs=""
for x in ${oldlibs} ; do
[ -e ${targetdir}/${x} ] && continue
mkdir -p ${targetdir}/${x%/*}
cp ${rootdir}/${x} ${targetdir}/${x}
file -L ${rootdir}/${x} | grep -q ELF || continue
for y in `needed_libs ${rootdir}/${x}` ; do
[ ! -e "${targetdir}/${y}" ] && libs="${libs} ${y}"
done
done
done
echo_status "Creating links for identical files ..."
while read ck fn
do
# don't link empty files...
if [ "${oldck}" = "${ck}" -a -s "${fn}" ] ; then
echo_status "\`- Found ${fn#${targetdir}} -> ${oldfn#${targetdir}}."
rm ${fn} ; ln -s /${oldfn#${targetdir}} ${fn}
else
oldck=${ck} ; oldfn=${fn}
fi
done < <( find ${targetdir} -type f | xargs md5sum | sort )
cd ..
echo_header "Creating initrd filesystem image (${initrdfs}): "
case "${initrdfs}" in
cramfs)
[ "${block_size}" == "" ] && block_size=4096
mkfs.cramfs -b ${block_size} ${targetdir} ${initrd_img}
;;
ramfs)
# cp -a ${targetdir}/{linuxrc,init}
( cd ${targetdir} ; find | cpio -o -c > ${initrd_img} ; )
;;
ext2fs|ext3fs)
[ "${block_size}" == "" ] && block_size=1024
block_count=$(( ( 1024 * ${ramdisk_size} ) / ${block_size} ))
echo_status "Creating temporary files."
tmpdir=`mktemp -d` ; mkdir -p ${tmpdir}
dd if=/dev/zero of=${initrd_img} bs=${block_size} count=${block_count} &> /dev/null
tmpdev="`losetup -f 2>/dev/null`"
if [ -z "${tmpdev}" ] ; then
for x in /dev/loop* /dev/loop/* ; do
[ -b "${x}" ] || continue
losetup ${x} 2>&1 >/dev/null || tmpdev="${x}"
[ -n "${tmpdev}" ] && break
done
if [ -z "${tmpdev}" ] ; then
echo_status "No free loopback device found!"
rm -f ${tmpfile} ; rmdir ${tmpdir}; exit 1
fi
fi
echo_status "Using loopback device ${tmpdev}."
losetup "${tmpdev}" ${initrd_img}
echo_status "Writing initrd image file."
mkfs.${initrdfs:0:4} -b ${block_size} -m 0 -q ${tmpdev} &> /dev/null
mount -t ${initrdfs:0:4} ${tmpdev} ${tmpdir}
rmdir ${tmpdir}/lost+found/
cp -a ${targetdir}/* ${tmpdir}
umount ${tmpdir}
echo_status "Removing temporary files."
losetup -d ${tmpdev}
rm -rf ${tmpdir}
;;
esac
echo_status "Compressing initrd image file."
gzip -9 -c ${initrd_img} > ${initrd_img}.gz
mv ${initrd_img%.img}{.img,}.gz
target="$rock_target"

+ 0
- 194
target/bootdisk/build_stage2.sh

@ -1,194 +0,0 @@
set -e
taropt="--use-compress-program=bzip2 -xf"
echo_header "Creating 2nd stage filesystem:"
mkdir -p $disksdir/2nd_stage
cd $disksdir/2nd_stage
mkdir -p mnt/source mnt/target
#
package_map=" +00-dirtree -gcc42
-automake17 -automake18 -automake19 -gcc2
-gcc33 -gcc34 -gcc40 -gcc41
-gmp -mpfr -rockinitrd +stone
-linux24-source -linux26-header -linux24 +udev
-linux26-source -linux26-header -linux26 -postinstall
-binutils -bin86 -nasm -dietlibc
+grub +lilo +yaboot +aboot
+silo +parted +mac-fdisk +pdisk
+xfsprogs +dosfstools +jfsutils +hfsutils
+e2fsprogs +reiserfsprogs +genromfs +device-mapper
+popt +file +mdadm +lvm2
+dump +eject +disktype +lvm-wrapper
+hdparm +memtest86 +cpuburn +bonnie++
-mine -bize -termcap +ncurses
+readline -strace -ltrace -perl5
-m4 -time -gettext -zlib
-etcnet +attr +acl +findutils
+mktemp +coreutils -diffutils -patch
-make +grep +sed +gzip
+tar +gawk -flex +bzip2
-texinfo +less -groff -man
+nvi -bison +bc +cpio
+ed -autoconf -automake -libtool
+curl +wget +dialog +minicom
+lrzsz +rsync +tcpdump +module-init-tools
+sysvinit +shadow +util-linux +wireless-tools
+net-tools +procps +psmisc +rockplug
+modutils +pciutils -cron +portmap
+sysklogd +devfsd +setserial +iproute2
+netkit-base +netkit-ftp +netkit-telnet +netkit-tftp
+sysfiles +libpcap +iptables +tcp_wrappers
-kiss +kbd -syslinux +ntfsprogs
-ethtool -uml_utilities +ddrescue +libelf"
if [ -f ../../pkgs/bize.tar.bz2 -a ! -f ../../pkgs/mine.tar.bz2 ] ; then
packager=bize
else
packager=mine
fi
package_map="+$ROCKCFG_PKG_LINUX_DEFAULT +$packager $package_map"
package_map="+$ROCKCFG_PKG_GLIBC_BRANCH +$ROCKCFG_PKG_BASH_DEFAULT $package_map"
echo_status "Extracting the packages archives."
for x in $( ls ../../pkgs/*.tar.bz2 | tr . / | cut -f8 -d/ )
do
if [ -z "${x##*:dev*}" -o -z "${x##*:doc*}" ]
then
# simply ignore :dev and :doc packages
true
elif echo "" $package_map "" | grep -q " +$x "
then
echo_status "\`- Extracting $x.tar.bz2 ..."
tar --use-compress-program=bzip2 -xpf ../../pkgs/$x.tar.bz2
elif ! echo "" $package_map "" | grep -q " -$x "
then
echo_error "\`- Not found in \$package_map: $x"
echo_error " ... target/bootdisk/build_stage1.sh"
fi
done
#
echo_status "Saving boot/* - we do not need this on the 2nd stage ..."
rm -rf ../boot ; mkdir ../boot
mv boot/* ../boot/
#
echo_status "Remove the stuff we do not need ..."
rm -rf home usr/{local,doc,man,info,games,share}
rm -rf var/adm/* var/games var/adm var/mail var/opt
rm -rf usr/{include,src} usr/*-linux-gnu {,usr/}lib/*.{a,la,o}
for x in usr/lib/*/; do rm -rf ${x%/}; done
#
echo_status "Installing some terminfo databases ..."
tar $taropt ../../pkgs/ncurses.tar.bz2 \
usr/share/terminfo/x/xterm usr/share/terminfo/a/ansi \
usr/share/terminfo/n/nxterm usr/share/terminfo/l/linux \
usr/share/terminfo/v/vt200 usr/share/terminfo/v/vt220 \
usr/share/terminfo/v/vt100 usr/share/terminfo/s/screen
#
if [ -f ../../pkgs/kbd.tar.bz2 ] ; then
echo_status "Installing some keymaps ..."
tar $taropt ../../pkgs/kbd.tar.bz2 \
usr/share/kbd/keymaps/amiga usr/share/kbd/keymaps/i386/qwerty \
usr/share/kbd/keymaps/atari usr/share/kbd/keymaps/i386/qwertz \
usr/share/kbd/keymaps/sun
find usr/share/kbd -name '*dvo*' -o -name '*az*' -o -name '*fgG*' | \
xargs rm -f
fi
#
if [ -f ../../pkgs/pciutils.tar.bz2 ] ; then
echo_status "Installing pci.ids ..."
tar $taropt ../../pkgs/pciutils.tar.bz2 \
usr/share/pci.ids
fi
#
echo_status "Creating 2nd stage linuxrc."
cp $base/target/$target/linuxrc2.sh sbin/init ; chmod +x sbin/init
cp $base/target/$target/shutdown sbin/shutdown ; chmod +x sbin/shutdown
echo '$STONE install' > etc/stone.d/default.sh
#
echo_status "Creating 2nd_stage.tar.gz archive."
tar -czf ../2nd_stage.tar.gz * ; cd ..
echo_header "Creating small 2nd stage filesystem:"
mkdir -p 2nd_stage_small ; cd 2nd_stage_small
mkdir -p dev proc sys tmp bin lib etc share
mkdir -p mnt/source mnt/target
ln -s bin sbin ; ln -s . usr
#
progs="agetty bash cat cp date dd df ifconfig ln ls $packager mkdir mke2fs \
mkswap mount mv rm reboot route sleep swapoff swapon sync umount \
eject chmod chroot grep halt rmdir sh shutdown uname killall5 \
stone mktemp sort fold sed mkreiserfs cut head tail disktype"
progs="$progs fdisk sfdisk"
if [ $arch = ppc ] ; then
progs="$progs mac-fdisk pdisk"
fi
if [ $packager = bize ] ; then
progs="$progs bzip2 md5sum"
fi
echo_status "Copy the most important programs ..."
for x in $progs ; do
fn=""
[ -f ../2nd_stage/bin/$x ] && fn="bin/$x"
[ -f ../2nd_stage/sbin/$x ] && fn="sbin/$x"
[ -f ../2nd_stage/usr/bin/$x ] && fn="usr/bin/$x"
[ -f ../2nd_stage/usr/sbin/$x ] && fn="usr/sbin/$x"
if [ "$fn" ] ; then
cp ../2nd_stage/$fn $fn
else
echo_error "\`- Program not found: $x"
fi
done
#
echo_status "Copy the required libraries ..."
found=1 ; while [ $found = 1 ]
do
found=0
for x in ../2nd_stage/lib ../2nd_stage/usr/lib
do
for y in $( cd $x ; ls *.so.* 2> /dev/null )
do
if [ ! -f lib/$y ] &&
grep -q $y bin/* lib/* 2> /dev/null
then
echo_status "\`- Found $y."
cp $x/$y lib/$y ; found=1
fi
done
done
done
#
echo_status "Copy linuxrc."
cp ../2nd_stage/sbin/init sbin/init
echo_status "Copy /etc/fstab."
cp ../2nd_stage/etc/fstab etc
echo_status "Copy stone.d."
mkdir -p etc/stone.d
for i in gui_text mod_install mod_packages mod_gas default ; do
cp ../2nd_stage/etc/stone.d/$i.sh etc/stone.d
done
#
echo_status "Creating links for identical files."
while read ck fn
do
if [ "$oldck" = "$ck" ] ; then
echo_status "\`- Found $fn -> $oldfn."
rm $fn ; ln $oldfn $fn
else
oldck=$ck ; oldfn=$fn
fi
done < <( find -type f | xargs md5sum | sort )
#
echo_status "Creating 2nd_stage_small.tar.gz archive."
tar -cf- * | gzip -9 > ../2nd_stage_small.tar.gz ; cd ..

+ 5
- 1
target/bootdisk/config.in

@ -76,6 +76,10 @@ pkgfilter sed '
# (public)
/ ddrescue / { p ; d ; } ;
# (target-finish)
/ 1st-stage / { s/^O /X / ; p ; d ; } ; / 2nd-stage / { s/^O /X / ; p ; d ; } ;
/ bootloader / { s/^O /X / ; p ; d ; } ; / packagedb / { s/^O /X / ; p ; d ; } ;
/ isofs / { s/^O /X / ; p ; d ; } ;
# Select some packages explicitly (architectures)
# (alpha)
@ -92,7 +96,7 @@ pkgfilter sed '
/ syslinux / { p ; d ; } ;
# Disable the rest
s/^X /^O / ; p ; d ;
s/^X /O / ; p ; d ;
'
ROCKCFGSET_CREATE_TARBZ2=1

+ 0
- 2
target/bootdisk/download.txt

@ -1,2 +0,0 @@
2125465292 syslinux-2.11.tar.bz2 http://www.kernel.org/pub/linux/utils/boot/syslinux/
1570862055 mdlbl-0.1a.tar.bz2 http://www.rocklinux.net/people/clifford/MDLBL/

+ 0
- 46
target/bootdisk/initrd/initrd_bootdisk

@ -1,46 +0,0 @@
/bin/tar /bin/tar
/bin/gzip /bin/gzip
/bin/bash2 /bin/bash2
/bin/bash3 /bin/bash3
/bin/bash /bin/bash
/bin/sh /bin/sh
/bin/mount /bin/mount
/bin/umount /bin/umount
/bin/ls /bin/ls
/bin/sed /bin/sed
/bin/cut /bin/cut
/bin/cp /bin/cp
/bin/cat /bin/cat
/bin/uname /bin/uname
/bin/rm /bin/rm
/bin/ln /bin/ln
/bin/mkdir /bin/mkdir
/bin/rmdir /bin/rmdir
/bin/find /bin/find
/bin/gawk /bin/gawk
/bin/awk /bin/awk
/bin/grep /bin/grep
/bin/sleep /bin/sleep
/sbin/ip /sbin/ip
/sbin/hwscan /sbin/hwscan
/sbin/pivot_root /sbin/pivot_root
/sbin/swapon /sbin/swapon
/sbin/swapoff /sbin/swapoff
/sbin/udevd /sbin/udevd
/sbin/udevsettle /sbin/udevsettle
/sbin/udevtrigger /sbin/udevtrigger
/usr/bin/wget /usr/bin/wget
/usr/bin/expand /usr/bin/expand
/usr/bin/readlink /usr/bin/readlink
/usr/bin/basename /usr/bin/basename
/usr/bin/tr /usr/bin/tr
/usr/sbin/lspci /usr/sbin/lspci
/etc/udev /etc/udev
/lib/udev /lib/udev
/bin/ps /bin/ps
/sbin/modinfo /sbin/modinfo
/usr/bin/lsmod /usr/bin/lsmod
/usr/bin/find /usr/bin/find
/usr/sbin/udevmonitor /usr/sbin/udevmonitor
/sbin/rmmod /sbin/rmmod
/sbin/depmod /sbin/depmod

+ 0
- 509
target/bootdisk/linuxrc.sh

@ -1,509 +0,0 @@
#!/bin/bash
STAGE_2_BIG_IMAGE="2nd_stage.tar.gz"
STAGE_2_SMALL_IMAGE="2nd_stage_small.tar.gz"
STAGE_2_COMPRESS_ARG="--use-compress-program=gzip"
#640kB, err, 64 MB should be enought for the tmpfs ;-)
TMPFS_OPTIONS="size=67108864"
mod_load_info () { # {{{
read os host version rest < <( uname -a )
if [ -z "${os}" ] ; then
echo "Can't run \`uname -a\`"
return
elif [ "${os}" != "Linux" ] ; then
echo "Your operating system is not supported ?!"
return
fi
mod_loader="/sbin/insmod"
mod_dir="/lib/modules/"
# kernel module suffix for <= 2.4 is .o, .ko if above
if [ ${version:2:1} -gt 4 ] ; then
mod_suffix=".ko"
mod_suffix_len=3
else
mod_suffix=".o"
mod_suffix_len=2
fi
} # }}}
doboot() { # {{{
if ! mkdir -p /mnt_root/old_root ; then
echo "Can't create /mnt_root/old_root"
return 1
fi
if [ ! -f /mnt_root/sbin/init ] ; then
echo "Can't find /mnt_root/sbin/init!"
return 1
fi
# pivot_root may or may not change the PWD and root of the
# caller, so we change into the new root directory first.
cd /mnt_root
if ! pivot_root . "/mnt_root/old_root" ; then
echo "Can't call pivot_root"
cd /
return 1
fi
if ! mount --move /old_root/dev /dev ; then
echo "Can't remount /old_root/dev as /dev"
fi
if ! mount --move /old_root/proc /proc ; then
echo "Can't remount /old_root/proc as /proc"
fi
if [[ "$( < /proc/version )" == "Linux version 2.6."* ]] ; then
if ! mount --move /old_root/sys /sys ; then
echo "Can't remount /old_root/sys as /sys"
fi
fi
if ! umount /old_root/tmp ; then
echo "Can't umount /old_root/tmp"
fi
sed -e "s, /mnt_root , / ," /old_root/etc/mtab > /etc/mtab
# Kill udevd so /old_root can be unmounted.
killall udevd
exec chroot . sh -c "exec /sbin/init" <dev/console >dev/console 2>&1
echo "Can't exec /sbin/init!"
return 1
} # }}}
trymount() { # {{{
source=${1}
target=${2}
mount -t iso9600 -o ro ${source} ${target} && return 0
mount -t ext3 -o ro ${source} ${target} && return 0
mount -t ext2 -o ro ${source} ${target} && return 0
mount -t minix -o ro ${source} ${target} && return 0
mount -t vfat -o ro ${source} ${target} && return 0
return -1
} # }}}
httpload() { # {{{
echo -n "Enter base URL (e.g. http://1.2.3.4/rock): "
read baseurl
[ -z "${baseurl}" ] && return
cat <<EOF
Select a stage 2 image file:
0. ${STAGE_2_BIG_IMAGE}
1. ${STAGE_2_SMALL_IMAGE}
EOF
echo -n "Enter number or image file name (default=0): "
read filename
if [ -z "${filename}" ] ; then
filename="${STAGE_2_BIG_IMAGE}"
elif [ "${filename}" == "0" ] ; then
filename=${STAGE_2_BIG_IMAGE}
elif [ "${filename}" == "1" ] ; then
filename="${STAGE_2_SMALL_IMAGE}"
fi
url="${baseurl%/}/${filename}"
echo "[ ${url} ]"
export ROCK_INSTALL_SOURCE_URL=${baseurl}
if ! mkdir -p /mnt_root ; then
echo "Can't create /mnt_root"
return 1
fi
if ! mount -t tmpfs -O ${TMPFS_OPTIONS} tmpfs /mnt_root ; then
echo "Can't mount /mnt_root"
return 1
fi
wget -O - ${url} | tar ${STAGE_2_COMPRESS_ARG} -C /mnt_root -xf -
echo "finished ... now booting 2nd stage"
doboot
} # }}}
load_modules() { # {{{
# this starts the module loading shell
directory=${1}
cat <<EOF
module loading shell
you can navigate through the filestem with 'cd'. for loading a module
simply enter the shown name, to exit press enter on a blank line.
EOF
cd ${directory}
while : ; do
echo "Directories:"
count=0
while read inode ; do
[ -d "${inode}" ] || continue
echo -n " [ ${inode} ]"
count=$((${count}+1))
if [ ${count} -gt 3 ] ; then
echo
count=0
fi
done < <( ls ) | expand -t1,3,19,21,23,39,41,43,59,61,63,78
echo
echo "Modules:"
count=0
while read inode ; do
[ -f "${inode}" ] || continue
[ "${inode%${mod_suffix}}" == "${inode}" ] && continue
echo -n " [ ${inode%${mod_suffix}} ]"
count=$((${count}+1))
if [ ${count} -gt 3 ] ; then
echo
count=0
fi
done < <( ls ) | expand -t1,3,19,21,23,39,41,43,59,61,63,78
echo
echo -n "[${PWD##*/} ] > "
read cmd par
if [ "${cmd}" == "cd" ] ; then
cd ${par}
elif [ -f "${cmd}${mod_suffix}" ] ; then
insmod ${PWD%/}/${cmd}${mod_suffix} ${par}
elif [ -z "${cmd}" ] ; then
break
else
echo "No such module: ${cmd}"
fi
done
return
} # }}}
getdevice () { # {{{
while : ; do
echo -en "\nDevice file to use (q to return) : ";
read device;
[ "${device}" == "q" ] && return -1;
if [ ! -e "${device}" ] ; then
echo -e "\nNot a valid device!"
else
devicefile=${device}
return 0;
fi
done
} # }}}
getcdromdevice () { # {{{
cdroms="${1}"
floppies="${2}"
autoboot="${3}"
devicelists="/dev/cdroms/* /dev/floppy/*"
[ "${cdroms}" == "0" -a "${floppies}" == "0" ] && return -1
devnr=0
for dev in ${devicelists} ; do
[ -e "${dev}" ] || continue
[[ ${dev} = /dev/cdroms* ]] && [ "${cdroms}" == "0" ] && continue
[[ ${dev} = /dev/floppy* ]] && [ "${floppies}" == "0" ] && continue
eval "device_${devnr}='${dev}'"
devnr=$((${devnr}+1))
done
[ ${devnr} -eq 0 ] && return -1
x=0
floppy=1
cdrom=1
while [ ${x} -lt ${devnr} ] ; do
eval "device=\${device_${x}}"
if [[ ${device} = /dev/cdrom* ]] ; then
echo " ${x}. CD-ROM #${cdrom} (IDE/ATAPI or SCSI)"
cdrom=$((${cdrom}+1))
fi
if [[ ${device} = /dev/flopp* ]] ; then
echo " ${x}. FDD (Floppy Disk Drive) #${floppy}"
floppy=$((${floppy}+1))
fi
x=$((${x}+1))
done
echo -en "\nEnter number or device file name (default=0): "
if [ ${autoboot} -eq 1 ] ; then
echo "0"
text=0
else
read text
fi
[ -z "${text}" ] && text=0
while : ; do
if [ -e "${text}" ] ; then
devicefile="${text}"
return 0
fi
eval "text=\"\${device_${text}}\""
if [ -n "${text}" ] ; then
devicefile="${text}"
return 0
fi
echo -n "No such device found. Try again (enter=back): "
read text
[ -z "${text}" ] && return -1
done
return 1;
} # }}}
load_ramdisk_file() { # {{{
devicetype=${1}
autoboot=${2}
mountopts=""
echo -en "Select a device for loading the 2nd stage system from: \n\n"
if [ "${devicetype}" == "cdroms" ] ; then
getcdromdevice 1 1 ${autoboot} || return
mountopts="-o ro"
else
getdevice || return
fi
cat << EOF
Select a stage 2 image file:
1. ${STAGE_2_BIG_IMAGE}
2. ${STAGE_2_SMALL_IMAGE}
EOF
echo -n "Enter number or image file name (default=1): "
if [ ${autoboot} -eq 1 ] ; then
echo "1"
text=1
else
read text
fi
if [ -z "${text}" ] ; then
filename="${STAGE_2_BIG_IMAGE}"
elif [ "${text}" == "1" ] ; then
filename="${STAGE_2_BIG_IMAGE}"
elif [ "${text}" == "2" ] ; then
filename="${STAGE_2_SMALL_IMAGE}"
else
filename="${text}"
fi
echo "Using ${devicefile}:${filename}."
if ! mkdir -p /mnt_source ; then
echo "Can't create /mnt_source"
return 1
fi
if ! mount ${mountopts} ${devicefile} "/mnt_source" ; then
echo "Can't mount /mnt_source"
return 1
fi
if ! mkdir -p /mnt_root ; then
echo "Can't create /mnt_root"
return 1
fi
if ! mount -t tmpfs -o ${TMPFS_OPTIONS} tmpfs /mnt_root ; then
echo "Can't mount tmpfs on /mnt_root"
return 1
fi
echo "Extracting 2nd stage filesystem to ram ..."
if ! tar ${STAGE_2_COMPRESS_ARG} -C /mnt_root -xf /mnt_source/${filename} ; then
echo "Can't extract /mnt/source/${filename}"
return 1
fi
if ! umount "/mnt_source" ; then
echo "Can't umount /mnt_source"
fi
if ! rmdir "/mnt_source" ; then
echo "Can't remove /mnt_source"
fi
export ROCK_INSTALL_SOURCE_DEV=${devicefile}
export ROCK_INSTALL_SOURCE_FILE=${filename}
doboot
} # }}}
activate_swap() { # {{{
echo
echo -n "Enter file name of swap device: "
read text
if [ -n "${text}" ] ; then
swapon ${text}
fi
} # }}}
config_net() { # {{{
ip addr
echo
ip route
echo
echo -n "Enter interface name (eth0): "
read dv
[ -z "${dv}" ] && dv="eth0"
echo -n "Enter ip (192.168.0.254/24): "
read ip
[ -z "${ip}" ] && ip="192.168.0.254/24"
ip addr add ${ip} dev ${dv}
ip link set ${dv} up
echo -n "Enter default gateway (none): "
read gw
[ -n "${gw}" ] && ip route add default via ${gw}
ip addr
echo
ip route
echo
} # }}}
exec_sh() { # {{{
echo "Quit the shell to return to the stage 1 loader!"
/bin/sh
} # }}}
checkisomd5() { # {{{
echo "Select a device for checking: "
getcdromdevice 1 0 0 || return
echo "Running check..."
/bin/checkisomd5 --verbose ${devicefile}
code=${?}
if [ ${code} -eq 0 ] ; then
echo "MD5Sum is correct."
elif [ ${code} -eq 1 ] ; then
echo "MD5Sum is NOT correct! Please contact the authors!"
fi
echo "Press Return key to continue."
read
} # }}}
emit_udev_events() { # {{{
/sbin/udevtrigger
/sbin/udevsettle
} # }}}
input=1
[ -z "${autoboot}" ] && autoboot=0
# mount / / -o remount,rw || echo "Can't remount / read-/writeable"
# mount / / -o remount,rw || echo "Can't remount / read-/writeable (for mount log)"
mount -t tmpfs tmpfs /tmp -o ${TMPFS_OPTIONS} || echo "Can't mount a tmpfs on /tmp"
mount -t proc proc /proc || echo "Can't mount proc on /proc!"
/sbin/depmod -ae
case "$( < /proc/version )" in
"Linux version 2.4."*)
mount -t devfs devfs /dev || echo "Can't mount devfs on /dev!" ;;
"Linux version 2.6."*)
mount -t sysfs sysfs /sys || echo "Can't mount sysfs on /sys!"
if type -p udevd > /dev/null ; then
mount -t tmpfs tmpfs /dev || echo "Can't mount a tmpfs on /dev!"
cp -r /lib/udev/devices/* /dev
echo "" > /proc/sys/kernel/hotplug
/sbin/udevd --daemon
# create nodes for devices already in kernel
emit_udev_events
mod_load_info
# some devices (scsi...) need time to settle...
echo "Waiting for devices to settle..."
sleep 5
fi ;;
esac
ip addr add 127.0.0.1 dev lo
ip link set lo up
if [ ${autoboot} -eq 1 ] ; then
load_ramdisk_file cdroms 1
fi
autoboot=0
cat << EOF
============================================
=== ROCK Linux 1st stage boot system ===
============================================
The ROCK Linux install / rescue system boots up in two stages. You
are now in the first of this two stages and if everything goes right
you will not spend much time here. Just load your SCSI and networking
drivers (if needed) and configure the installation source so the
2nd stage boot system can be loaded and you can start the installation.
EOF
while : ; do
cat <<EOF
0. Load 2nd stage system from cdrom or floppy drive
1. Load 2nd stage system from any device
2. Load 2nd stage system from network
3. Configure network interfaces (IPv4 only)
4. Load kernel modules from this disk
5. Load kernel modules from another disk
6. Activate already formatted swap device
7. Execute a shell (for experts!)
8. Validate a CD/DVD against its embedded checksum
EOF
echo -n "What do you want to do [0-8] (default=0)? "
read text
[ -z "${text}" ] && text=0
input=${text//[^0-9]/}
case "${input}" in
0)
load_ramdisk_file cdroms 0
;;
1)
load_ramdisk_file any 0
;;
2)
httpload
;;
3)
config_net
;;
4)
load_modules "${mod_dir}"
;;
5)
mkdir "/mnt_floppy" || echo "Can't create /mnt_floppy"
trymount "/dev/floppy/0" "/mnt_floppy" && load_modules "/mnt_floppy"
umount "/mnt_floppy" || echo "Can't umount /mnt_floppy"
rmdir "/mnt_floppy" || echo "Can't remove /mnt_floppy"
;;
6)
activate_swap
;;
7)
exec_sh
;;
8)
checkisomd5
;;
*)
echo "No such option present!"
esac
done

+ 0
- 93
target/bootdisk/linuxrc2.sh

@ -1,93 +0,0 @@
#!/bin/sh
export PATH="/sbin:/bin:/usr/sbin:/usr/bin"
if [ -d /old_root ] && umount /old_root ; then
rmdir /old_root
else
echo "Can't umount /old_root"
fi
mkdir -p /lib/modules/$( uname -r )
echo -n >> /lib/modules/$( uname -r )/modules.dep
if [[ "$( < /proc/version)" == "Linux version 2.6."* ]] \
&& type -p udevd > /dev/null ; then
/sbin/udevd --daemon
udevtrigger
udevsettle
fi
setterm -blank 0 -powersave off -powerdown 0
echo
echo ' ******************************************************************'
echo ' * Welcome to the ROCK Linux 2nd stage boot disk. *'
echo ' ******************************************************************'
echo
echo "This is a small linux distribution, loaded into your computer's memory."
echo "It has everything needed to install ROCK Linux, restore an old installation"
echo "or perform some administrative tasks."
for x in /etc/setup-*.sh /setup/setup.sh ; do
if [ -f "$x" ] ; then
echo ; echo "Running $x ..." ; sh $x
echo "Setup script $x finished."
fi
done
echo
ttydevs=""
if [ -z "$autoboot" ]; then
echo "Enter the names of all terminal devices (e.g. 'vc/1' or 'tts/0')."
echo -n "An empty text stands for vc/1 - vc/6: "; read ttydevs
fi
if [ -z "$ttydevs" ]; then
ttydevs="vc/1 vc/2 vc/3 vc/4 vc/5 vc/6"
fi
if [[ "$ttydevs" = *tts/* ]] ; then
echo -n "Connection speed in Baud (default: 9600): " ; read baud
[ -z "$baud" ] && baud=9600
else
baud=38400
fi
echo
echo 'Just type "stone" now if you want to make a normal installation of a ROCK'
echo -n 'Linux build '
if type -p dialog > /dev/null ; then
echo '(or type "stone -text" if you prefer non-dialog based menus).'
else
echo '(only the text interface is available).'
fi
if [ -z "$autoboot" ]; then
echo -e '#!/bin/sh\ncd ; exec /bin/sh --login' > /sbin/login-shell
else
cat <<- EOT > /sbin/login-shell
#!/bin/bash
cd
case "\$( tty )" in
/dev/vc/1)
echo "Running 'stone' now.."
/bin/sh --login -c "stone"
echo -e '#!/bin/sh\\ncd ; exec /bin/sh --login' > /sbin/login-shell
exit 0
;;
*)
exec /bin/sh --login
esac
EOT
fi
chmod +x /sbin/login-shell
for x in $ttydevs ; do
( ( while : ; do agetty -i $baud $x -n -l /sbin/login-shell ; done ) & )
done
exec < /dev/null > /dev/null 2>&1
while : ; do sleep 1 ; done

+ 0
- 16
target/bootdisk/powerpc/boot.msg

@ -1,16 +0,0 @@
____ ___ ___ _ __ _
| _ \ / _ \ / __| |/ / | | _ _ __ _ _ _ _
| . _/| | | | | | '_/ | | |_| '_ \| | | | \/ |
| |\ \| |_| | |__| . \ | |__| | | | | `_' |> <
|_| \_\ ___/ \___|_|\_\ |____|_|_| |_|\___/|_/\_|
[============> http://www.rocklinux.org/ <============]
So you are going to install ROCK Linux ...
Possible choices are:
install ........... normal CD boot
install-novideo .., normal CD boot without accelerated framebuffer
hd-install ........ boot from hard-disc image
hd-install-novide . boot from hard-disc image without accelerated framebuffer
.

+ 0
- 52
target/bootdisk/powerpc/build.sh

@ -1,52 +0,0 @@
use_yaboot=1
cd $disksdir
echo_header "Creating cleaning boot directory:"
rm -rfv boot/*-rock boot/System.map boot/kconfig*
if [ $use_yaboot -eq 1 ]
then
echo_header "Creating yaboot setup:"
#
echo_status "Extracting yaboot boot loader images."
mkdir -p boot etc
tar -O --use-compress-program=bzip2 \
-xf $base/build/${ROCKCFG_ID}/ROCK/pkgs/yaboot.tar.bz2 \
usr/lib/yaboot/yaboot > boot/yaboot
tar -O --use-compress-program=bzip2 \
-xf $base/build/${ROCKCFG_ID}/ROCK/pkgs/yaboot.tar.bz2 \
usr/lib/yaboot/yaboot.rs6k > boot/yaboot.rs6k
cp boot/yaboot.rs6k install.bin
#
echo_status "Creating yaboot config files."
cp -v $base/target/$target/powerpc/{boot.msg,ofboot.b} \
boot
(
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 boot directory."
mv -v initrd.gz boot/
#
echo_status "Copy more config files."
cp -v $base/target/$target/powerpc/mapping .
#
datadir="build/${ROCKCFG_ID}/ROCK/bootdisk"
cat > ../isofs_arch.txt <<- EOT
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

+ 0
- 10
target/bootdisk/powerpc/mapping

@ -1,10 +0,0 @@
# Example filename mapping file
#
# EXTN XLate CREATOR TYPE Comment
.b Raw 'UNIX' 'tbxi' "bootstrap"
yaboot Raw 'UNIX' 'boot' "bootstrap"
*linux Raw 'UNIX' 'boot' "kernel"
*.conf Raw 'UNIX' 'conf' "bootstrap"
root.bin Raw 'UNIX' 'root' "root_image"
* Raw '????' '????' "Unknown"

+ 0
- 64
target/bootdisk/powerpc/ofboot.b

@ -1,64 +0,0 @@
<CHRP-BOOT>
<COMPATIBLE>
MacRISC MacRISC3
</COMPATIBLE>
<DESCRIPTION>
GNU/Linux PPC bootloader
</DESCRIPTION>
<BOOT-SCRIPT>
" screen" output
load-base release-load-area
boot cd:,\\yaboot
</BOOT-SCRIPT>
<OS-BADGE-ICONS>
1010
000000000000F8FEACF6000000000000
0000000000F5FFFFFEFEF50000000000
00000000002BFAFEFAFCF70000000000
0000000000F65D5857812B0000000000
0000000000F5350B2F88560000000000
0000000000F6335708F8FE0000000000
00000000005600F600F5FD8100000000
00000000F9F8000000F5FAFFF8000000
000000008100F5F50000F6FEFE000000
000000F8F700F500F50000FCFFF70000
00000088F70000F50000F5FCFF2B0000
0000002F582A00F5000008ADE02C0000
00090B0A35A62B0000002D3B350A0000
000A0A0B0B3BF60000505E0B0A0B0A00
002E350B0B2F87FAFCF45F0B2E090000
00000007335FF82BF72B575907000000
000000000000ACFFFF81000000000000
000000000081FFFFFFFF810000000000
0000000000FBFFFFFFFFAC0000000000
000000000081DFDFDFFFFB0000000000
000000000081DD5F83FFFD0000000000
000000000081DDDF5EACFF0000000000
0000000000FDF981F981FFFF00000000
00000000FFACF9F9F981FFFFAC000000
00000000FFF98181F9F981FFFF000000
000000ACACF981F981F9F9FFFFAC0000
000000FFACF9F981F9F981FFFFFB0000
00000083DFFBF981F9F95EFFFFFC0000
005F5F5FDDFFFBF9F9F983DDDD5F0000
005F5F5F5FDD81F9F9E7DF5F5F5F5F00
0083DD5F5F83FFFFFFFFDF5F835F0000
000000FBDDDFACFBACFBDFDFFB000000
000000000000FFFFFFFF000000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFFFF00000000
00000000FFFFFFFFFFFFFFFFFF000000
00000000FFFFFFFFFFFFFFFFFF000000
000000FFFFFFFFFFFFFFFFFFFFFF0000
000000FFFFFFFFFFFFFFFFFFFFFF0000
000000FFFFFFFFFFFFFFFFFFFFFF0000
00FFFFFFFFFFFFFFFFFFFFFFFFFF0000
00FFFFFFFFFFFFFFFFFFFFFFFFFFFF00
00FFFFFFFFFFFFFFFFFFFFFFFFFF0000
000000FFFFFFFFFFFFFFFFFFFF000000
</OS-BADGE-ICONS>
</CHRP-BOOT>

+ 0
- 24
target/bootdisk/powerpc/yaboot.conf

@ -1,24 +0,0 @@
message=/boot/boot.msg
timeout = 120
default = auto
## CD-ROM Installs ##
image=/boot/vmlinux
label=auto
initrd=/boot/initrd.gz
initrd-size=12288
append="root=/dev/ram0 devfs=nocompat autoboot=1 rw"
image=/boot/vmlinux
label=install
initrd=/boot/initrd.gz
initrd-size=12288
append="root=/dev/ram0 devfs=nocompat rw"
image=/boot/vmlinux
label=install-novideo
initrd=/boot/initrd.gz
initrd-size=12288
append="root=/dev/ram0 devfs=nocompat rw video=ofonly"

+ 0
- 21
target/bootdisk/shutdown

@ -1,21 +0,0 @@
#!/bin/sh
echo "Sending all processes a SIGTERM (15)."
killall5 -15 || error=$? ; sleep 5
echo "Sending all processes a 2nd SIGTERM (15)."
killall5 -15 || error=$? ; sleep 5
echo "Sending all processes a SIGKILL (9)."
killall5 -9 || error=$? ; sleep 5
echo "Turning off swap devices."
swapoff -a || error=$?
sync ; sleep 1
echo "Unmounting filesystems."
umount -advf || error=$?
echo "Reboot ..."
reboot -f

+ 0
- 20
target/bootdisk/sparc/boot.msg

@ -1,20 +0,0 @@
____ ___ ___ _ __ _
| _ \ / _ \ / __| |/ / | | _ _ __ _ _ _ _
| . _/| | | | | | '_/ | | |_| '_ \| | | | \/ |
| |\ \| |_| | |__| . \ | |__| | | | | `_' |> <
|_| \_\ ___/ \___|_|\_\ |____|_|_| |_|\___/|_/\_|
[============> http://www.rocklinux.org/ <============]
Help Screens:
-------------
<1> Installation overview
<0> This help-text
Actions:
--------
<ENTER> Start installation
install options <Enter> Start install with the given kernel options
help Show SILO's help

+ 0
- 28
target/bootdisk/sparc/build.sh

@ -1,28 +0,0 @@
cd $disksdir
echo_header "Cleaning boot directory:"
rm -rfv boot/*-rock boot/System.map boot/kconfig* boot/initrd*img boot/*.b
echo_header "Creating silo setup:"
#
echo_status "Extracting silo boot loader images."
mkdir -p boot
tar --use-compress-program=bzip2 \
-xf $base/build/${ROCKCFG_ID}/ROCK/pkgs/silo.tar.bz2 \
boot/second.b -O > boot/second.b
#
echo_status "Creating silo config file."
cp -v $base/target/$target/sparc/{silo.conf,boot.msg,help1.txt} \
boot
#
echo_status "Moving image (initrd) to boot directory."
mv -v initrd.gz boot/
#
buildroot="build/${ROCKCFG_ID}"
datadir="build/${ROCKCFG_ID}/ROCK/bootdisk"
cat > ../isofs_arch.txt <<- EOT
BOOT -G $buildroot/boot/isofs.b -B ...
DISK1 $datadir/boot/ boot/
EOT

+ 0
- 22
target/bootdisk/sparc/help1.txt

@ -1,22 +0,0 @@
Installation Overview:
The ROCK Linux install / rescue system boots up in two stages. In the first
stage only a small binary is running which is used to load the complete
install / rescue system into the memory. So in the first stage you can load
network and scsi kernel modules, configure network devices (for netwok
installation) or load the system from a floppy or CD-ROM device.
For a normal installation from the first CD-ROM you only need to press enter
for each question to do use default options.
You can freely choose which terminal devices (e.g. 'vc/1' or 'tts/0').
If you just hit <ENTER>, you'll use vc/1 to vc/6.
To start the installation just exectute our Setup Tool ONE via 'stone' or
'stone -text', if you prefer non-dialog based menus.
In STONE you can create your partitions and filesystems and after selecting
the Package Manager choose wich packages to install.
At the end reboot your machine with 'reboot -f'.

+ 0
- 22
target/bootdisk/sparc/silo.conf

@ -1,22 +0,0 @@
partition=1
timeout=600
message=/boot/boot.msg
default=install
root=/dev/ram0
initrd=/boot/initrd.gz
read-write
append="devfs=nocompat"
image="cat /boot/boot.msg"
label=0
single-key
image="cat /boot/help1.txt"
label=1
single-key
image[sun4u]=/boot/vmlinux64.gz
label=install
alias=linux
image[sun4c,sun4d,sun4m]=/boot/vmlinux32.gz
label=install
alias=linux

+ 0
- 67
target/bootdisk/x86/build.sh

@ -1,67 +0,0 @@
use_isolinux=1
syslinux_ver="`sed -n 's,.*syslinux-\(.*\).tar.*,\1,p' \
$base/target/bootdisk/download.txt`"
use_mdlbl=1
mdlbl_ver="`sed -n 's,.*mdlbl-\(.*\).tar.*,\1,p' \
$base/target/bootdisk/download.txt`"
cd $disksdir
echo_header "Creating lilo config and cleaning boot directory:"
cp $base/target/$target/x86/lilo-* boot/
for x in boot/*; do
[ -L $x -a -f $x ] || continue
cp -L $x $x.data; mv $x.data $x
echo "dereferenced \`$x'"
done
rm -rfv boot/*-rock boot/grub boot/System.map boot/kconfig boot/*.24**
echo_header "Creating floppy disk images:"
cp $base/target/$target/x86/makeimages.sh .
chmod +x makeimages.sh
if [ $use_mdlbl -eq 1 ]
then
tar $taropt $base/download/mirror/m/mdlbl-$mdlbl_ver.tar.bz2
cd mdlbl-$mdlbl_ver
cp ../boot/vmlinuz .; cp ../initrd.gz initrd; ./makedisks.sh
for x in disk*.img; do mv $x ../floppy${x#disk}; done; cd ..
du -sh floppy*.img | while read x; do echo_status $x; done
else
tmpfile=`mktemp -p $PWD`
if sh ./makeimages.sh &> $tmpfile; then
cat $tmpfile | while read x; do echo_status "$x"; done
else
cat $tmpfile | while read x; do echo_error "$x"; done
fi
rm -f $tmpfile
cat > ../isofs_arch.txt <<- EOT
BOOT -b ${ROCKCFG_SHORTID}/boot_288.img -c ${ROCKCFG_SHORTID}/boot.catalog
EOT
fi
if [ $use_isolinux -eq 1 ]
then
echo_header "Creating isolinux setup:"
#
echo_status "Extracting isolinux boot loader."
mkdir -p isolinux
tar -O $taropt $base/download/mirror/s/syslinux-$syslinux_ver.tar.bz2 \
syslinux-$syslinux_ver/isolinux.bin > isolinux/isolinux.bin
#
echo_status "Creating isolinux config file."
cp $base/target/$target/x86/isolinux.cfg isolinux/
cp $base/target/$target/x86/help?.txt isolinux/
#
echo_status "Copy images to isolinux directory."
cp boot/memtest86.bin isolinux/memtest86
cp initrd.gz boot/vmlinuz isolinux/
#
cat > ../isofs_arch.txt <<- EOT
BOOT -b isolinux/isolinux.bin -c isolinux/boot.catalog
BOOTx -no-emul-boot -boot-load-size 4 -boot-info-table
DISK1 build/${ROCKCFG_ID}/ROCK/bootdisk/isolinux/ isolinux/
EOT
fi

+ 0
- 22
target/bootdisk/x86/help0.txt

@ -1,22 +0,0 @@
____ ___ ___ _ __ _
| _ \ / _ \ / __| |/ / | | _ _ __ _ _ _ _
| . _/| | | | | | '_/ | | |_| '_ \| | | | \/ |
| |\ \| |_| | |__| . \ | |__| | | | | `_' |> <
|_| \_\ ___/ \___|_|\_\ |____|_|_| |_|\___/|_/\_|
[============> http://www.rocklinux.org/ <============]
Help Screens:
-------------
<F1> <Ctrl-F><1> Installation overview
<F2> <Ctrl-F><2> Installing on systems with less than 64 MB RAM
<F10> <Ctrl-F><0> This help-text
Actions:
--------
<ENTER> Start installation system
ROCK [options] <Enter> The same with interactive stage 1 (for experts)
linux [options] <Enter> Boot a plain linux kernel (for rescue purposes)
memtest86 <Enter> Boot the memtest86 mini-os

+ 0
- 22
target/bootdisk/x86/help1.txt

@ -1,22 +0,0 @@
Installation Overview:
The ROCK Linux install / rescue system boots up in two stages. In the first
stage only a small binary is running which is used to load the complete
install / rescue system into the memory. So in the first stage you can load
network and scsi kernel modules, configure network devices (for netwok
installation) or load the system from a floppy or CD-ROM device.
For a normal installation from the first CD-ROM you only need to press enter
for each question to do use default options.
You can freely choose which terminal devices (e.g. 'vc/1' or 'tts/0').
If you just hit <ENTER>, you'll use vc/1 to vc/6.
To start the installation just exectute our Setup Tool ONE via 'stone' or
'stone -text', if you prefer non-dialog based menus.
In STONE you can create your partitions and filesystems and after selecting
the Package Manager choose wich packages to install.
At the end reboot your machine with 'reboot -f'.

+ 0
- 13
target/bootdisk/x86/help2.txt

@ -1,13 +0,0 @@
Installation on systems with less than 64MB of RAM:
To load the ramdisk for the 2nd stage installation you nead arround
20MB of RAM. It can also be loaded on small sized memory systems when
a swap partition is available. If you already have partitionized the
disk you can activate it in the first stage program using the option
"Activate already formatted swap device".
If you need to partitionize your disk you can load a very small ram-
disk ("2nd_stage_small") to perform initial configuration such as
partitionizing the disk, and then reboot to choose the normal 2nd_
stage file for installation.

+ 0
- 36
target/bootdisk/x86/isolinux.cfg

@ -1,36 +0,0 @@
DEFAULT auto
TIMEOUT 600
PROMPT 1
DISPLAY help0.txt
F1 help1.txt
F2 help2.txt
F3 help3.txt
F4 help4.txt
F5 help5.txt
F6 help6.txt
F7 help7.txt
F8 help8.txt
F9 help9.txt
F0 help0.txt
LABEL auto
kernel vmlinuz
APPEND initrd=initrd.gz root=/dev/ram0 devfs=nocompat autoboot=1 rw
LABEL ROCK
kernel vmlinuz
APPEND initrd=initrd.gz root=/dev/ram0 devfs=nocompat rw
LABEL ramdisk
kernel vmlinuz
APPEND initrd=initrd.gz root=/dev/ram0 devfs=nocompat rw
LABEL linux
kernel vmlinuz
LABEL memtest86
kernel memtest86

+ 0
- 30
target/bootdisk/x86/lilo-conf-144

@ -1,30 +0,0 @@
disk=/dev/floppy/0
bios = 0x00
sectors = 18
heads = 2
cylinders = 80
nowarn
boot=/dev/floppy/0
install=/mnt/boot.b
map=/mnt/map
vga=normal
message=/mnt/lilo-help.txt
geometric
compact
prompt
image=/mnt/vmlinuz
read-write
append="root=/dev/fd devfs=nocompat \
load_ramdisk=1 prompt_ramdisk=1 \
ramdisk_size=12288"
label=ramdisk
image=/mnt/vmlinuz
label=linux
image=/mnt/memtest.bin
label=memtest
optional

+ 0
- 29
target/bootdisk/x86/lilo-conf-1x2

@ -1,29 +0,0 @@
disk=/dev/floppy/0
bios = 0x00
sectors = 18
heads = 2
cylinders = 80
nowarn
boot=/dev/floppy/0
install=/mnt/boot.b
map=/mnt/map
vga=normal
message=/mnt/lilo-help.txt
geometric
compact
prompt
image=/mnt/vmlinuz
read-write
append="root=/dev/ram0 devfs=nocompat"
initrd=/mnt/initrd.gz
label=ramdisk
image=/mnt/vmlinuz
label=linux
image=/mnt/memtest.bin
label=memtest
optional

+ 0
- 29
target/bootdisk/x86/lilo-conf-288

@ -1,29 +0,0 @@
disk=/dev/floppy/0
bios = 0x00
sectors = 36
heads = 2
cylinders = 80
nowarn
boot=/dev/floppy/0
install=/mnt/boot.b
map=/mnt/map
vga=normal
message=/mnt/lilo-help.txt
geometric
compact
prompt
image=/mnt/vmlinuz
read-write
append="root=/dev/ram0 devfs=nocompat"
initrd=/mnt/initrd.gz
label=ramdisk
image=/mnt/vmlinuz
label=linux
image=/mnt/memtest.bin
label=memtest
optional

+ 0
- 4
target/bootdisk/x86/lilo-help.txt

@ -1,4 +0,0 @@
This is the ROCK Linux Install system. If you don't know what to do now just
press enter and start reading the documentation.

+ 0
- 92
target/bootdisk/x86/makeimages.sh

@ -1,92 +0,0 @@
#!/bin/sh
if [ "$1" = -reroot ] ; then
echo "Old PATH: $PATH"
PATH="../../sbin:../../bin:../../../sbin:../usr/bin:$PATH"
echo "New PATH: $PATH"
echo "Old LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="../../lib:../../usr/lib:$LD_LIBRARY_PATH"
LD_LIBRARY_PATH=${LD_LIBRARY_PATH%:}
echo "New LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
shift
fi
if [ "$1" = -combo ] ; then
combo=1
elif [ "$#" != 0 ] ; then
echo "usage: $0 [-reroot] [-combo]"
exit 1
fi
tmpfile=`mktemp -p $PWD`
tmpdir=$tmpfile.dir
mkdir $tmpdir || exit 1
rc=0
tmpdev=""
for x in /dev/loop/* ; do
if losetup $x $tmpfile 2> /dev/null ; then
tmpdev=$x ; break
fi
done
if [ -z "$tmpdev" ] ; then
echo "No free loopback device found!"
rm -f $tmpfile ; rmdir $tmpdir
exit 1
fi
echo "Using $tmpdev."
for image in initrd boot_144 boot_288
do
case ${image} in
initrd)
echo "Creating ${image}.gz ..."
size=4096 ;;
boot_144)
echo "Creating ${image}.img ..."
size=1440 ;;
boot_288)
echo "Creating ${image}.img ..."
size=2880 ;;
esac
dd if=/dev/zero of=$tmpfile bs=1024 count=$size &> /dev/null
losetup -d $tmpdev ; losetup $tmpdev $tmpfile || rc=1
mke2fs -q $tmpdev &> /dev/null ; mount $tmpdev $tmpdir || rc=1
case ${image} in
initrd)
cp -a initrd/* $tmpdir || rc=1
;;
boot_144|boot_288)
cp -a boot/{vmlinuz,lilo-help.txt} $tmpdir || rc=1
if [ -f /boot/boot-text.b ]; then
cp /boot/boot-text.b $tmpdir/boot.b || rc=1
fi
liloconf=lilo-conf-${image#boot_}
if [ $image = boot_288 -o "$combo" = 1 ] ; then
cp initrd.gz $tmpdir || rc=1
[ $image = boot_144 ] && liloconf=lilo-conf-1x2
fi
sed -e "s,/mnt/,$tmpdir/,g" \
-e "s,/dev/floppy/0,$tmpdev,;" \
< boot/$liloconf > $tmpdir/lilo.conf || rc=1
lilo -C $tmpdir/lilo.conf > /dev/null || rc=1
;;
esac
umount $tmpdir
case ${image} in
initrd) gzip -9 < $tmpfile > $image.gz || rc=1 ;;
*) cp $tmpfile $image.img || rc=1 ;;
esac
done
losetup -d $tmpdev
rm -f $tmpfile
rmdir $tmpdir
exit $rc

Loading…
Cancel
Save