diff options
Diffstat (limited to 'abs/core/linhes-live/lib')
-rwxr-xr-x | abs/core/linhes-live/lib/initcpio/gen_larch_init | 12 | ||||
-rw-r--r-- | abs/core/linhes-live/lib/initcpio/hooks/larch1 | 125 | ||||
-rw-r--r-- | abs/core/linhes-live/lib/initcpio/hooks/larch2 | 33 | ||||
-rw-r--r-- | abs/core/linhes-live/lib/initcpio/hooks/larch2_aufs | 33 | ||||
-rw-r--r-- | abs/core/linhes-live/lib/initcpio/hooks/larch3 | 196 | ||||
-rw-r--r-- | abs/core/linhes-live/lib/initcpio/install/larch1 | 15 | ||||
-rw-r--r-- | abs/core/linhes-live/lib/initcpio/install/larch2 | 15 | ||||
-rw-r--r-- | abs/core/linhes-live/lib/initcpio/install/larch2_aufs | 15 | ||||
-rw-r--r-- | abs/core/linhes-live/lib/initcpio/install/larch3 | 18 | ||||
-rwxr-xr-x | abs/core/linhes-live/lib/initcpio/kinit | 6 | ||||
-rw-r--r-- | abs/core/linhes-live/lib/initcpio/mkinitcpio.conf | 54 |
11 files changed, 0 insertions, 522 deletions
diff --git a/abs/core/linhes-live/lib/initcpio/gen_larch_init b/abs/core/linhes-live/lib/initcpio/gen_larch_init deleted file mode 100755 index d834e8f..0000000 --- a/abs/core/linhes-live/lib/initcpio/gen_larch_init +++ /dev/null @@ -1,12 +0,0 @@ -#! /bin/bash - -# gen_larch_init -# -# Author: Michael Towers <gradgrind[at]online[dot]de> - -# Create an initramfs for a larch live system -# $1 - kernel version - -# The cpio.gz image is generated in larch.img - -/sbin/mkinitcpio -c /lib/initcpio/mkinitcpio.conf -k $1 -g larch.img diff --git a/abs/core/linhes-live/lib/initcpio/hooks/larch1 b/abs/core/linhes-live/lib/initcpio/hooks/larch1 deleted file mode 100644 index 88ccc3e..0000000 --- a/abs/core/linhes-live/lib/initcpio/hooks/larch1 +++ /dev/null @@ -1,125 +0,0 @@ -# vim: set ft=sh: - -# larch1 - live 'hook' for mkinitcpio: set up tmpfs and find boot device - -# Author: Michael Towers (gradgrind) <mt.42@web.de> -# -# This file is part of the larch project. -# -# larch 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. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -#2008.02.11 - -# Replacement for msg which includes leading and trailing spaces -msg_ () { [ "${quiet}" != "y" ] && echo "$@"; } - -# Try to mount a disk, partition or cdrom and look for the file -# 'larchboot' in the /larch directory. -# If LiveCD system found in the device, return 0, else return 1 -# and leave the device mounted. -# $1 = device name (e.g. "/dev/hda2") -# $2 = directory where devices will be mounted -# -test_live_data_dir () -{ - /bin/mount -r -t iso9660 "$1" $2 >/dev/null 2>/dev/null || \ - /bin/mount -r -t vfat -o noatime,nodiratime "$1" $2 >/dev/null 2>/dev/null || \ - /bin/mount -r -t ext2 -o noatime,nodiratime "$1" $2 >/dev/null 2>/dev/null - if [ $? -eq 0 ]; then - if [ -f "$2/larch/larchboot" ]; then - LDEV="$1" - msg_ " ... found at $1" - return 0 - else - /bin/umount $2 2>/dev/null - msg_ " ... $1 mounted, but no 'larch/larchboot' found" - fi - else - msg_ " ... not $1" - fi - return 1 -} - -run_hook () -{ - msg_ ":: Creating writeable filesystem (tmpfs)" - /bin/mkdir "/tfs" - # Boot option copy-to-ram (c2r) - if [ "${c2r}" = "y" ]; then - TFSSIZE="90%" - else - TFSSIZE="60%" - fi - /bin/mount -t tmpfs -o "size=${TFSSIZE}" tmpfs "/tfs" - - # Directory for test mounts (and then for live CD) - cdmount="/livecd" - /bin/mkdir "${cdmount}" - - # look for livecd data directory, first try ${root} - LDEV="${root}" - if [ "x${LDEV}" != "x" ]; then - /bin/mount -r -t iso9660 "${LDEV}" "${cdmount}" >/dev/null 2>/dev/null || \ - /bin/mount -r -t vfat -o noatime,nodiratime "${LDEV}" "${cdmount}" >/dev/null 2>/dev/null || \ - /bin/mount -r -t ext2 -o noatime,nodiratime "${LDEV}" "${cdmount}" >/dev/null 2>/dev/null - if [ $? -eq 0 ]; then - if [ -d "${cdmount}/larch" ]; then - msg_ ":: larch system at ${LDEV}" - else - /bin/umount "${cdmount}" 2>/dev/null - echo "!! No larch system at ${LDEV}" - LDEV="" - fi - else - echo "!! Couldn't mount ${LDEV}" - LDEV="" - fi - fi - - # then try cdroms - if [ "x${LDEV}" = "x" ]; then - msg_ ":: Looking for boot device" - cdroms=$( /bin/cat /proc/sys/dev/cdrom/info | { while read a b c; do - if [ "${a}" = "drive" -a "${b}" = "name:" ]; then - echo "${c}" - break - fi - done - } ) - for i in ${cdroms}; do - test_live_data_dir "/dev/${i}" "${cdmount}" - if [ $? -eq 0 ]; then break; fi - done - fi - - # test USB devices (and disks) repeatedly until timed out - if [ "x${LDEV}" = "x" ]; then - msg_ ":: Searching for usb (and disk) devices .." - for i in 1 2 3 4 5; do - msg_ " :wait ${i} :::" - /bin/sleep ${i} - for d in /dev/sd[a-z][0-9]*; do - test_live_data_dir "${d}" "${cdmount}" - if [ $? -eq 0 ]; then break 2; fi - done - msg_ ":: Searching for usb cdroms .." - for d in /dev/sr[0-9]*; do - test_live_data_dir "${d}" "${cdmount}" - if [ $? -eq 0 ]; then break 2; fi - done - done - fi -} diff --git a/abs/core/linhes-live/lib/initcpio/hooks/larch2 b/abs/core/linhes-live/lib/initcpio/hooks/larch2 deleted file mode 100644 index 74b4e64..0000000 --- a/abs/core/linhes-live/lib/initcpio/hooks/larch2 +++ /dev/null @@ -1,33 +0,0 @@ -# larch2 - live 'hook' for mkinitcpio: unionfs specific - -# Author: Michael Towers (gradgrind) <mt.42@web.de> -# -# This file is part of the larch project. -# -# larch 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. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -#2007.12.13 - -run_hook () -{ - #!!! --- unionfs specific - # Need unionfs module - /bin/modprobe unionfs - ovlmnt="ro" - bropt="dirs=" - sqfmnt="ro" - utype="unionfs" -} diff --git a/abs/core/linhes-live/lib/initcpio/hooks/larch2_aufs b/abs/core/linhes-live/lib/initcpio/hooks/larch2_aufs deleted file mode 100644 index ac8e40b..0000000 --- a/abs/core/linhes-live/lib/initcpio/hooks/larch2_aufs +++ /dev/null @@ -1,33 +0,0 @@ -# larch2_aufs - live 'hook' for mkinitcpio: aufs specific - -# Author: Michael Towers (gradgrind) <mt.42@web.de> -# -# This file is part of the larch project. -# -# larch 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. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2008.02.29 - -run_hook () -{ - #!!! --- aufs specific - # Need aufs module - /bin/modprobe aufs - ovlmnt="rr+wh" - sqfmnt="rr" - bropt="br:" - utype="aufs" -} diff --git a/abs/core/linhes-live/lib/initcpio/hooks/larch3 b/abs/core/linhes-live/lib/initcpio/hooks/larch3 deleted file mode 100644 index b301aa9..0000000 --- a/abs/core/linhes-live/lib/initcpio/hooks/larch3 +++ /dev/null @@ -1,196 +0,0 @@ -# larch3 - live 'hook' for mkinitcpio: -# deal with c2r, -# mount base system, -# load overlay, -# set up unioned root filesystem. -# Also manages overlay merging. - -# Author: Michael Towers <gradgrind[at]online[dot]de> -# -# This file is part of the larch project. -# -# larch 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. -# -# larch is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with larch; if not, write to the Free Software Foundation, Inc., -# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -#---------------------------------------------------------------------------- -# 2008.04.04 - -run_hook () -{ - if [ "x${LDEV}" = "x" ]; then - err "Sorry, couldn't find boot medium ..." - break="y" - return - fi - - /sbin/modprobe loop - - # Path to compressed base system - sysSqf=${cdmount}/system.sqf - - ovlpath=${cdmount} - - # A possibility to use alternative files: - if [ -f ${cdmount}/larch/boot-init ]; then - . ${cdmount}/larch/boot-init - fi - - # Path to compressed 'modifications' archive - modsSqf=${ovlpath}/mods.sqf - # Default overlay file and directory - overlay=${ovlpath}/overlay.ovl - - # Make union root - /bin/mkdir /union - - # Deal with new archives - if [ -f ${overlay}_ ]; then - /bin/mount -o remount,rw ${LDEV} ${cdmount} - /bin/mv ${overlay} ${overlay}~ - /bin/mv ${overlay}_ ${overlay} - - if [ -f ${modsSqf}_ ]; then - /bin/mv ${modsSqf} ${modsSqf}~ - /bin/mv ${modsSqf}_ ${modsSqf} - fi - /bin/mount -o remount,ro ${LDEV} ${cdmount} - fi - - # Boot option copy-to-ram (c2r) - if [ "${c2r}" = "y" ]; then - msg_ ":: Copying base system to RAM, this will take a while ..." - /bin/cat ${sysSqf} > /tfs/system.sqf - if [ $? -ne 0 ]; then - err "Sorry, not enough RAM" - break="y" - return - fi - sysSqf=/tfs/system.sqf - - msg_ ":: Copying mods archive to RAM, this might take a while ..." - /bin/cat ${modsSqf} > /tfs/mods.sqf - if [ $? -ne 0 ]; then - err "Sorry, not enough RAM" - break="y" - return - fi - modsSqf=/tfs/mods.sqf - - # force use of swap (if available) - :> /tfs/swapon - - elif [ "${swap}" = "y" ]; then - :> /tfs/swapon - fi - - msg_ ":: Mounting squashed images" - /bin/mkdir /tfs/system - #added sleep for 3 seconds, because well i don't know but it seems to fix things - sleep 3 - # The klibc mount command doesn't support '-o loop' - /bin/losetup /dev/loop0 ${sysSqf} - /bin/mount -r -t squashfs /dev/loop0 /tfs/system - - # Make stuff in 'system' available by providing the loader and - # library path - ldli=$( cd /tfs/system; echo lib/ld-linux*.so.2 ) - /bin/ln -s /tfs/system/${ldli} /${ldli} - export LD_LIBRARY_PATH=/tfs/system/lib:/tfs/system/usr/lib - - /bin/mkdir /tfs/mods - - # The klibc mount command doesn't support '-o loop' - /bin/losetup /dev/loop1 ${modsSqf} - /bin/mount -r -t squashfs /dev/loop1 /tfs/mods - - # Unpack the overlay - - msg_ ":: Initializing writable layer for union (overlay)" - /tfs/system/usr/bin/lzop -d < ${overlay} | \ - /tfs/system/bin/tar -C /tfs -xf - - - # Copy the installation tidy-up script (for removing custom live-only stuff), - # and any other files in 'larch/copy' directory - if [ -d ${ovlpath}/larch/copy ]; then - cd ${ovlpath}/larch/copy - for f in *; do - cat ${f} >/tfs/${f} - done - fi - - msg_ ":: Setting up union file system" - - layers="/tfs/overlay=rw:/tfs/mods=${ovlmnt}:/tfs/system=${sqfmnt}" - /bin/mount -t ${utype} -o ${bropt}${layers} ${utype} /union - - echo "${utype}" > /tfs/utype - - # Minimal device nodes needed before udev does its work - /bin/mkdir /union/dev - /bin/mknod /union/dev/console c 5 1 - /bin/mknod /union/dev/null c 1 3 - /bin/mknod /union/dev/zero c 1 5 - - # Make special directories - /bin/mkdir -m 1777 /union/tmp - /bin/mkdir /union/media - /bin/mkdir /union/sys - /bin/mkdir /union/proc - - # Make the tmpfs stuff accessible within the union - /bin/mkdir /union/.livesys - /bin/mount -o bind /tfs /union/.livesys - - /bin/mkdir /union/.livesys/medium - - /bin/mount -o bind /tfs/system /union/.livesys/system - /bin/mount -o bind /tfs/overlay /union/.livesys/overlay - /bin/mount -o bind ${cdmount} /union/.livesys/medium - - if [ "x${modsSqf}" != "x" ]; then - /bin/mount -o move /tfs/mods /union/.livesys/mods - fi - - # Remember the boot device - echo "${LDEV}" > /tfs/bootdevice - - if [ "${c2r}" = "y" ]; then - # Set flag to inform system of copy-to-ram - :> /tfs/c2r - - # Unmount boot device - /bin/umount ${cdmount} - fi - - msg_ ":: End of live system set-up" - - # Now some tweaks to alter 'init' actions from non-larch hooks, etc. - # Override rootdelay from usb hook - if [ "x${larchdelay}" = "x" ]; then - # To avoid spurious udevd pid numbers - export rootdelay=1 - else - # Allow adjustment via boot option - export rootdelay=${larchdelay} - fi - # root must be set to something or other, even though larch doesn't - # need it ... - export root="/dev/loop0" -} - -####### -# The actual root switch occurs later, when 'init' execs 'kinit'. -# I handle this by overwriting the 'kinit' binary with my own script. -# This will unmount dev, sys and proc and then exec run-init. -####### diff --git a/abs/core/linhes-live/lib/initcpio/install/larch1 b/abs/core/linhes-live/lib/initcpio/install/larch1 deleted file mode 100644 index 56baf48..0000000 --- a/abs/core/linhes-live/lib/initcpio/install/larch1 +++ /dev/null @@ -1,15 +0,0 @@ -install () -{ - MODULES="vfat isofs ext2 ext3 nls_cp437" - BINARIES="" - FILES="" - SCRIPT="larch1" -} - -help () -{ -cat<<HELPEOF - This hook deals with booting a larch live CD. It is the first larch hook, -creating a tmpfs and seeking the boot medium. -HELPEOF -} diff --git a/abs/core/linhes-live/lib/initcpio/install/larch2 b/abs/core/linhes-live/lib/initcpio/install/larch2 deleted file mode 100644 index a906227..0000000 --- a/abs/core/linhes-live/lib/initcpio/install/larch2 +++ /dev/null @@ -1,15 +0,0 @@ -install () -{ - MODULES="unionfs" - BINARIES="" - FILES="" - SCRIPT="larch2" -} - -help () -{ -cat<<HELPEOF - This hook deals with booting a larch live CD. It handles selection of the -desired unioning file system, here unionfs. -HELPEOF -} diff --git a/abs/core/linhes-live/lib/initcpio/install/larch2_aufs b/abs/core/linhes-live/lib/initcpio/install/larch2_aufs deleted file mode 100644 index 0e19de9..0000000 --- a/abs/core/linhes-live/lib/initcpio/install/larch2_aufs +++ /dev/null @@ -1,15 +0,0 @@ -install () -{ - MODULES="aufs" - BINARIES="" - FILES="" - SCRIPT="larch2_aufs" -} - -help () -{ -cat<<HELPEOF - This hook deals with booting a larch live CD. It handles selection of the -desired unioning file system, here aufs. -HELPEOF -} diff --git a/abs/core/linhes-live/lib/initcpio/install/larch3 b/abs/core/linhes-live/lib/initcpio/install/larch3 deleted file mode 100644 index 7dad03c..0000000 --- a/abs/core/linhes-live/lib/initcpio/install/larch3 +++ /dev/null @@ -1,18 +0,0 @@ -install () -{ - MODULES="squashfs loop reiserfs" - BINARIES="" - FILES="" - SCRIPT="larch3" -# add_file "/lib/initcpio/kinit" "/bin/kinit" ##### This doesn't work, so: - sed -i 's|.*/usr/lib/klibc/bin/kinit\.shared.*||' "${FILELIST}" - sed -i 's|/usr/lib/klibc/bin/kinit|/lib/initcpio/kinit|' "${FILELIST}" -} - -help () -{ -cat<<HELPEOF - This hook deals with booting a larch live CD. It is the last larch hook, -setting up the tmpfs root file system. -HELPEOF -} diff --git a/abs/core/linhes-live/lib/initcpio/kinit b/abs/core/linhes-live/lib/initcpio/kinit deleted file mode 100755 index 7c86f4b..0000000 --- a/abs/core/linhes-live/lib/initcpio/kinit +++ /dev/null @@ -1,6 +0,0 @@ -#! /bin/sh - -umount /sys -umount /proc -umount /dev -exec run-init -c /dev/console /union /sbin/init ${CMDLINE} diff --git a/abs/core/linhes-live/lib/initcpio/mkinitcpio.conf b/abs/core/linhes-live/lib/initcpio/mkinitcpio.conf deleted file mode 100644 index 79cca21..0000000 --- a/abs/core/linhes-live/lib/initcpio/mkinitcpio.conf +++ /dev/null @@ -1,54 +0,0 @@ -# vim:set ft=sh -# MODULES -# The following modules are loaded before any boot hooks are -# run. Advanced users may wish to specify all system modules -# in this array. For instance: -# MODULES="piix ide_disk reiserfs" -MODULES="" - -# BINARIES -# This setting includes, into the CPIO image, and additional -# binaries a given user may wish. This is run first, so may -# be used to override the actual binaries used in a given hook. -# (Existing files are NOT overwritten is already added) -# BINARIES are dependancy parsed, so you may safely ignore libraries -#BINARIES="" - -# FILES -# This setting is similar to BINARIES above, however, files are added -# as-is and are not parsed in anyway. This is useful for config files. -# Some users may wish to include modprobe.conf for custom module options, -# like so: -# FILES="/etc/modprobe.conf" -FILES="" - -# HOOKS -# This is the most important setting in this file. The HOOKS control the -# modules and scripts added to the image, and what happens at boot time. -# Order is important, and it is recommended that you do not change the -# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for -# help on a given hook. -# 'base' is _required_ unless you know precisely what you are doing. -# 'udev' is _required_ in order to automatically load modules -# 'modload' may be used in place of 'udev', but is not recommended -# 'filesystems' is _required_ unless you specify your fs modules in MODULES -# Examples: -# This setup specifies all modules in the MODULES setting above. -# No raid, lvm, or encrypted root is needed. -# HOOKS="base" -# -# This setup will autodetect all modules for your system and should -# work as a sane default -# HOOKS="base udev autodetect ide scsi sata filesystems" -# -# This setup will generate a 'full' image which supports most systems. -# No autodetection is done. -# HOOKS="base udev ide scsi sata usb filesystems" -# -# This setup assembles an ide raid array with an encrypted root FS. -# Note: See 'mkinitcpio -H raid' for more information on raid devices. -# HOOKS="base udev ide filesystems raid encrypt" -# -# This setup loads an LVM volume group on a usb device. -# HOOKS="base udev usb filesystems lvm" -HOOKS="base udev pata scsi sata usb larch1 larch2___aufs___ larch3" |