LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 01-14-2010, 11:52 AM   #1
euroquisling
LQ Newbie
 
Registered: May 2009
Distribution: Debian, Ubuntu
Posts: 10

Rep: Reputation: 1
/proc/devices missing


Hello everyone,

I am booting RH over network (PXE) with custom initrd.img. I managed to get NFS working and switch root and do normal RH /sbin/init, but as RH boots it complains about /proc/devices missing:

/proc/devices: fopen failed: No such file or directory

The file is indeed missing, even though I'm doing "modprobe dm_mod" before. But still /proc/devices is not created. What am I doing wrong?

init script for that initrd.img:

Code:
#!/bin/bash

export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/kerberos/lib

mount -t proc /proc /proc
setquiet
echo Mounting proc filesystem
echo Mounting sysfs filesystem
mount -t sysfs /sys /sys
echo Creating /dev
mount -o mode=0755 -t tmpfs /dev /dev
mkdir /dev/pts
mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts
mkdir /dev/shm
mkdir /dev/mapper
echo Creating initial device nodes
mknod /dev/null c 1 3
mknod /dev/zero c 1 5
mknod /dev/urandom c 1 9
mknod /dev/systty c 4 0
mknod /dev/tty c 5 0
mknod /dev/console c 5 1
mknod /dev/ptmx c 5 2
mknod /dev/rtc c 10 135
mknod /dev/tty0 c 4 0
mknod /dev/tty1 c 4 1
mknod /dev/tty2 c 4 2
mknod /dev/tty3 c 4 3
mknod /dev/tty4 c 4 4
mknod /dev/tty5 c 4 5
mknod /dev/tty6 c 4 6
mknod /dev/tty7 c 4 7
mknod /dev/tty8 c 4 8
mknod /dev/tty9 c 4 9
mknod /dev/tty10 c 4 10
mknod /dev/tty11 c 4 11
mknod /dev/tty12 c 4 12
mknod /dev/ttyS0 c 4 64
mknod /dev/ttyS1 c 4 65
mknod /dev/ttyS2 c 4 66
mknod /dev/ttyS3 c 4 67
echo Setting up hotplug.
hotplug
echo Creating block device nodes.
mkblkdevs
echo "Loading ehci-hcd.ko module"
insmod /lib/ehci-hcd.ko 
echo "Loading ohci-hcd.ko module"
insmod /lib/ohci-hcd.ko 
echo "Loading uhci-hcd.ko module"
insmod /lib/uhci-hcd.ko 
mount -t usbfs /proc/bus/usb /proc/bus/usb
echo "Loading jbd.ko module"
insmod /lib/jbd.ko 
echo "Loading ext3.ko module"
insmod /lib/ext3.ko 
echo "Loading scsi_mod.ko module"
insmod /lib/scsi_mod.ko 
echo "Loading sd_mod.ko module"
insmod /lib/sd_mod.ko 
echo "Loading scsi_transport_spi.ko module"
insmod /lib/scsi_transport_spi.ko 
echo "Loading mptbase.ko module"
insmod /lib/mptbase.ko 
echo "Loading mptscsih.ko module"
insmod /lib/mptscsih.ko 
echo "Loading mptspi.ko module"
insmod /lib/mptspi.ko 
echo "Loading libata.ko module"
insmod /lib/libata.ko 
echo "Loading ata_piix.ko module"
insmod /lib/ata_piix.ko 
echo "Loading dm-mod.ko module"
insmod /lib/dm-mod.ko 
echo "Loading dm-log.ko module"
insmod /lib/dm-log.ko 
echo "Loading dm-mirror.ko module"
insmod /lib/dm-mirror.ko 
echo "Loading dm-zero.ko module"
insmod /lib/dm-zero.ko 
echo "Loading dm-snapshot.ko module"
insmod /lib/dm-snapshot.ko 
echo "Loading dm-mem-cache.ko module"
insmod /lib/dm-mem-cache.ko 
echo "Loading dm-region_hash.ko module"
insmod /lib/dm-region_hash.ko 
echo "Loading dm-message.ko module"
insmod /lib/dm-message.ko 
echo "Loading dm-raid45.ko module"
insmod /lib/dm-raid45.ko 
echo Waiting for driver initialization.
stabilized --hash --interval 1000 /proc/scsi/scsi
mkblkdevs
echo Scanning and configuring dmraid supported devices
echo Scanning logical volumes
lvm vgscan --ignorelockingfailure
echo Activating logical volumes
lvm vgchange -ay --ignorelockingfailure  rootvg
resume LABEL=SWAP-sda3

################################ Modified ################################

# modules
depmod -a
modprobe pcnet32

# device mapper 
modprobe dm_mod

# network
ip addr add 127.0.0.1/8 dev lo
echo "127.0.0.1               localhost.localdomain localhost" >> /etc/hosts
echo "::1             localhost6.localdomain6 localhost6" >> /etc/hosts

ip link set lo up
ip link set eth0 up
ip link set eth1 up

dhclient eth0

portmap

echo Mounting root filesystem.

mkdir /mnt
mount -o ro 192.168.1.1:/nfs/RH /mnt

echo "PID of the init script: $$" 

#exec bin/bash
exec switch_root -c /dev/console /mnt /sbin/init
Script creating initrd:

Code:
#!/bin/bash -x

rm -rf /tmp/initrd
mkdir -p /tmp/initrd

cd /tmp/initrd

cat /boot/initrd-2.6.18-164.el5.img | gzip -dc | cpio -ivd

cp /sbin/nash bin
cp /sbin/busybox bin
cp /bin/bash bin
cp /sbin/consoletype bin
cp /sbin/dhclient bin
cp /sbin/dhclient-script bin
cp /usr/sbin/rpcinfo bin
cp /sbin/ifconfig bin
cp /sbin/insmod bin
cp /sbin/ip bin
cp /sbin/lspci bin
cp /sbin/lsmod bin
cp /sbin/modprobe bin
cp /bin/mount bin
cp /sbin/mount.nfs bin
cp /sbin/mount.nfs4 bin
cp /sbin/pivot_root bin
cp /sbin/rmmod bin
cp /sbin/route bin
cp /sbin/iptables bin

# portmap is necessary for running NFS

cp /sbin/portmap bin
cp /usr/sbin/pmap_dump bin
cp /usr/sbin/pmap_set bin


#rm -f /tmp/liblist
#ls -1 bin | while read x; do
#	ldd
#done


#
cd /tmp/initrd/bin

ln -s busybox '['
ln -s busybox '[['
ln -s busybox 'addgroup'
ln -s busybox 'adduser'
ln -s busybox 'adjtimex'
ln -s busybox 'ar'
ln -s busybox 'arping'
ln -s busybox 'ash'
ln -s busybox 'awk'
ln -s busybox 'basename'
ln -s busybox 'bbconfig'
ln -s busybox 'bunzip2'
ln -s busybox 'busybox'
ln -s busybox 'bzcat'
ln -s busybox 'cal'
ln -s busybox 'cat'
ln -s busybox 'catv'
ln -s busybox 'chattr'
ln -s busybox 'chgrp'
ln -s busybox 'chmod'
ln -s busybox 'chown'
ln -s busybox 'chroot'
ln -s busybox 'chvt'
ln -s busybox 'cksum'
ln -s busybox 'clear'
ln -s busybox 'cmp'
ln -s busybox 'comm'
ln -s busybox 'cp'
ln -s busybox 'cpio'
ln -s busybox 'crond'
ln -s busybox 'crontab'
ln -s busybox 'cut'
ln -s busybox 'date'
ln -s busybox 'dc'
ln -s busybox 'dd'
ln -s busybox 'deallocvt'
ln -s busybox 'delgroup'
ln -s busybox 'deluser'
ln -s busybox 'devfsd'
ln -s busybox 'df'
ln -s busybox 'diff'
ln -s busybox 'dirname'
ln -s busybox 'dmesg'
ln -s busybox 'dnsd'
ln -s busybox 'dos2unix'
ln -s busybox 'dpkg'
ln -s busybox 'dpkg-deb'
ln -s busybox 'du'
ln -s busybox 'dumpkmap'
ln -s busybox 'dumpleases'
ln -s busybox 'e2fsck'
ln -s busybox 'e2label'
ln -s busybox 'echo'
ln -s busybox 'ed'
ln -s busybox 'egrep'
ln -s busybox 'eject'
ln -s busybox 'env'
ln -s busybox 'ether-wake'
ln -s busybox 'expr'
ln -s busybox 'fakeidentd'
ln -s busybox 'false'
ln -s busybox 'fbset'
ln -s busybox 'fdflush'
ln -s busybox 'fdformat'
ln -s busybox 'fdisk'
ln -s busybox 'fgrep'
ln -s busybox 'find'
ln -s busybox 'findfs'
ln -s busybox 'fold'
ln -s busybox 'free'
ln -s busybox 'freeramdisk'
ln -s busybox 'fsck'
ln -s busybox 'fsck.ext2'
ln -s busybox 'fsck.ext3'
ln -s busybox 'fsck.minix'
ln -s busybox 'ftpget'
ln -s busybox 'ftpput'
ln -s busybox 'fuser'
ln -s busybox 'getopt'
ln -s busybox 'getty'
ln -s busybox 'grep'
ln -s busybox 'gunzip'
ln -s busybox 'gzip'
ln -s busybox 'hdparm'
ln -s busybox 'head'
ln -s busybox 'hexdump'
ln -s busybox 'hostid'
ln -s busybox 'hostname'
ln -s busybox 'httpd'
ln -s busybox 'hush'
ln -s busybox 'hwclock'
ln -s busybox 'id'
ln -s busybox 'ifdown'
ln -s busybox 'ifup'
ln -s busybox 'inetd'
ln -s busybox 'install'
ln -s busybox 'ipaddr'
ln -s busybox 'ipcalc'
ln -s busybox 'ipcrm'
ln -s busybox 'ipcs'
ln -s busybox 'iplink'
ln -s busybox 'iproute'
ln -s busybox 'iptunnel'
ln -s busybox 'kill'
ln -s busybox 'killall'
ln -s busybox 'lash'
ln -s busybox 'last'
ln -s busybox 'length'
ln -s busybox 'less'
ln -s busybox 'linux32'
ln -s busybox 'linux64'
ln -s busybox 'ln'
ln -s busybox 'load_policy'
ln -s busybox 'loadfont'
ln -s busybox 'loadkmap'
ln -s busybox 'login'
ln -s busybox 'logname'
ln -s busybox 'losetup'
ln -s busybox 'ls'
ln -s busybox 'lsattr'
ln -s busybox 'lzmacat'
ln -s busybox 'makedevs'
ln -s busybox 'md5sum'
ln -s busybox 'mdev'
ln -s busybox 'mesg'
ln -s busybox 'mkdir'
ln -s busybox 'mke2fs'
ln -s busybox 'mkfifo'
ln -s busybox 'mkfs.ext2'
ln -s busybox 'mkfs.ext3'
ln -s busybox 'mkfs.minix'
ln -s busybox 'mknod'
ln -s busybox 'mkswap'
ln -s busybox 'mktemp'
ln -s busybox 'more'
ln -s busybox 'mountpoint'
ln -s busybox 'msh'
ln -s busybox 'mt'
ln -s busybox 'mv'
ln -s busybox 'nameif'
ln -s busybox 'nc'
ln -s busybox 'netstat'
ln -s busybox 'nice'
ln -s busybox 'nohup'
ln -s busybox 'nslookup'
ln -s busybox 'od'
ln -s busybox 'openvt'
ln -s busybox 'passwd'
ln -s busybox 'patch'
ln -s busybox 'pidof'
ln -s busybox 'ping'
ln -s busybox 'ping6'
ln -s busybox 'pipe_progress'
ln -s busybox 'printenv'
ln -s busybox 'printf'
ln -s busybox 'ps'
ln -s busybox 'pwd'
ln -s busybox 'rdate'
ln -s busybox 'readlink'
ln -s busybox 'readprofile'
ln -s busybox 'realpath'
ln -s busybox 'renice'
ln -s busybox 'reset'
ln -s busybox 'rm'
ln -s busybox 'rmdir'
ln -s busybox 'rpm'
ln -s busybox 'rpm2cpio'
ln -s busybox 'run-parts'
ln -s busybox 'runlevel'
ln -s busybox 'rx'
ln -s busybox 'sed'
ln -s busybox 'seq'
ln -s busybox 'setarch'
ln -s busybox 'setconsole'
ln -s busybox 'setkeycodes'
ln -s busybox 'setlogcons'
ln -s busybox 'setsid'
ln -s busybox 'sha1sum'
ln -s busybox 'sleep'
ln -s busybox 'sort'
ln -s busybox 'start-stop-daemon'
ln -s busybox 'stat'
ln -s busybox 'strings'
ln -s busybox 'stty'
ln -s busybox 'su'
ln -s busybox 'sulogin'
ln -s busybox 'sum'
ln -s busybox 'swapoff'
ln -s busybox 'swapon'
ln -s busybox 'switch_root'
ln -s busybox 'sync'
ln -s busybox 'sysctl'
ln -s busybox 'tail'
ln -s busybox 'tar'
ln -s busybox 'tee'
ln -s busybox 'telnet'
ln -s busybox 'telnetd'
ln -s busybox 'test'
ln -s busybox 'tftp'
ln -s busybox 'time'
ln -s busybox 'top'
ln -s busybox 'touch'
ln -s busybox 'tr'
ln -s busybox 'traceroute'
ln -s busybox 'true'
ln -s busybox 'tty'
ln -s busybox 'tune2fs'
ln -s busybox 'udhcpc'
ln -s busybox 'udhcpd'
ln -s busybox 'umount'
ln -s busybox 'uname'
ln -s busybox 'uncompress'
ln -s busybox 'uniq'
ln -s busybox 'unix2dos'
ln -s busybox 'unlzma'
ln -s busybox 'unzip'
ln -s busybox 'uptime'
ln -s busybox 'usleep'
ln -s busybox 'uudecode'
ln -s busybox 'uuencode'
ln -s busybox 'vconfig'
ln -s busybox 'vi'
ln -s busybox 'vlock'
ln -s busybox 'watch'
ln -s busybox 'watchdog'
ln -s busybox 'wc'
ln -s busybox 'wget'
ln -s busybox 'which'
ln -s busybox 'who'
ln -s busybox 'whoami'
ln -s busybox 'xargs'
ln -s busybox 'yes'
ln -s busybox 'zcat'
ln -s busybox 'zcip'

# libs, 1
rm -f /tmp/liblist
find . -type f | while read x; do ldd "$x" >>/tmp/liblist 2>&1; done

cd /tmp/initrd


cat /tmp/liblist  | awk '{for(i=1; i<=NF; i++) {if($i ~ /\/.+/) print $i;}}' | sort | uniq > /tmp/liblist2

cat /tmp/liblist2 | while read x; do
	cp -f "$x" lib
done

cp -a /lib/modules lib

# libs, 2
cp /lib/libcrypt.so.1 lib
cp /lib/libkeyutils-1.2.so lib
cp /lib/libcom_err.so.2.1 lib
cp /lib/libm.so.6 lib
cp /lib/librt.so.1 lib
cp /lib/libnsl.so.1 lib
cp /lib/libcrypto.so.0.9.8e lib
cp /lib/ld-2.5.so lib
cp /lib/libblkid.so.1.0 lib
cp /lib/libdl-2.5.so lib
cp /lib/libnsl-2.5.so lib
cp /lib/libuuid.so.1.2 lib
cp /lib/libcrypt-2.5.so lib
cp /lib/libcom_err.so.2 lib
cp /lib/libcrypto.so.6 lib
cp /lib/libc-2.5.so lib
cp /lib/libm-2.5.so lib
cp /lib/libpthread-2.5.so lib
cp /lib/libtermcap.so.2.0.8 lib
cp /lib/libkeyutils.so.1 lib

# networking
cp /etc/nsswitch.conf etc
cp /lib/libnss_dns* lib
cp /lib/libnss_files* lib
cp /lib/libresolv-2.5.so lib
cd lib
ln -s libresolv-2.5.so libresolv.so.2 

cd /tmp/initrd

rm -f /tmp/initrd.img

cp -f /tmp/init_script /tmp/initrd/init

find . | cpio -o -H newc > /tmp/initrd.img
gzip /tmp/initrd.img
mv -f /tmp/initrd.img.gz /tmp/initrd.img

cp -f /tmp/initrd.img /tftpboot/linux-install/initrd_mk.img
 
Old 01-14-2010, 05:50 PM   #2
DrLove73
Senior Member
 
Registered: Sep 2009
Location: Srbobran, Serbia
Distribution: CentOS 5.5 i386 & x86_64
Posts: 1,118
Blog Entries: 1

Rep: Reputation: 129Reputation: 129
Shouldn't you create actual directory "proc/devices". I do not see the mkdir line. I am not familiar with this, so I am just asking.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Correlation between /proc/devices and /proc/modules ColinLadyka Linux - General 1 02-13-2006 05:25 PM
MDK 10.2: No USB at all (/proc/bus/usb/devices missing) shrodi Mandriva 5 07-01-2005 11:28 AM
No USB at all (/proc/bus/usb/devices missing) shrodi Linux - Hardware 1 05-26-2005 04:07 AM
no pcmcia drivers in /proc/devices fataldata Linux - Laptop and Netbook 6 08-19-2004 08:52 PM
/proc/bus/usb/devices missing shellcode Linux - General 11 02-24-2004 10:15 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 10:04 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration