[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Target filesystem doesnt have /sbin/init



I had a similar problem, solved by changing how the system looks for devices to mount.

The issue is differences in disk scan sequence for the BIOS, boot loader and kernel. In my case, I use Grub, so I can't speak for how exactly to do this with LILO (or even if it's possible, YMMV).

The following assumes you've booted from a rescue CD of some sort. You will first need to label your disks (or at least, check that they have proper labels), and then that you've mounted your hard disk partitions in an appropriate way so you can access the files you'll need to edit.

The solution is to not use the /dev/disk-dev name for booting and mounting your disks. During install, Debian will label the devices it creates with names like '/', '/usr', '/var' and so on, reflecting the filesystem mount point location (though it does not need to be this way, it sometimes helps to be able to determine this from the disk itself).

If you've added any disks after the fact, you may need to manually use the appropriate fs type label command and add one. But, you *will* have to change the label for the root, because you need a label that will translate into a valid "file" name in the file system, and '/' is already in use. I chose to use '/root'. (Note: if this all works, you can see why this is required by looking in the /dev/disk/by-label directory, using the -l option.)

You will need to edit .../etc/fstab and the LILO configuration file. In fstab, change the '/dev/hd-dev' name to 'LABEL=label' where label is the device's label ('/var', '/root', etc).

Edit the LILO config line for the kernel like this (an example from a Red Hat EL system, not running LILO but with an anaconda config file for it):

  image=/boot/vmlinuz-2.6.9-5.ELsmp
        label=linux
        initrd=/boot/initrd-2.6.9-5.ELsmp.img
        read-only
        append="rhgb quiet root=LABEL=/1"

The important part, to begin with, is in the append line for root=, add this as appropriate for how you labeled your hard disk root.

Then run lilo to install it and try rebooting your system.

I did have issues, with my grub setup, due to grub itself needing to know the disk it needed to work with to find the kernel file. The install of grub used the kernel's idea of the root device (run from the install environment) but grub, run from the disk MBR, saw something different. I don't know how you'd determine this for LILO or if it even needs doing. You'll know if you do, because your system will not boot. :-O

I hope something in this is helpful to you.

:-)

Bob

Brent Clark wrote:
Hi

Yesterday I run apt-get install linux-image.2.6.17 (average idea of the command).

Obviously all dependants etc were satisfied and this morning on rebooting my machine boot and then fell on a busybox screen.

I wrote the messages down, but I hope someone can help me with this and this is the second time this has happened. Im upgrading from 2.6.8 and I run testing on my machine.

Begin moutning root file system
Begin Running /scripts/local-top
Done
Begin Running /scripts/local-premount
Done
mount: mounting /dev/root on /root failed No such device
Begin Running /scripts/local-bottom
Done
Done
Begin running /scripts/init-bottom
mount: mounting /root/dev/ on /dev.static/dev/ failed No such file or device
mount: mounting /sys on /root/sys failed no such file or device
Target filesystem doesnt have /sbin/init

My question is, when on reinstalling debian and installing 2.6.17 and this happens again.

My question is, how or what do I edit to force it to work.

If anyone can assit, this would greatfully be appreciated.

Kind Regards
Brent





Reply to: