[paketler-commits] r12479 - in stable/pardus-1/system/base/mkinitramfs: . files
paketler-uludag at uludag.org.tr
paketler-uludag at uludag.org.tr
24 Eyl 2006 Paz 03:33:51 EEST
Author: onur
Date: Sun Sep 24 03:33:51 2006
New Revision: 12479
Modified:
stable/pardus-1/system/base/mkinitramfs/files/config.patch
stable/pardus-1/system/base/mkinitramfs/files/init
stable/pardus-1/system/base/mkinitramfs/files/mkinitramfs
stable/pardus-1/system/base/mkinitramfs/pspec.xml
Log:
hadi kimse boot edemesin
Modified: stable/pardus-1/system/base/mkinitramfs/files/config.patch
=================================================================
--- stable/pardus-1/system/base/mkinitramfs/files/config.patch (original)
+++ stable/pardus-1/system/base/mkinitramfs/files/config.patch Sun Sep 24 03:33:51 2006
@@ -1,5 +1,5 @@
---- /dev/null 2006-06-13 18:02:46.262572712 +0300
-+++ .config 2006-06-13 14:59:32.000000000 +0300
+--- /dev/null 2006-09-20 23:51:11.292240456 +0300
++++ .config 2006-09-20 21:32:25.340057320 +0300
@@ -0,0 +1,610 @@
+#
+# Automatically generated make config: don't edit
@@ -113,7 +113,7 @@
+# CONFIG_CAL is not set
+CONFIG_CAT=y
+# CONFIG_CHGRP is not set
-+# CONFIG_CHMOD is not set
++CONFIG_CHMOD=y
+# CONFIG_CHOWN is not set
+CONFIG_CHROOT=y
+# CONFIG_CMP is not set
@@ -166,7 +166,7 @@
+CONFIG_PWD=y
+# CONFIG_REALPATH is not set
+CONFIG_RM=y
-+# CONFIG_RMDIR is not set
++CONFIG_RMDIR=y
+CONFIG_SEQ=y
+CONFIG_SHA1SUM=y
+CONFIG_SLEEP=y
@@ -186,8 +186,8 @@
+# CONFIG_FEATURE_TEST_64 is not set
+CONFIG_TOUCH=y
+CONFIG_TR=y
-+# CONFIG_FEATURE_TR_CLASSES is not set
-+# CONFIG_FEATURE_TR_EQUIV is not set
++CONFIG_FEATURE_TR_CLASSES=y
++CONFIG_FEATURE_TR_EQUIV=y
+CONFIG_TRUE=y
+# CONFIG_TTY is not set
+CONFIG_UNAME=y
@@ -420,9 +420,9 @@
+# CONFIG_DEVFSD_VERBOSE is not set
+# CONFIG_EJECT is not set
+# CONFIG_LAST is not set
-+# CONFIG_LESS is not set
-+# CONFIG_FEATURE_LESS_BRACKETS is not set
-+# CONFIG_FEATURE_LESS_FLAGS is not set
++CONFIG_LESS=y
++CONFIG_FEATURE_LESS_BRACKETS=y
++CONFIG_FEATURE_LESS_FLAGS=y
+# CONFIG_FEATURE_LESS_FLAGCS is not set
+# CONFIG_FEATURE_LESS_MARKS is not set
+# CONFIG_FEATURE_LESS_REGEXP is not set
Modified: stable/pardus-1/system/base/mkinitramfs/files/init
=================================================================
--- stable/pardus-1/system/base/mkinitramfs/files/init (original)
+++ stable/pardus-1/system/base/mkinitramfs/files/init Sun Sep 24 03:33:51 2006
@@ -1,34 +1,146 @@
#!/bin/sh
+#
+# Simple init script that should handle both
+# livecd/tmpfs boot and hdd boot
+#
+
+PATH=/usr/sbin:/usr/bin:/sbin:/bin
+ROOT_LINKS='bin sbin lib boot usr opt'
+ROOT_TREES='etc root home var'
+LOOP="pardus.img"
+CDROOT=0
+QUIET=0
+ROOT_DEVICE=''
+IMG_DEVICES="hd?"
+
+
+fall2sh() {
+ echo "$*"
+ /bin/sh
+}
+
+probe_devices() {
+ /bin/coolplug 1> /dev/null 2>&1
+}
+
+parse_cmdline() {
+ for x in `cat /proc/cmdline`; do
+ case "${x}" in
+ [0123456Ss])
+ LEVEL=${x}
+ ;;
+ mudur=*livecd*)
+ CDROOT=1
+ ;;
+ root=*)
+ ROOT_DEVICE=`echo ${x}|cut -f2 -d=`
+ ;;
+ init=*)
+ INIT=`echo ${x}|cut -f2 -d=`
+ ;;
+ quiet)
+ QUIET=1
+ ;;
+ esac
+ done
+}
+
+findcdmount() {
+ if [ "$#" -gt "0" ]
+ then
+ for x in $*
+ do
+ mount -r ${x} /newroot/mnt/cdrom > /dev/null 2>&1
+
+ if [ "$?" = '0' ]
+ then
+ # Check for cdroot image
+ if [ -e /newroot/mnt/cdrom/${LOOP} ]
+ then
+ ROOT_DEVICE="${x}"
+ break
+ else
+ umount /newroot/mnt/cdrom
+ fi
+ fi
+ done
+ fi
+}
+
+manage_tmpfs() {
+ mount -t tmpfs tmpfs /newroot
+
+ for d in dev mnt mnt/cdrom mnt/livecd tmp sys proc
+ do
+ mkdir -p "/newroot/${d}"
+ done
+
+ mv /dev/* /newroot/dev/
+}
+
+mount_cdroot() {
+ cd /newroot
+ # Loop type squashfs
+ mount -o bind /newroot/dev /dev
+ mount -t squashfs -o loop,ro /newroot/mnt/cdrom/${LOOP} /newroot/mnt/livecd
+
+ if [ "$?" != '0' ]
+ then
+ fall2sh "Could not mount root image"
+ fi
+ FS_LOCATION='mnt/livecd'
+ umount /dev
+
+ for x in ${ROOT_LINKS}
+ do
+ ln -s "${FS_LOCATION}/${x}" "${x}"
+ done
+
+ chmod 1777 tmp
+ (cd /newroot/${FS_LOCATION}; cp -a ${ROOT_TREES} /newroot)
+}
+
+# ----- main -------
+mount -n -t proc proc /proc > /dev/null 2>&1
+mount -n -t sysfs sys /sys > /dev/null 2>&1
-# mount proc and sys
-mount -n -t proc proc /proc
-mount -n -t sysfs sys /sys
+parse_cmdline
-# probe hardware and insert needed modules
-/bin/coolplug 1> /dev/null 2>&1
+# Shall be decided later
+# [ -n "$QUIET" ] && echo '0' > /proc/sys/kernel/printk
-# Prepare for switch root
-echo 0x0100 > /proc/sys/kernel/real-root-dev
-ROOT_DEVICE=`cat /proc/cmdline | awk -Froot= '{print $2}' | awk '{print $1}'`
+probe_devices
-#check for any change to default runlevel
-for x in `cat /proc/cmdline`; do
- case "${x}" in
- [0123456Ss])
- LEVEL=${x}
- ;;
- esac
-done
+echo 0x0100 > /proc/sys/kernel/real-root-dev
-INIT=`cat /proc/cmdline | awk -Finit= '{print $2}' | awk '{print $1}'`
-[ "${INIT}" == "" ] && INIT="/sbin/init";
+if [ "${CDROOT}" -eq '1' ]
+then
+ ROOT_DEVICE=''
+ manage_tmpfs
+ findcdmount "/newroot/dev/${IMG_DEVICES}"
+
+ if [ "${ROOT_DEVICE}" == "" ]
+ then
+ fall2sh "Could not find mount media"
+ fi
+
+ mount_cdroot
+else
+ # mount real root
+ if [ ! -b "${ROOT_DEVICE}" ]
+ then
+ fall2sh "Could not find boot device"
+ else
+ mount -t auto -n -o ro $ROOT_DEVICE /newroot
+ fi
+fi
-# mount real root
-mount -t auto -n -o ro $ROOT_DEVICE /newroot
+umount -n /sys
+umount -n /proc
-# umount pseudo fs
-umount /sys
-umount /proc
+[ "${INIT}" == "" ] && INIT="/sbin/init";
-# switch_root and pass init arguments
+# just to make sure, may not be necessary
+[ ! -e /newroot/dev/console ] && mknod /newroot/dev/console c 5 1
exec /bin/switch_root -c /dev/console /newroot ${INIT} ${LEVEL}
+
Modified: stable/pardus-1/system/base/mkinitramfs/files/mkinitramfs
=================================================================
--- stable/pardus-1/system/base/mkinitramfs/files/mkinitramfs (original)
+++ stable/pardus-1/system/base/mkinitramfs/files/mkinitramfs Sun Sep 24 03:33:51 2006
@@ -401,7 +401,13 @@
mknod $MOUNT_IMAGE/dev/tty c 5 0
mknod $MOUNT_IMAGE/dev/tty1 c 4 0
mknod $MOUNT_IMAGE/dev/ram0 b 1 0
-mknod $MOUNT_IMAGE/dev/loop0 b 7 0
+
+# loopback devices, we need lots
+mkdir $MOUNT_IMAGE/dev/loop
+for i in `seq 0 7`; do
+ mknod "$MOUNT_IMAGE/dev/loop/$i" b 7 "$i"
+ ln -s "loop/$i" "$MOUNT_IMAGE/dev/loop$i"
+done
# Install busybox and init script
cp -a /sbin/busybox $MOUNT_IMAGE/bin/busybox
Modified: stable/pardus-1/system/base/mkinitramfs/pspec.xml
=================================================================
--- stable/pardus-1/system/base/mkinitramfs/pspec.xml (original)
+++ stable/pardus-1/system/base/mkinitramfs/pspec.xml Sun Sep 24 03:33:51 2006
@@ -19,14 +19,13 @@
<Patch>config.patch</Patch>
</Patches>
</Source>
-
+
<Package>
<Name>mkinitramfs</Name>
<Conflicts>
<Package>mkinitrd</Package>
</Conflicts>
<RuntimeDependencies>
- <Dependency versionFrom="0.73">udev</Dependency>
<Dependency>coolplug</Dependency>
</RuntimeDependencies>
<Files>
@@ -40,6 +39,13 @@
</Package>
<History>
+ <Update release="11">
+ <Date>2006-09-24</Date>
+ <Version>0.2</Version>
+ <Comment>Tidy up + add cdboot functions</Comment>
+ <Name>Onur Küçük</Name>
+ <Email>onur at pardus.org.tr</Email>
+ </Update>
<Update release="10">
<Date>2006-08-22</Date>
<Version>0.1</Version>
Paketler-commits mesaj listesiyle ilgili
daha fazla bilgi