From 3813eb7a8b5505f5a6db2001033a6e2a4cede387 Mon Sep 17 00:00:00 2001 From: Dirk von Suchodoletz Date: Tue, 4 Mar 2008 17:00:58 +0000 Subject: First try of "selfcontained" InitRamFS without external glibc. Created by running '''mkcdboot.uclib''' (build environment is to be optimized) git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@1597 95ad53e4-c205-0410-b2fa-d234c58c8868 --- initramfs/cdboot/kexec.uclib.i586 | Bin 0 -> 129292 bytes initramfs/cdboot/mkcdboot.uclib | 92 ++++++++++++++++++++++++++ initramfs/cdboot/uclib/ld-uClibc-0.9.27.so | Bin 0 -> 16592 bytes initramfs/cdboot/uclib/ld-uClibc.so.0 | 1 + initramfs/cdboot/uclib/libc.so.0 | 1 + initramfs/cdboot/uclib/libcrypt-0.9.27.so | Bin 0 -> 9040 bytes initramfs/cdboot/uclib/libcrypt.so.0 | 1 + initramfs/cdboot/uclib/libdl-0.9.27.so | Bin 0 -> 5960 bytes initramfs/cdboot/uclib/libdl.so.0 | 1 + initramfs/cdboot/uclib/libm-0.9.27.so | Bin 0 -> 48172 bytes initramfs/cdboot/uclib/libm.so.0 | 1 + initramfs/cdboot/uclib/libnsl-0.9.27.so | Bin 0 -> 1328 bytes initramfs/cdboot/uclib/libnsl.so.0 | 1 + initramfs/cdboot/uclib/libresolv-0.9.27.so | Bin 0 -> 1332 bytes initramfs/cdboot/uclib/libresolv.so.0 | 1 + initramfs/cdboot/uclib/librt-0.9.27.so | Bin 0 -> 1228 bytes initramfs/cdboot/uclib/librt.so.0 | 1 + initramfs/cdboot/uclib/libthread_db-0.9.27.so | Bin 0 -> 13684 bytes initramfs/cdboot/uclib/libuClibc-0.9.27.so | Bin 0 -> 283908 bytes initramfs/cdboot/uclib/libutil-0.9.27.so | Bin 0 -> 4092 bytes initramfs/cdboot/uclib/libutil.so.0 | 1 + 21 files changed, 101 insertions(+) create mode 100755 initramfs/cdboot/kexec.uclib.i586 create mode 100755 initramfs/cdboot/mkcdboot.uclib create mode 100755 initramfs/cdboot/uclib/ld-uClibc-0.9.27.so create mode 120000 initramfs/cdboot/uclib/ld-uClibc.so.0 create mode 120000 initramfs/cdboot/uclib/libc.so.0 create mode 100644 initramfs/cdboot/uclib/libcrypt-0.9.27.so create mode 120000 initramfs/cdboot/uclib/libcrypt.so.0 create mode 100644 initramfs/cdboot/uclib/libdl-0.9.27.so create mode 120000 initramfs/cdboot/uclib/libdl.so.0 create mode 100644 initramfs/cdboot/uclib/libm-0.9.27.so create mode 120000 initramfs/cdboot/uclib/libm.so.0 create mode 100644 initramfs/cdboot/uclib/libnsl-0.9.27.so create mode 120000 initramfs/cdboot/uclib/libnsl.so.0 create mode 100644 initramfs/cdboot/uclib/libresolv-0.9.27.so create mode 120000 initramfs/cdboot/uclib/libresolv.so.0 create mode 100644 initramfs/cdboot/uclib/librt-0.9.27.so create mode 120000 initramfs/cdboot/uclib/librt.so.0 create mode 100644 initramfs/cdboot/uclib/libthread_db-0.9.27.so create mode 100644 initramfs/cdboot/uclib/libuClibc-0.9.27.so create mode 100644 initramfs/cdboot/uclib/libutil-0.9.27.so create mode 120000 initramfs/cdboot/uclib/libutil.so.0 diff --git a/initramfs/cdboot/kexec.uclib.i586 b/initramfs/cdboot/kexec.uclib.i586 new file mode 100755 index 00000000..8c65716b Binary files /dev/null and b/initramfs/cdboot/kexec.uclib.i586 differ diff --git a/initramfs/cdboot/mkcdboot.uclib b/initramfs/cdboot/mkcdboot.uclib new file mode 100755 index 00000000..6f33bb19 --- /dev/null +++ b/initramfs/cdboot/mkcdboot.uclib @@ -0,0 +1,92 @@ +#!/bin/bash +# This program is free software distributed under the GPL version 2. +# See http://openslx.org/COPYING +# +# If you have any feedback please consult http://openslx.org/feedback and +# send your feedback to feedback@openslx.org +# +# General information about OpenSLX can be found at http://openslx.org +# +# Script for generating an uClib based InitRamFS for using a demo CD/DVD +# (via kexec mechanism) instead of PXE/linux boot functionality + +BUILDDIR=/tmp/slxcdboot +SLX_SHARE_PATH=/opt/openslx/share +NWMODULES="forcedeth e1000 e100 tg3 3c59x via-rhine r8169 pcnet32 b44 8139too" +KERNVER=$(uname -r) + +rm -rf ${BUILDDIR} +mkdir -p ${BUILDDIR}/{dev,proc,tmp,root,bin,sys,lib,etc} +mkdir -p ${BUILDDIR}/var/{lib,run} +ln -s /bin ${BUILDDIR}/sbin + +cp ${SLX_SHARE_PATH}/cdboot/init ${BUILDDIR}/init + chmod 755 ${BUILDDIR}/init + +cp ${SLX_SHARE_PATH}/busybox/busybox.uclib.i586 ${BUILDDIR}/bin/busybox +for bbins in [ ar arping ash bunzip2 cat chmod chown chroot cp cpio cut \ + date dd df dmesg du echo env expr fdisk free grep gunzip hwclock \ + insmod id ip kill killall ln ls lsmod mdev mkdir \ + mknod mkswap modprobe mount mv nice ping printf ps rdate \ + rm rmmod sed sleep sort swapoff swapon switch_root tar test tftp \ + time touch tr udhcpc umount uptime usleep vconfig vi wget zcat zcip; do + ln -fs /bin/busybox ${BUILDDIR}/bin/$bbins +done +cp ${SLX_SHARE_PATH}/cdboot/kexec.uclib.i586 ${BUILDDIR}/bin/kexec + +cp -a ${SLX_SHARE_PATH}/cdboot/uclib/* ${BUILDDIR}/lib + +mkdir -p ${BUILDDIR}/lib/modules/${KERNVER}/kernel/drivers/net +cp /lib/modules/${KERNVER}/modules.dep ${BUILDDIR}/lib/modules/${KERNVER} +for module in af_packet unix ${NWMODULES} mii ; do + mod=$(cd /; find "lib/modules/${KERNVER}" -name ${module}.ko 2>/dev/null) + mpath=${BUILDDIR}/${mod%/*} + mkdir -p ${mpath} + cp /$mod /${mpath} +done + +# finally create the compressed initial ramfs cpio archive +mkdir -p ${BUILDDIR}/iso/isolinux +cp ${SLX_SHARE_PATH}/cdboot/isolinux.bin ${BUILDDIR}/iso/isolinux +cp ${SLX_SHARE_PATH}/tftpboot/menu.c32 ${BUILDDIR}/iso/isolinux +cp /boot/vmlinuz-${KERNVER} ${BUILDDIR}/iso/isolinux/vmlinuz +pushd . > /dev/null 2>&1 + cd ${BUILDDIR} + find . ! -name "*~" ! -path "./iso/*" | cpio -H newc --create | gzip -9 \ + > ${BUILDDIR}/iso/isolinux/cdirfs +popd > /dev/null 2>&1 + +# starting to setup the menu driven boot chooser +echo -e "DEFAULT menu.c32\nPROMPT 0\nMENU WIDTH 78\nMENU MARGIN 9\n\ +MENU ROWS 9\nMENU TABMSGROW 15\nMENU CMDLINEROW 15\nMENU ENDROW -1\n\ +MENU TIMEOUTROW 15\nMENU HELPMSGROW 15\nMENU HELPMSGENDROW -1\n\ +MENU HSHIFT 0\nMENU VSHIFT 5\n\nMENU TITLE OpenSLX PreBoot ISO\ +" > ${BUILDDIR}/iso/isolinux/isolinux.cfg +for i in NBD NFS DNBD2 ; do + echo -e "LABEL OpenSLX\n\tMENU LABEL OpenSLX Client with $i as RootFS" \ + >> ${BUILDDIR}/iso/isolinux/isolinux.cfg + echo -e "\tTEXT HELP\n\tYou should have DHCP running ...\n\tFor more \ +information on this project consult the homepage on\n\t\t\ +http://www.openslx.org\n\tENDTEXT" \ + >> ${BUILDDIR}/iso/isolinux/isolinux.cfg + type=$(echo $i|tr [:upper:] [:lower:]) + echo -e "\tKERNEL vmlinuz\n\tAPPEND initrd=cdirfs $type quiet" \ + >> ${BUILDDIR}/iso/isolinux/isolinux.cfg +done + +# write some info, if CD/DVD is still in drive +echo -e "You seem to have the OpenSLX network demo CD/DVD still in your \ +optical\ndrive! This is not required. You may safely remove the medium \ +just\nafter the first kernel/initramfs is loaded ...\n\nIf you have any \ +feedback please consult http://openslx.org/feedback\nand send your comments \ +to feedback@openslx.org!" > ${BUILDDIR}/iso/README +echo -e "This package is free software distributed under the GPL version 2.\ +\nSee http://openslx.org/COPYING" > ${BUILDDIR}/iso/LICENSE + +# produce the iso image +mkisofs -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -r -J -l \ + -boot-info-table -o OpenSLX.iso -joliet-long -publisher "OpenSLX \ +Project - http://www.openslx.org" -p "OpenSLX Project - \ +openslx-devel@openslx.org" -relaxed-filenames -V "OpenSLX BootCD" \ + -volset "OpenSLX Project - PreBoot CD for non PXE/TFTP start of a \ +Linux Stateless Client" -c isolinux/boot.cat ${BUILDDIR}/iso diff --git a/initramfs/cdboot/uclib/ld-uClibc-0.9.27.so b/initramfs/cdboot/uclib/ld-uClibc-0.9.27.so new file mode 100755 index 00000000..9ad7e98b Binary files /dev/null and b/initramfs/cdboot/uclib/ld-uClibc-0.9.27.so differ diff --git a/initramfs/cdboot/uclib/ld-uClibc.so.0 b/initramfs/cdboot/uclib/ld-uClibc.so.0 new file mode 120000 index 00000000..e0849821 --- /dev/null +++ b/initramfs/cdboot/uclib/ld-uClibc.so.0 @@ -0,0 +1 @@ +ld-uClibc-0.9.27.so \ No newline at end of file diff --git a/initramfs/cdboot/uclib/libc.so.0 b/initramfs/cdboot/uclib/libc.so.0 new file mode 120000 index 00000000..9c0dc22b --- /dev/null +++ b/initramfs/cdboot/uclib/libc.so.0 @@ -0,0 +1 @@ +libuClibc-0.9.27.so \ No newline at end of file diff --git a/initramfs/cdboot/uclib/libcrypt-0.9.27.so b/initramfs/cdboot/uclib/libcrypt-0.9.27.so new file mode 100644 index 00000000..8d18cb75 Binary files /dev/null and b/initramfs/cdboot/uclib/libcrypt-0.9.27.so differ diff --git a/initramfs/cdboot/uclib/libcrypt.so.0 b/initramfs/cdboot/uclib/libcrypt.so.0 new file mode 120000 index 00000000..baac9b0c --- /dev/null +++ b/initramfs/cdboot/uclib/libcrypt.so.0 @@ -0,0 +1 @@ +libcrypt-0.9.27.so \ No newline at end of file diff --git a/initramfs/cdboot/uclib/libdl-0.9.27.so b/initramfs/cdboot/uclib/libdl-0.9.27.so new file mode 100644 index 00000000..6ca4d9e7 Binary files /dev/null and b/initramfs/cdboot/uclib/libdl-0.9.27.so differ diff --git a/initramfs/cdboot/uclib/libdl.so.0 b/initramfs/cdboot/uclib/libdl.so.0 new file mode 120000 index 00000000..64571159 --- /dev/null +++ b/initramfs/cdboot/uclib/libdl.so.0 @@ -0,0 +1 @@ +libdl-0.9.27.so \ No newline at end of file diff --git a/initramfs/cdboot/uclib/libm-0.9.27.so b/initramfs/cdboot/uclib/libm-0.9.27.so new file mode 100644 index 00000000..30e9c358 Binary files /dev/null and b/initramfs/cdboot/uclib/libm-0.9.27.so differ diff --git a/initramfs/cdboot/uclib/libm.so.0 b/initramfs/cdboot/uclib/libm.so.0 new file mode 120000 index 00000000..25b1d11e --- /dev/null +++ b/initramfs/cdboot/uclib/libm.so.0 @@ -0,0 +1 @@ +libm-0.9.27.so \ No newline at end of file diff --git a/initramfs/cdboot/uclib/libnsl-0.9.27.so b/initramfs/cdboot/uclib/libnsl-0.9.27.so new file mode 100644 index 00000000..40afd103 Binary files /dev/null and b/initramfs/cdboot/uclib/libnsl-0.9.27.so differ diff --git a/initramfs/cdboot/uclib/libnsl.so.0 b/initramfs/cdboot/uclib/libnsl.so.0 new file mode 120000 index 00000000..c783c65a --- /dev/null +++ b/initramfs/cdboot/uclib/libnsl.so.0 @@ -0,0 +1 @@ +libnsl-0.9.27.so \ No newline at end of file diff --git a/initramfs/cdboot/uclib/libresolv-0.9.27.so b/initramfs/cdboot/uclib/libresolv-0.9.27.so new file mode 100644 index 00000000..11285423 Binary files /dev/null and b/initramfs/cdboot/uclib/libresolv-0.9.27.so differ diff --git a/initramfs/cdboot/uclib/libresolv.so.0 b/initramfs/cdboot/uclib/libresolv.so.0 new file mode 120000 index 00000000..d34218a9 --- /dev/null +++ b/initramfs/cdboot/uclib/libresolv.so.0 @@ -0,0 +1 @@ +libresolv-0.9.27.so \ No newline at end of file diff --git a/initramfs/cdboot/uclib/librt-0.9.27.so b/initramfs/cdboot/uclib/librt-0.9.27.so new file mode 100644 index 00000000..1558117a Binary files /dev/null and b/initramfs/cdboot/uclib/librt-0.9.27.so differ diff --git a/initramfs/cdboot/uclib/librt.so.0 b/initramfs/cdboot/uclib/librt.so.0 new file mode 120000 index 00000000..5e13a1b1 --- /dev/null +++ b/initramfs/cdboot/uclib/librt.so.0 @@ -0,0 +1 @@ +librt-0.9.27.so \ No newline at end of file diff --git a/initramfs/cdboot/uclib/libthread_db-0.9.27.so b/initramfs/cdboot/uclib/libthread_db-0.9.27.so new file mode 100644 index 00000000..f5fecbf7 Binary files /dev/null and b/initramfs/cdboot/uclib/libthread_db-0.9.27.so differ diff --git a/initramfs/cdboot/uclib/libuClibc-0.9.27.so b/initramfs/cdboot/uclib/libuClibc-0.9.27.so new file mode 100644 index 00000000..963dfd64 Binary files /dev/null and b/initramfs/cdboot/uclib/libuClibc-0.9.27.so differ diff --git a/initramfs/cdboot/uclib/libutil-0.9.27.so b/initramfs/cdboot/uclib/libutil-0.9.27.so new file mode 100644 index 00000000..8b39886d Binary files /dev/null and b/initramfs/cdboot/uclib/libutil-0.9.27.so differ diff --git a/initramfs/cdboot/uclib/libutil.so.0 b/initramfs/cdboot/uclib/libutil.so.0 new file mode 120000 index 00000000..a6852d1f --- /dev/null +++ b/initramfs/cdboot/uclib/libutil.so.0 @@ -0,0 +1 @@ +libutil-0.9.27.so \ No newline at end of file -- cgit v1.2.3-55-g7522