LINUX.ORG.RU

mount root fs via com port


0

0

Ядро может загрузиться с корневой системой на nfs. А можно-ли проделать тоже через com-порт? Etherneta на железке нет, а трахаться с initrd не хочется.

★★★★

без проблем, только необходимо подготовить специальный initrd.gz,
где вначале пройдет поднимание интерфейса.

anonymous2 ★★★★★
()

потрахаться c initrd придется, вот мой init

#!/bin/ash

PATH=/bin:/sbin:/usr/bin:/usr/sbin

echo Mounting /proc filesystem
mount -t proc /proc /proc
for i in `cat /proc/cmdline`; do
    export $i
done
echo Mounting /sys  filesystem
mount -t sysfs none /sys
echo Creating /dev
mount -o mode=0755 -t tmpfs none /dev
mknod /dev/console c 5 1
mknod /dev/null c 1 3
mknod /dev/zero c 1 5
mkdir /dev/pts
mkdir /dev/shm
echo Starting udev
/sbin/udevstart
echo -n "/sbin/hotplug" > /proc/sys/kernel/hotplug
/sbin/udevstart
umount /sys
echo Mounting root filesystem
/bin/ifconfig lo 127.0.0.1 up
hostname $HOSTNAME
/sbin/rpc.statd
/bin/portmap
mount -v -t nfs -o proto=tcp $NFSSERVER:$NFSROOT /sysroot
mount -t tmpfs --bind /dev /sysroot/dev
IP="`/bin/ifconfig eth0 | grep inet | cut -d: -f2 | cut -d' ' -f1`"
mount -t nfs -o proto=tcp $NFSSERVER:$NFSHOST/$IP /sysroot/host
echo Genering fstab
cat > /sysroot/host/etc/fstab << EOF 
$NFSSERVER:/nfs/root    /                       nfs     proto=tcp 0 0 
$NFSHOME:/home          /home                   nfs     proto=tcp 0 0 
none                    /dev/pts                devpts  gid=5,mode=620          0 0 

EOF
cat /sysroot/host/etc/fstab.add >> /sysroot/host/etc/fstab
echo Switching to new root
umount /proc
cd /sysroot
mount -t proc none proc
/sbin/pivot_root . initrd
exec chroot . sh -c 'killall rpc.statd; killall portmap; /sbin/rpc.statd; /sbin/portma
p; umount /initrd/dev; exec /sbin/init' < dev/console > dev/console 2>&1

anonymous2 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.