I want to boot Linux distros from GRUB 2.0 command line. I've tried to do so for couple of distros and at "best" I receive initramfs prompt, no GUI which starts if distro is run stardard way. Resulting file system seams to have files contained in initrd file (less then 100Mb), but not in filesystem.squashfs (which is larger than 1Gb).

vmlinux, initrd and filesystem.squashfs files are in casper folder and linux command in menu entry in grub.cnf in distros contains boot=casper, I suspect folder name casper is not necessary for kernel option to work, casper is persistence something option related as far as I understood from wikipedia.

Also as far as I understood the problem, when boot process tries to do unionfs thing it could not find SquashFS file with all except kernel distro stuff to add. How do I let it know its' location? Maybe the problem is of other root cause, please tell me so then.

ADDED 0: I changed linux (hd0,msdos2)/casper/vmlinuz command adding root=UUID=what ls command gives for partition with distro and now starting, finally getting many lines stdin: Not a typewriter, then (initramfs) Unable to find a medium containing live file system and again CLI prompt. Was stdout on screen same lines as w/out root option... I just don't remember for sure, so many lines during boot.

I far as understand from the GRUB manual and my try-and-error, root variable can point to device only, not path inside device, so I see setting it will not point to squashfs file inside casper folder.

ADDED 1: I run grep -rnw 'initrd file loop mounted location' -e 'filesystem.squashfs' as per https://stackoverflow.com/questions/16956810/how-do-i-find-all-files-containing-specific-text-on-linux and got nothing, so have no idea how init process finds that squashfs file.

  • Have you ensured that the vmlinux and initrd files are located by the grub console? If you type ls in the GRUB console, you should see the different disks and partitions; if you type ls (disk,partition)/casper, you see the files?
    – Dasel
    Mar 6, 2019 at 16:37
  • 1
    @Dasel, yes I ran them and them boot, I got CLI, but not full Linux file structure from distro so as I've wrote my guess squashfs file was not merged. I also now added more details to question. Mar 6, 2019 at 17:30
  • Have you added the initrd apart from the linux? In linux part the disk and partition is no needed. For example, when I try it I do: linux /casper/vmlinuz-version-pae root=/dev/sda1 (or the disk that you have) initrd /casper/initrd.img-version-686-pae boot, I put the procedure in answer; procedure that should work.
    – Dasel
    Mar 7, 2019 at 9:46

1 Answer 1


For the boot, you should specify the linux and initrd images, othetwise you could have problems.

In the linux part you should not include the disk/partition before specifying the path, as you have already specify it in the root. In the example I put /dev/sda1, but it can be sdb or whatever

linux /casper/vmlinuz-version-pae root=/dev/sda1

Then you would have to specify the initrd; in that step you would not have to specify the root, as you have already specify it.

initrd /casper/initrd.img-version-pae

Last, but not least, simply type boot, and it would have to boot the system normally.


  • thanx, but "should not include the disk/partition before specifying the path, as you have already specify it in the root. In the example I put /dev/sda1," - sda1 is a partition (at least it is how partitions are called in Linux). How should I know which one is sda1 before kernel is booted and devices are mounted? I edited the question be to more clear before your answer, so why talk about booting kernel? I've booted it, I need other parts of the distro. Mar 7, 2019 at 11:28
  • I mean that you have put linux (hd0,msdos2)/casper/vmlinuz, but linux /casper/vmlinuz root=(partition name) would be more correct
    – Dasel
    Mar 7, 2019 at 12:29
  • I see now, I've tried it I think in ADDED 0. Mar 7, 2019 at 17:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .