Update of /cvsroot/leaf/src/The_UnNamed_One/apps/initrd
In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv15949/apps/initrd
Added Files:
README buildtool.cfg buildtool.mk common.cfg mdev.conf modules
modules.cd modules.ide modules.usb root.init
Log Message:
initial import
--- NEW FILE: root.init ---
#!/bin/busybox sh
# These are the system defaults. They may be overwritten in leaf.cfg
DEF_syst_size=6M # Size of root partition
DEF_log_size=2M # Size of /var/log partition
DEF_CONFIGDB=configdb
DEF_MODDB=moddb
Lecho () { echo "INIT: $@"; }
#verbose() { [ $VERBOSE ] && echo " * $@" }
LRPKG_ROOT=/var/lib/lrpkg
NEW_LRPKG_ROOT=/new_root/var/lib/lrpkg
BOOT=/boot
# Set the internal field separator.
IFS='
'
# Remember it for later restoral.
OIFS="$IFS"
# Mount proc and sysfs
/bin/busybox mount -t proc /proc /proc
/bin/busybox mount -t sysfs /sys /sys
# Setup busybox.
/bin/busybox --install -s
# Tell the user who we are.
VERSION="`cat $LRPKG_ROOT/initrd.version`"
Lecho "LEAF - Initramfs - $VERSION"
# Process kernel command line and assign values to variables
for i in `cat /proc/cmdline` ; do
case $i in
*=*) eval KCMD_$i ;;
*) eval KCMD_$i=$i ;;
esac
done
VERBOSE=$KCMD_VERBOSE
# Load any modules required to boot
if [ -r $BOOT/etc/modules ] ; then
# Loop over every line in modules
[ "$VERBOSE" ] && Lecho "Loading modules..."
# make sure there is a LF at the end
(cat $BOOT/etc/modules; echo) |
while read module args; do
case "$module" in
\#*|"") continue;;
esac
[ "$VERBOSE" ] && Lecho "Loading $module"
/sbin/insmod $BOOT/lib/modules/"$module".ko $args
done
fi
# Wait for initialization of modules.
if [ "$KCMD_MODWAIT" ] ; then
[ "$VERBOSE" ] && Lecho "Waiting for module initialization
($KCMD_MODWAIT) ... "
sleep $KCMD_MODWAIT
fi
[ "$VERBOSE" ] && Lecho "Populating /dev..."
mdev -s
# handle hotplug events
#echo /sbin/mdev > /proc/sys/kernel/hotplug
# Now we try to locate the leaf.cfg and slurp it in.
MNT="$LRPKG_ROOT/mnt"
mkdir $MNT
# Try to mount configuration device and read any leaf.cfg file
[ "$VERBOSE" ] && Lecho "Looking for leaf.cfg..."
IFS=:
set -- $KCMD_LEAFCFG
IFS="$OIFS"
if [ -b "$1" ] ; then
[ "$VERBOSE" ] && Lecho "Trying to locate leaf.cfg: mount -nrt $2 $1
$MNT"
if mount -nrt $2 $1 $MNT ; then
[ -r $MNT/leaf.cfg ] && source $MNT/leaf.cfg
umount $MNT
fi
fi
# Set config variables, falling back to defaults
for i in LRP PKGPATH CONFIGDB MODDB syst_size tmp_size log_size; do
eval $i=\"\${$i:-\${KCMD_$i:-\$DEF_$i}}\"
done
# Create our new root filesystem and switch to it.
mkdir /new_root
Lecho "Mounting a $syst_size TMPFS filesystem..."
mount -t tmpfs /dev/root /new_root -o size=$syst_size
# Copy over everything from the old root to the new root. And skip ourself.
for ii in /*
do
case $ii in
/new_root) ;;
/proc) ;;
/sys) ;;
/dev) ;;
/etc) ;;
/init) ;;
*) cp -dpR $ii /new_root ;;
esac
done
# Now do the switch to the new root.
cd /new_root
mkdir proc
mkdir sys
mkdir dev
#mkdir dev/inet
#mkdir dev/net
mkdir etc
mkdir tmp
mkdir mnt
mkdir nfs
mkdir var/lock
mkdir var/run
ln -s tmp var/tmp
ln -s tmp usr/tmp
ln -s bin/busybox init
[ "$VERBOSE" ] && Lecho "Generating /tmp & /var/log partitions ..."
mount -t tmpfs tmpfs /new_root/tmp -o defaults${tmp_size:+,size=$tmp_size}
mount -t tmpfs tmpfs /new_root/var/log -o size=$log_size
# Here we mount all the devices specified in $PKGPATH.
if [ -n "$PKGPATH" ]; then
: >$NEW_LRPKG_ROOT/pkgpath.disks
[ "$VERBOSE" ] && Lecho "PKGPATH: $PKGPATH"
devcount=1
IFS="$IFS,"
for dev in ${PKGPATH}; do
IFS=':'
set -- ${dev}
dev=$1
fstype=$2
mkdir /mnt$devcount
IFS="$OIFS"
[ "$VERBOSE" ] && Lecho "Mounting $dev on /mnt$devcount"
if mount -rt $fstype $dev /mnt$devcount ; then
[ "$VERBOSE" ] && Lecho "Mounted $dev as $fstype"
echo "$dev $fstype" >>$NEW_LRPKG_ROOT/pkgpath.disks
devlist="$dev:+/mnt$devcount:-$fstype,$devlist"
rdevlist="$rdevlist,$dev:+/mnt$devcount:-$fstype"
if [ $devcount -eq 1 ] ; then
echo
"${KCMD_initrd%.lrp}">$NEW_LRPKG_ROOT/packages
#echo "${initrd%.lrp}">$NEW_LRPKG_ROOT/packages
fi
fi
devcount=$(expr $devcount + 1)
done
IFS="$OIFS"
else
Lecho "PKGPATH is empty or unset. Can not install packages."
fi
# Delete trailing comma ...
devlist=${devlist%,}
# ... and delete leading comma.
rdevlist=${rdevlist#,}
# Unpack all .lrp files into our previously created root filesystem.
if [ ! "$LRP" = "" ]; then
echo -n "LINUXRC: Installing -"
echo configdb=$CONFIGDB >$NEW_LRPKG_ROOT/backup
echo moddb=$MODDB >>$NEW_LRPKG_ROOT/backup
IFS="$IFS,"
for package_name in ${LRP} $CONFIGDB $MODDB; do
usedevlist=$rdevlist
found=0
echo -n " $package_name:"
IFS=","
for devtype in ${usedevlist}; do
# Extract device ...
dev="${devtype%:+*}"
# ... and mountpoint ...
mnt="${devtype%:-*}"
mnt="${mnt#*:+}"
# ... and filesystem type out of devtype.
fstype="${devtype#*:-}"
[ "$VERBOSE" ] && echo -n " dev: $dev mnt: $mnt fstype:
$fsytpe package_name: $mnt/$package_name.lrp"
if [ $found -ne 1 ]; then
if [ -f $mnt/$package_name.lrp ]; then
echo -n " $dev"
gunzip -t $mnt/$package_name.lrp
if [ $? -eq 0 ]; then
tar -zxvpf
$mnt/$package_name.lrp > $NEW_LRPKG_ROOT/$package_name.list
#Update installed packages file
[ $found -ne 1 ] && echo
"$package_name">>$NEW_LRPKG_ROOT/packages
#Calculate sha1sum
if [ -f
$NEW_LRPKG_ROOT/$package_name.local ] ; then
cat
$NEW_LRPKG_ROOT/$package_name.local | while read file_name ; do
[ -e "$file_name" ] &&
find "$file_name" -type f | xargs sha1sum >> $NEW_LRPKG_ROOT/$package_name.sha1
done
fi
found=1
else
echo -n "(cpt!)"
[ $found -eq 0 ] && found=2
fi
fi
fi
done
if [ $found -eq 0 ]; then
echo -n " $package_name(nf!)"
fi
done
IFS="$OIFS"
echo " - Finished."
else
Lecho "LRP= is empty or unset. Can not install packages."
fi
# Can't hurt
sync
sleep 1
# Here we unmount all the devices specified in $PKGPATH.
IFS=","
for devtype in ${devlist}; do
# Extract the mountpoint again.
mnt="${devtype%:-*}"
mnt="${mnt#*:+}"
[ "$VERBOSE" ] && Lecho "Unmounting $mnt"
umount $mnt
[ "$VERBOSE" ] && Lecho "Removing $mnt"
rmdir $mnt
done
IFS="$OIFS"
Lecho "Loaded Packages"
# Now pass control on to /sbin/init
# needed? also for console? Or remove /dev exclusion in cp to new_root and
overwrite with mdev -s in userspace
mknod /new_root/dev/console c 5 1
mknod /new_root/dev/null c 1 3
#echo > /proc/sys/kernel/hotplug
umount /proc
umount /sys
exec switch_root /new_root /init
exit 0
--- NEW FILE: mdev.conf ---
# mdev config
--- NEW FILE: modules.cd ---
floppy
serio
i8042
libps2
atkbd
# CD-ROM and HD support
cdrom
ide-core
ide-disk
ide-cd
ide-generic
isofs
vfat
--- NEW FILE: modules ---
floppy
serio
i8042
libps2
atkbd
--- NEW FILE: README ---
Insert in the /boot/etc/modules files the modules that you want to load
right after initrd is mounted.
This feature is generally used to give access to the media
where all the LEAF packages are stored.
For example to give access to an IDE hard disk
your will have the following sequence
ide-core
ide-disk
ide-detect
The modules must be available in the /boot/lib/modules directory
--- NEW FILE: common.cfg ---
#<File>
# Filename = dev/console
# Type = device
# devtype = c
# major = 5
# minor = 1
# Permissions = 644
#</File>
<File>
Source =
lib/modules/2.6.24.2/kernel/drivers/block/floppy.ko
Filename = boot/lib/modules/floppy.ko
Type = binary
Permissions = 644
</File>
<File>
Source =
lib/modules/2.6.24.2/kernel/drivers/input/keyboard/atkbd.ko
Filename = boot/lib/modules/atkbd.ko
Type = binary
Permissions = 644
</File>
<File>
Source =
lib/modules/2.6.24.2/kernel/drivers/input/serio/i8042.ko
Filename = boot/lib/modules/i8042.ko
Type = binary
Permissions = 644
</File>
<File>
Source =
lib/modules/2.6.24.2/kernel/drivers/input/serio/serio.ko
Filename = boot/lib/modules/serio.ko
Type = binary
Permissions = 644
</File>
<File>
Source =
lib/modules/2.6.24.2/kernel/drivers/input/serio/libps2.ko
Filename = boot/lib/modules/libps2.ko
Type = binary
Permissions = 644
</File>
<File>
Source = boot/etc/mdev.conf
Filename = etc/mdev.conf
Type = binary
Permissions = 644
</File>
<File>
Source = lib/ld-uClibc-target.so
Filename = lib/ld-uClibc-0.9.28.so
Type = binary
Permissions = 755
</File>
<File>
Source = lib/libcrypt-0.9.28.so
Filename = lib/libcrypt-0.9.28.so
Type = binary
Permissions = 644
</File>
<File>
Source = lib/libuClibc-0.9.28.so
Filename = lib/libuClibc-0.9.28.so
Type = binary
Permissions = 644
</File>
<File>
Filename = lib/libcrypt.so.0
Target = lib/libcrypt-0.9.28.so
Type = link
</File>
<File>
Filename = lib/ld-uClibc.so.0
Target = lib/ld-uClibc-0.9.28.so
Type = link
</File>
<File>
Filename = lib/libc.so.0
Target = lib/libuClibc-0.9.28.so
Type = link
</File>
<File>
Source = bin/busybox
Filename = bin/busybox
Type = binary
Permissions = 4755
</File>
<File>
Filename = sbin
Type = directory
Permissions = 755
</File>
<File>
Source = boot/etc/README
Filename = boot/etc/README
Type = binary
# Type = conf
# Description = Readme first
Permissions = 644
</File>
<File>
Filename = boot/lib/modules
Type = directory
Permissions = 755
</File>
<File>
Filename = usr/bin
Type = directory
Permissions = 755
</File>
<File>
Filename = usr/sbin
Type = directory
Permissions = 755
</File>
<File>
Filename = var/log
Type = directory
Permissions = 755
</File>
<File>
Source = var/lib/lrpkg/root.init
Filename = init
Type = binary
Permissions = 755
</File>
<File>
Filename = proc
Type = directory
Permissions = 555
</File>
<File>
Filename = sys
Type = directory
Permissions = 755
</File>
--- NEW FILE: buildtool.mk ---
# makefile for initrd
include $(MASTERMAKEFILE)
INITRD_DIR=.
INITRD_TARGET_DIR:=$(BT_BUILD_DIR)/config
$(INITRD_DIR)/.source:
touch $(INITRD_DIR)/.source
source: $(INITRD_DIR)/.source
$(INITRD_DIR)/.configured: $(INITRD_DIR)/.source
touch $(INITRD_DIR)/.configured
$(INITRD_DIR)/.build: $(INITRD_DIR)/.configured
mkdir -p $(INITRD_TARGET_DIR)
mkdir -p $(INITRD_TARGET_DIR)/var/lib/lrpkg
mkdir -p $(INITRD_TARGET_DIR)/boot/etc
cp -a modules $(INITRD_TARGET_DIR)/boot/etc
cp -a modules.ide $(INITRD_TARGET_DIR)/boot/etc
cp -a modules.cd $(INITRD_TARGET_DIR)/boot/etc
cp -a modules.usb $(INITRD_TARGET_DIR)/boot/etc
cp -a README $(INITRD_TARGET_DIR)/boot/etc
# cp -a root.blk.mk $(INITRD_TARGET_DIR)/var/lib/lrpkg
# cp -a root.dev.mk $(INITRD_TARGET_DIR)/var/lib/lrpkg
cp -a root.init $(INITRD_TARGET_DIR)/var/lib/lrpkg
cp -a mdev.conf $(INITRD_TARGET_DIR)/boot/etc/
cp -a $(INITRD_TARGET_DIR)/* $(BT_STAGING_DIR)
touch $(INITRD_DIR)/.build
build: $(INITRD_DIR)/.build
clean:
rm -rf $(INITRD_TARGET_DIR)
rm -f $(INITRD_DIR)/.build
rm -f $(INITRD_DIR)/.configured
srcclean: clean
rm -f $(INITRD_DIR)/.source
rm -f $(INITRD_DIR)/root.init
rm -f $(INITRD_DIR)/root.dev.mk
rm -f $(INITRD_DIR)/root.blk.mk
rm -f $(INITRD_DIR)/modules
rm -f $(INITRD_DIR)/modules.ide
rm -f $(INITRD_DIR)/modules.cd
rm -f $(INITRD_DIR)/modules.usb
rm -f $(INITRD_DIR)/README
--- NEW FILE: modules.ide ---
floppy
serio
i8042
libps2
atkbd
#IDE support
ide-core
ide-disk
ide-generic
vfat
--- NEW FILE: modules.usb ---
floppy
serio
i8042
libps2
atkbd
# USB support
usbcore
ide-core
usb-uhci
scsi_mod
usb-storage
sd_mod
vfat
--- NEW FILE: buildtool.cfg ---
<File buildtool.mk>
Server = cvs-sourceforge
Revision = HEAD
Directory = initrd
</File>
<File mdev.conf>
Server = cvs-sourceforge
Revision = HEAD
Directory = initrd
</File>
<File root.init>
Server = cvs-sourceforge
Revision = HEAD
Directory = initrd
</File>
<File modules>
Server = cvs-sourceforge
Revision = HEAD
Directory = initrd
</File>
<File modules.ide>
Server = cvs-sourceforge
Revision = HEAD
Directory = initrd
</File>
<File modules.cd>
Server = cvs-sourceforge
Revision = HEAD
Directory = initrd
</File>
<File modules.usb>
Server = cvs-sourceforge
Revision = HEAD
Directory = initrd
</File>
<File README>
Server = cvs-sourceforge
Revision = HEAD
Directory = initrd
</File>
<File common.cfg>
Server = cvs-sourceforge
Revision = HEAD
Directory = initrd
</File>
<Package>
<initrd>
packagetype = ramfs
packagename = initrd
Version = 1.0ALPHA1
Revision = 0
Help <<EOF
LEAF The_UnNamed_One initial filesystem
This is not an ordinary *.LRP package !
LEAF package by __PACKAGER__, __BUILDDATE__
EOF
<Permissions>
Files = 644
Directories = 755
</Permissions>
<Owner>
Files = root:root
Directories = root:root
</Owner>
<Contents>
#include <common.cfg>
<File>
Source = boot/etc/modules
Filename = boot/etc/modules
Type = binary
Description = Modules to load before any
other package
Permissions = 644
</File>
</Contents>
</initrd>
<initrd_ide>
packagetype = ramfs
packagename = initrd
Version = 1.0ALPHA1
Revision = 0
Help <<EOF
LEAF The_UnNamed_One initial filesystem
This is not an ordinary *.LRP package !
LEAF package by __PACKAGER__, __BUILDDATE__
EOF
<Permissions>
Files = 644
Directories = 755
</Permissions>
<Owner>
Files = root:root
Directories = root:root
</Owner>
<Contents>
#include <common.cfg>
<File>
Source = boot/etc/modules.ide
Filename = boot/etc/modules
Type = binary
Description = Modules to load before any
other package
Permissions = 644
</File>
<File>
Source =
lib/modules/2.6.24.2/kernel/drivers/ide/ide-core.ko
Filename = boot/lib/modules/ide-core.ko
Type = binary
Permissions = 644
</File>
<File>
Source =
lib/modules/2.6.24.2/kernel/drivers/ide/ide-generic.ko
Filename =
boot/lib/modules/ide-generic.ko
Type = binary
Permissions = 644
</File>
<File>
Source =
lib/modules/2.6.24.2/kernel/drivers/ide/ide-disk.ko
Filename = boot/lib/modules/ide-disk.ko
Type = binary
Permissions = 644
</File>
<File>
Source =
lib/modules/2.6.24.2/kernel/fs/vfat/vfat.ko
Filename = boot/lib/modules/vfat.ko
Type = binary
Permissions = 644
</File>
</Contents>
</initrd_ide>
<initrd_ide_cd>
packagetype = ramfs
packagename = initrd
Version = 1.0ALPHA1
Revision = 0
Help <<EOF
LEAF The_UnNamed_One initial filesystem
This is not an ordinary *.LRP package !
LEAF package by __PACKAGER__, __BUILDDATE__
EOF
<Permissions>
Files = 644
Directories = 755
</Permissions>
<Owner>
Files = root:root
Directories = root:root
</Owner>
<Contents>
#include <common.cfg>
<File>
Source = boot/etc/modules.cd
Filename = boot/etc/modules
Type = binary
Description = Modules to load before any
other package
Permissions = 644
</File>
<File>
Source =
lib/modules/2.6.24.2/kernel/drivers/ide/ide-core.ko
Filename = boot/lib/modules/ide-core.ko
Type = binary
Permissions = 644
</File>
<File>
Source =
lib/modules/2.6.24.2/kernel/drivers/ide/ide-generic.ko
Filename =
boot/lib/modules/ide-generic.ko
Type = binary
Permissions = 644
</File>
<File>
Source =
lib/modules/2.6.24.2/kernel/drivers/ide/ide-disk.ko
Filename = boot/lib/modules/ide-disk.ko
Type = binary
Permissions = 644
</File>
<File>
Source =
lib/modules/2.6.24.2/kernel/fs/vfat/vfat.ko
Filename = boot/lib/modules/vfat.ko
Type = binary
Permissions = 644
</File>
<File>
Source =
lib/modules/2.6.24.2/kernel/fs/isofs/isofs.ko
Filename = boot/lib/modules/isofs.ko
Type = binary
Permissions = 644
</File>
<File>
Source =
lib/modules/2.6.24.2/kernel/drivers/cdrom/cdrom.ko
Filename = boot/lib/modules/cdrom.ko
Type = binary
Permissions = 644
</File>
</Contents>
</initrd_ide_cd>
</Package>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
leaf-cvs-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/leaf-cvs-commits