HDD install boot problem - /linuxrc not found

Post in this forum for problems at boot time, if there was no problem for burning the disc. For example can't find the CD, or strange errors when you press enter at the very first prompt.
Post Reply
envirojo
Posts: 5
Joined: 27 May 2007, 22:29
Location: Australia

HDD install boot problem - /linuxrc not found

Post by envirojo » 28 May 2007, 04:45

SystemRescueCD boots and runs perfectly from a CD, however, I have been unable to boot it from the HDD install created by following the instructions in:
http://www.sysresccd.org/Sysresccd-manu ... n_harddisk

The problem is apparently an error or inconsistency in the kernel line of the menu.lst entry, but I am unable to rectify it without your help.

Version: sysrcd-0.3.5

Last few lines of boot messages
------------------------------------
Time: tsc clocksource has been installed.
md: autorun ...
md ...autorun DONE.
UDF-fs: No partition found (1)
XFS: bad magic number
XFS: SB validate failed
No filesystem could mount root, tried: reiserfs reiser4 ext3 ext2 cramfs squashfs minix msdos vfat iso9660 ntfs romfs udf jfs xfs
Kernel panic - not syncing: VFS Unable to mount root fs on unknown-block(1,0)
_
. . . . . . . . ----------. . . . . . . . ----------. . . . . . . . ----------. . . . . . . . ----------


Computer: Motherboard: Gigabyte GA-M59SLI-S5 (AM2), CPU: AMD 64-bit, RAM: 2GB, HDD: 320GB SATA (/dev/sda), DVD burner: IDE (/dev/hda)
The hard disk was partitioned by gparted. Partitioning is standard, no LVM, no RAID.
Unfortunately, Gigabyte motherboard uses an Award BIOS that virtually prevents booting from USB stick, so I am attempting the next best thing - booting off hard disk, so far without success.

Partition containing /sysrcd directory: sda9 (reiserfs)


Files in /sysrcd: rescuecd 3.6MB
rescuecd.igz 3.3MB
sysrcd.dat 102.4MB

Entry in /boot/grub/menu.lst
--------------------------------
title SystemRescueCD
root (hd0, 8 )
kernel /sysrcd/rescuecd root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/sysrcd/sysrcd.dat splash=silent nosound subdir=sysrcd cdroot=/dev/sda9 setkmap=us vga=0x31a
intitrd /sysrcd/rescuecd.igz
boot

. . . . . . . . ----------. . . . . . . . ----------. . . . . . . . ----------. . . . . . . . ----------

If, in the kernel line, I change cdroot=/dev/sda9
to
root=/dev/sda9
then the boot progresses a little further ending with the following output:

Time: tsc clocksource has been installed.
md: autorun ...
md ...autorun DONE.
ReiserFS: sda9: found reiserfs format "3.6" with standard journal
ReiserFS: sda9: using ordered data mode
ReiserFS: sda9: journal params: device sda9, size 8192, journal first block 18, max trans len 1024, max batch 900, max commit age 30, max trans age 30
ReiserFS: sda9: checking transaction log (sda9)
ReiserFS: sda9: Using R5 hash to sort names
VFS: Mounted root (reiserfs filesystem) readonly.
Failed to execute /linuxrc. Attempting defaults ...
request_module: runaway loop modprobe binfmt-464c
request_module: runaway loop modprobe binfmt-464c
request_module: runaway loop modprobe binfmt-464c
request_module: runaway loop modprobe binfmt-464c
request_module: runaway loop modprobe binfmt-464c
_
. . . . . . . . ----------. . . . . . . . ----------. . . . . . . . ----------. . . . . . . . ----------

The above output indicates that the file '/linuxrc' is not found.

In an effort to reduce the number of factors against success, I created a fat16 partition (sda3) of 200MB, created the required sysrcd directory and copied the files rescuecd, rescuecd.igz and sysrcd.dat to it.

The new /boot/grub/menu.lst entry is now:
-------------------------------------------------
title SystemRescueCD
root (hd0,2)
kernel /sysrcd/rescuecd root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/sysrcd/sysrcd.dat splash=silent nosound subdir=sysrcd root=/dev/sda3 setkmap=us vga=0x31a
intitrd /sysrcd/rescuecd.igz

Last few lines of output from this configuration:
-----------------------------------------------------
Time: tsc clocksource has been installed.
md: autorun ...
md ...autorun DONE.
VFS: Mounted root (msdos filesystem) readonly.
Freeing unused kernel memoryL 412k freed
Warning: Unable to execute /linuxrc. Attempting defaults ...
Kernel panic - not syncing: no init found. Try passing init= option to kernel.
_
. . . . . . . . ----------. . . . . . . . ----------. . . . . . . . ----------. . . . . . . . ----------

As the file 'linuxrc' doesn't exist as a separate file on the System Rescue CD, therefore it cannot be copied from the CD to the target partition. Perhaps linuxrc exists as part of sysrcd.dat or resucecd.igz, in which case, perhaps its path is not correctly represented in the kernel option, or perhaps it has been replaced by another name during program revision. Whatever the case, the kernel option: init=/linuxrc appears to be the stumbling block - or one of them.

admin
Site Admin
Posts: 2715
Joined: 17 Jul 2003, 09:44

Post by admin » 28 May 2007, 08:15

As said in the manual you must not copy the newlines in the grub configuration. No newline before "intitrd /sysrcd/rescuecd.igz"

envirojo
Posts: 5
Joined: 27 May 2007, 22:29
Location: Australia

Recoomended change made, yet problem persists

Post by envirojo » 28 May 2007, 14:35

Thank you kindly for your prompt attention to my HDD boot problem. Unfortunately, the problem is not yet cured.
Though the initrd line appears to me to be distinct from the kernel line, I appended it to the kernel line as instructed. The problems remains as before, that the init=/linuxrc argument is not executed. Though the argument is obviously read, /linuxrc cannot be found.

The /boot/grub/menu.lst entry is now:
-----------------------------------------------------
title SystemRescueCD
root (hd0,2)
kernel /sysrcd/rescuecd root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/sysrcd/sysrcd.dat splash=silent nosound subdir=sysrcd root=/dev/sda3 setkmap=us vga=0x31a intitrd /sysrcd/rescuecd.igz
boot

Last few lines of boot output from this configuration:
------------------------------------------------------------------
Time: tsc clocksource has been installed.
md: autorun ...
md ...autorun DONE.
VFS: Mounted root (msdos filesystem) readonly.
Freeing unused kernel memoryL 412k freed
Warning: Unable to execute /linuxrc. Attempting defaults ...
Kernel panic - not syncing: no init found. Try passing init= option to kernel.

jeanmi75
Posts: 48
Joined: 15 Dec 2006, 13:21

Post by jeanmi75 » 28 May 2007, 15:02

my grub boot.lst file is same but i am cdroot=/dev/sdXX and not root=

jeanmi

admin
Site Admin
Posts: 2715
Joined: 17 Jul 2003, 09:44

Post by admin » 28 May 2007, 18:16

You still did not take the correct newlines !
There is a newline before intitrd=

Manual:
http://www.sysresccd.org/Sysresccd-manu ... n_harddisk

envirojo
Posts: 5
Joined: 27 May 2007, 22:29
Location: Australia

Solution to problem

Post by envirojo » 28 May 2007, 23:31

Dear Francois ,
Many thanks for your patience coping with my stupidity.
The problem with my /boot/grub/menu.lst was not newlines which were correctly handled in all except the last example where I wrongly appended the initrc line to the kernel line. In fact the problem was my careless spelling:

My wrong spelling: intitrc /sysrcd/rescuecd.igz
Corrected spelling: initrc /sysrcd/rescuecd.igz

It works fine now thank you.

For the benefit of those who would like to copy a working System Rescue CD entry to add to their /boot/grub/menu.lst, the ONLY items that need to be changed in the version below to match the partition on which the /sysrcd folder resides on your system are the two items in bold text: root (hd0,0) and cdroot=/dev/sda1, the latter is in the kernel line. The spelling of 'SystemRescueCD' in the title line can be changed without risk. If you have other than a US keyboard, you will need to change the setkmap= argument.


title SystemRescueCD
root (hd0,0)
kernel /sysrcd/rescuecd root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/sysrcd/sysrcd.dat splash=silent nosound subdir=sysrcd cdroot=/dev/sda1 setkmap=us vga=5
initrd=/sysrcd/rescuecd.igz
boot


If you copy the above, make the two changes as necessary and do NOT add any newlines in the kernel line you shall have a correct /boot/grub/menu.lst entry.
NOTE: The kernel line includes everything from 'kernel' to the end of 'vga=5'.

Just to test for boot problems, I have installed a /sysrcd folder on sda1 (vfat), sda3 (fat16) and sda9 (reiserfs). All boot correctly with the above menu.lst entry adjusted to match the partition. SystemRescueCD version: 0.3.5

Regards,

Brian Jones

Post Reply