You are not logged in.

#1 2015-10-21 12:58:03

dboat
Member
Registered: 2010-08-26
Posts: 33

[SOLVED] ERROR: device "" not found.Skipping fsck.Unable to find root

ERROR: device '' not found. Skipping fsck.                       :: On screen, there are two ' (not ") with no space inside.
ERROR: Unable to find root device ''.


My target is to make a bootable iso of Archlinux.

I use the arch-bootstrap (in wiki Install_from_existing_Linux) to prepare a folder.

I arch-chroot into it.  Installed base and do some basic settings.  Edited the mkinitcpio.conf so that "sd_mod ext4 ahci" are added as module, while the udev hook is removed.  The grub-install --recheck also recognize /dev/sda at this stage.

The wiki Remastering_the_Install_ISO helps a lot for me to make the bootable iso by syslinux and genisoimage.

While boot (on vbox), both vmlinuz and initrd.img are loaded successfully, then I encounter the captioned problem.

I have no idea if I should not remove the udev hook (as I encounter another error with udev).  I have no idea where does the error come from as I have no log to check, the vm just freeze there.  I just have no idea how to proceed.  Kindly please give me some hints.

Thanks in advance for your help.


-----------------------------------------------

To read carefully the error with udev, I redo the whole exercise.  Well, they are basically the same error.

Screen cap when booting vm with those iso used as CD

Without udev hook (in mkinitcpio.conf)

With udev hook


I am reading the wiki of mkinitcpio, and think this wiki is not deep enough to help.  Is it the right direction?  Any other idea?  Tks


--  read the Forum Etiquette and only post thumbnails http://wiki.archlinux.org/index.php/For … s_and_code [jwr] --

------edited
Seems this thread has no more discussion point, I mark it solved.

Last edited by dboat (2015-10-31 11:08:13)

Offline

#2 2015-10-21 20:43:19

olive
Member
From: Belgium
Registered: 2008-06-22
Posts: 1,490

Re: [SOLVED] ERROR: device "" not found.Skipping fsck.Unable to find root

You have to pass the correct root= option as boot parameter to the kernel, I think your boot loader is not correctly configured.

Offline

#3 2015-10-22 06:33:30

dboat
Member
Registered: 2010-08-26
Posts: 33

Re: [SOLVED] ERROR: device "" not found.Skipping fsck.Unable to find root

olive wrote:

You have to pass the correct root= option as boot parameter to the kernel, I think your boot loader is not correctly configured.

Thanks for your reply.  You are right.  This is my latest isolinux.cfg

DEFAULT archtest
LABEL archtest
   LINUX /kernel/vmlinuz
   APPEND ro root=/dev/sr0
   INITRD /images/initrd.img

sr0 because I mount it as CD.  And as VBox CD uses IDE controller, I also added back "ata_piix pata_acpi ata_generic" to the module line in mkinitcpio.conf.

Now, the output looks like this

...
:: Triggering uevents...
:: mounting '/dev/sr0' on real root
mount: unknown filesystem type 'iso9660'
You are now being dropped into an emergency shell.
...

  ( The bootloader can mount CD but the OS cannot!  Is it normal?  Anyway)

I find that with the udev hook included, the screen cap above (emergency shell) is active.  I can run lsmod and get quite a list which include those I added in the mkinitcpio.conf.  But "lsmod | grep iso" gives me nothing.
However, for both the vm and the chroot environment inside, the command give isofs.  Wonder why it is not carried over.

To load the module, I tried in the chroot environment both
1. adding "insmod iso9660" in /boot/grub/grub.cfg  (iso9660.mod is found inside /boot/grub/i386-pc)
2. add a file /etc/modules-load.d/isofs.conf, which include a line "isofs"
re-generate the iso and test.
The same error "mount: unknown filesystem type 'iso9660'" persists.

So, where and how should I load it?  :/

Offline

#4 2015-10-22 06:52:41

olive
Member
From: Belgium
Registered: 2008-06-22
Posts: 1,490

Re: [SOLVED] ERROR: device "" not found.Skipping fsck.Unable to find root

The grub modules have nothing to do with the kernel modules. But are you using grub or syslinux (you speak about isolinux.cfg). First, I don't know if arch support to be booted read only, which is automatically the case if you boot from a CD (virtula or not). I think that it must write some temporary files in the boot process so I am unsure that what you try to do can work. It seems too that you have followed a non standard installation. Typical linux distro that boot from live CD, somehow copy the CD in memory and use the memory read write (with some variants). But it is not the case of an installed arch. In your case the initrd is loaded thus the boot loader works correctly but the kernel cannot mount the root device. You can try to boot with the fallback initrd. Once you have booted regenerate the initrd. You can also add isofs the the module section of the initrd and regenerate it.  see: https://wiki.archlinux.org/index.php/Mkinitcpio

Offline

#5 2015-10-22 10:14:09

dboat
Member
Registered: 2010-08-26
Posts: 33

Re: [SOLVED] ERROR: device "" not found.Skipping fsck.Unable to find root

olive wrote:

... if arch support to be booted read only, which is automatically the case if you boot from a CD (virtula or not). I think that it must write some temporary files in the boot process ... Typical linux distro that boot from live CD, somehow copy the CD in memory and use the memory read write (with some variants). But it is not the case of an installed arch ...

Wow, you've mentioned some fundementals that I have not even thought about before.  In fact, this is my first exercise on this area.  I expect to read a lot and learn something new through the process.

For this experiment, the "fallback initrd" you suggested did do the magic.  I can now reach the login prompt.  However, it always give me "Login incorrect".  So, I think I will stop it here, read something new and restart another one.

You mentioned I am not following a standard installation.  I guess so.  I google and find bit and piece of old and new know-how of different distro's.  Sometimes, more I read more I get confused.  Would much appreciate if you can point me to some bit more systematically arranged readings, or a sequence of ArchWiki, or whatever you think can help.

Thanks a lot for your help.  big_smile

Offline

#6 2015-10-22 11:08:40

olive
Member
From: Belgium
Registered: 2008-06-22
Posts: 1,490

Re: [SOLVED] ERROR: device "" not found.Skipping fsck.Unable to find root

Just read the wiki. Whether you install in VirtualBox or not does not make a big difference. Create a virtual machine in Virtualbox, with a normal virtual hard disk, boot from the archlinux is install CD and install it normally. You can try all sort of things if you know what you are doing, but in doubt just do it the standard way.

Last edited by olive (2015-10-22 11:09:52)

Offline

#7 2015-10-22 13:08:41

dboat
Member
Registered: 2010-08-26
Posts: 33

Re: [SOLVED] ERROR: device "" not found.Skipping fsck.Unable to find root

I will.  I do have vm running Arch.  As state at the very beginning, my target is to build a bootable iso of Archlinux this time, as a challenge to myself and as a means to learn linux.

Offline

#8 2015-10-22 13:27:24

olive
Member
From: Belgium
Registered: 2008-06-22
Posts: 1,490

Re: [SOLVED] ERROR: device "" not found.Skipping fsck.Unable to find root

dboat wrote:

I will.  I do have vm running Arch.  As state at the very beginning, my target is to build a bootable iso of Archlinux this time, as a challenge to myself and as a means to learn linux.

Copying all in memory is obviously oversimplification. One common thing is to have a read only filesystem image (maybe using squashfs) that is mount with unionfs together with some file system in memory. So this give the illusion that the whole is read-write and does not necessitate to copy the whole CD in memory. Anyway you will probably have to build a custom initrd yourself. Maybe you can look at the system rescue CD. Just read as much about it and try to understand how it is done. Be sure to extract the initrd and follow the scripts there.

Last edited by olive (2015-10-22 13:28:23)

Offline

#9 2015-10-23 05:25:24

dboat
Member
Registered: 2010-08-26
Posts: 33

Re: [SOLVED] ERROR: device "" not found.Skipping fsck.Unable to find root

Thanks a lot for your advice, "System Rescue CD" is really an excellent choice of Live case study.  I did come across list of related projects when I google, all of them were dead ten years ago.  What a late comer I am.

Offline

#10 2015-10-27 18:51:09

dboat
Member
Registered: 2010-08-26
Posts: 33

Re: [SOLVED] ERROR: device "" not found.Skipping fsck.Unable to find root

Finally, I dig into the archiso scripts (build.sh & mkarchiso) and successfully built a bootable iso (a frozen image of an existing Arch vm).

But,
I wonder if it is a MUST to use archiso hook in mkinitcpio.conf in order to make a ArchLinux iso?
I ask because I find that the path to the squashfs file, /run/archiso/bootmnt/arch/x86_64/airootfs.sfs (showed in the dropped shell), seems to be Hard Coded somewhere!  Is it?
I don't mind to follow but I think it would be better to have it documented in wiki if it is the case.  Or, did I still overlook something and nothing is hard coded in Arch (I hope)?

Last edited by dboat (2015-10-27 18:52:18)

Offline

Board footer

Powered by FluxBB