LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Red Hat (https://www.linuxquestions.org/questions/red-hat-31/)
-   -   Diskless client question (https://www.linuxquestions.org/questions/red-hat-31/diskless-client-question-711020/)

paul4 03-12-2009 07:11 AM

Diskless client question
 
I am trying to create a pxe boot configuration that allows clients to boot with a complete system resident in RAM without using NFS.

The clients can see the tfpt server and load the desired kernel but the init file is not functioning correctly and the kernel panics.

The process I am going through to build the loadable kernel is as follows:

1) Unarchive the existing loadable kernel
2) Copy system files into structure
3) Copy modified init file to structure
4) rebuild loadable kernel

The process I am using to unarchive / copy / rebuild loadable kernel is:

#!/bin/bash

basedir=/tftpboot/images/x86_64
initrd_dir=$basedir/initrd-base

rm -rf $basedir/initrd_new.img
rm -rf /boot/initrd_new.img
rm -rf $initrd_dir

cd $basedir

echo " "
echo " "
echo " "
echo " "
echo " "
echo "Making initrd-base directory"
mkdir $initrd_dir
cd $initrd_dir

echo "Restoring initrd_new.img to initrd-base"
#gzip -cd /boot/initrd_new.img | cpio -imd --quiet
gzip -cd /boot/initrd-2.6.18-92.el5.img | cpio -imd --quiet

echo "initrd-base has been restored"

mk_directories="/home /export /proc /tmp /lib64 /lost+found /usr/tmp /var/crash /var/cvs /var/db /var/empty /var/gdm /var/lo
ck /var/log /var/tmp /var/www /var/yp"

echo "Creating directories:"
for dir in $mk_directories ; do echo "... $initrd_dir$dir"
mkdir -p $initrd_dir$dir
done

copy_directories="/bin /etc /lib /sbin /lib64"
for dir in $copy_directories ; do
echo "Copying $dir to $initrd_dir$dir"
cp -a $dir $initrd_dir$dir
done

echo "Copying init from /root/configuration_files"
cp /root/configuration_files/init ${initrd_dir}/init

cd $initrd_dir

rm -rf usr/share/man usr/share/locale
echo "Creating new image file from $PWD to file ${basedir}/initrd_new.img"

find . | cpio --quiet -H newc -o | gzip -9 -n > ${basedir}/initrd_new.img

The init file:

#!/bin/nash
/bin/mount /proc
/bin/umount /proc
showlabels
pivot_root /dev/ram0



The pxelinux.cfg/default looks like:DEFAULT menu
PROMPT 0
MENU TITLE Diskless Client Testing
TIMEOUT 50
TOTALTIMEOUT 6000
ONTIMEOUT x86_64

LABEL local
MENU LABEL (local)
LOCALBOOT 0

LABEL x86_64
kernel images/x86_64/vmlinuz
MENU LABEL x86_64
MENU DEFAULT
append initrd=images/x86_64/initrd_new.img ramdisk_size=20485760 root=/dev/ram0



Any examples that I can be pointed to on how set up the init file correctly would be appreciated.

Thanks,
Paul


All times are GMT -5. The time now is 09:05 PM.