Hi, I'm trying to install a debian system over the network by following this tutorial. I've done all steps but in "3.2 Customize your virtual system", I don't understand "Then simply install the wanted package. In our case, we will run partimage for dumping partition." Does "install the wanted package" mean that I have to install a boot loader ? What do you mean by "run partimage for dumping partition" ? If I run partimage, it complains that /proc/partitions doesn't exist. Solved with '$cp /proc/partitions /proc/mounts' /pxeroot/proc'. And now what am i supposed to do ? If I ignore this section, I can boot up but the remote pc is unable to acces to the nfs partition. It display "Begin : Waiting for root file system..." and few minutes later : "ALERT! /dev/nfs does not exist. Dropping to a shell! Check your root= boot argument (cat /proc/cmdline) Check for missing modules (cat /proc/modules), or device files (ls /dev) BusyBox v1.1.3 (Debian 1:1.1.3-5) Built-in shell (ash) Enter 'help' for a list of built-in commands. /bin/sh: can't acces tty: job control turned off (initramfs) _" And when I do "/etc/init.d/nfs-kernel-server restart", there is "RPC: failed to contact local rpcbind server (errno 5)" in syslog. Can you help me ? If you need log and/or configuration files, I can post them. Thanks
No boot loader ? OK Hum.. for sure ! But I was wondering what kind of package I had to install and to do what. I think the remote PC can't access to /pxeroot because of a misconfiguration in my NFS server. Do you know what's wrong ? Thanks for your help
Can you send me the content of your /etc/exports? for the error "ALERT! /dev/nfs does not exist. Dropping to a shell!", there is a problem with nfs in the initrd.img, I will try to see why. Thanks.
When I have tested this HOWTO, I had two keyboards, two monitors and two PCs. It was not very handy to write down error messages so I decided to install a full virtual debian system thanks to VirtualBox. Now I can 'pause' and 'resume' the system when I want. In order to communicate with my PC (the host), the virtual system (the guest) needs a virtual interface wich is 'tap0' in my case. 192.168.0.200 => IP adress of the interface tap0 (and so the adress of the DHCP server). It's like your 192.168.0.1 for eth0. 192.168.0.1 => given by the DHCP server to the gest. + /etc/network/interfaces Code: auto lo iface lo inet loopback auto tap0 iface tap0 inet static address 192.168.0.200 netmask 255.255.255.0 + /etc/dhcp3/dhcpd.conf Code: ddns-update-style none; ddns-updates off; server-name "MyDHCP"; authoritative; option T150 code 150 = string; deny client-updates; one-lease-per-client false; allow bootp; allow booting; log-facility local7; subnet 192.168.0.0 netmask 255.255.255.0 { interface tap0; range 192.168.0.2 192.168.0.254; default-lease-time 6000; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option time-offset -3600; } host bootPXE { hardware ethernet 08:00:27:04:B1:59; fixed-address 192.168.0.1; default-lease-time 6000; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; filename "pxelinux.0"; next-server 192.168.0.200; option root-path "192.168.0.200:/pxeroot"; } + /etc/exports Code: /pxeroot 192.168.0.0/255.255.255.0(rw,sync,no_root_squash,no_subtree_check) I can mount the nfs directory from the host so the nfs server seems to work correctly. In the built-in shell of the guest, the 'ifconfig' command doesn't display anything. Moreover 'ping 192.168.0.200' replies 'Network unreachable'. But if I do 'ifconfig eth0 192.168.0.1' then 'ping 192.168.0.200', the host replies to guest requests. Unfortunatly, 'mount 192.168.0.200:/pxeroot /' fails. A problem with initrd.img ? There are the kernel packages I installed : Code: debian:~# chroot /pxeroot/ debian:/# dpkg --get-selections | grep install | grep linux libselinux1 install linux-image-2.6-686 install linux-image-2.6.22-3-686 install linux-image-686 install util-linux install Thanks
From the host, "chroot /pxeroot/ ; mknod /dev/nfs b 0 255" creates /pxeroot/dev/nfs. But the guest doesn't have /dev/nfs. Code: (initramfs) ls /dev console ram1 snapshot tty21 tty36 tty50 tty8 disk ram10 tty tty22 tty37 tty51 tty9 fd0 ram11 tty0 tty23 tty38 tty52 tty50 full ram12 tty1 tty24 tty39 tty53 tty51 hda ram13 tty10 tty25 tty4 tty54 tty52 hdc ram14 tty11 tty26 tty40 tty55 tty53 hpet ram15 tty12 tty27 tty41 tty56 urandom input ramZ tty13 tty28 tty42 tty57 vcs kmem ram3 tty14 tty29 tty43 tty58 vcs1 kmsg ram4 tty15 tty3 tty44 tty59 vcsa mem ram5 tty16 tty30 tty45 tty6 vcsa1 null ram6 tty17 tty31 tty46 tty60 zero port ram7 tty18 tty32 tty47 tty61 psaux ram8 tty19 tty33 tty48 tty62 ptmx ram9 tty2 tty34 tty49 tty63 ram0 random tty20 tty35 tty5 tty7 (initramfs) "export" in BusyBox gives interesting details : Code: (initramfs) export export BOOT_IMAGE='vmlinuz' export DPKG_ARCH='i386' export HOME='/' export MODPROBE_OPTIONS='-qb' export PATH='/usr/local/bin:/usr/bin:/sbin:/bin' export PROGRESS_STATE='4' export PS1='(initramfs) ' export PWD='/' export ROOT='/dev/nfs' export ROOTDELAY='' export TERM='linux' export blacklist='' export break='' export debug='' export init='/sbin/init' export initrd='initrd.img' export nfsroot='192.168.0.200:/pxeroot' export panic='' export quiet='n' export readonly='n' export resume='' export rootmnt='/root' export vga='normal' (initramfs) I'm at the 4th (progress) state but... What does it mean ? And if initrd.imd doesn't include nfs support, I should maybe build my own kernel.
Ok, your initrd.img doesn't support nfs : chroot /pxeroot vi /etc/initramfs-tools/initramfs.conf change the line : BOOT=local to BOOT=nfs then run : update-initramfs -u