PavelRadzevich / grub4dos-chenall

Automatically exported from code.google.com/p/grub4dos-chenall
0 stars 0 forks source link

kexec --initrd and "map (rd) (fd0)" problem Error 65 #74

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
From the section "Direct transition to DOS/Win9x from within Linux" of the 
README
1.a running Linux
2. execute kexec -l grub4dos.exe --initrd=Disk.IMG
3. kexec -e

in Grub commandline execute:

4a. map (rd) (fd0)
or
4b. map (rd)+1 (fd0)
or both of them with (hd0)

What is the expected output?
Add the rd to a map and be able to access the files from the ramdisk (after map 
--hook).

What do you see instead?
In case of 4a:
Error 65: RD_BASE must be sector-aligned and non-zero for mapping at a fixed 
location

In case of 4b:
Error 28: Selected item cannot fit into memory

What version of the product are you using? On what operating system?
Linux kernel 3.0.8
Kexec-Tools 2.0.1
grub4dos-0.4.5c-2012-02-01.7z

Please provide any additional information below.

I don't really know, if the way I try to use this feature is a good one but I 
think actually it should work if the stuff from the readme does work. However I 
never get to the point where I can actually see the content of the Initramdisk 
that was loaded by kexec.
I tried several different Images. One simply a file containing a 
filesystem(fat32) and the files (without any compression) another being a cpio 
initramdisk like the linux-kernel uses and last I downloaded a file similar to 
the DOS.IMG but neither of them showed any desired result.

One thing to remark though if I use 4b. map (rd)+2 (fd0) I only get warnings 
but I can hook the rd in with map --hook. I cannot access any files though 
(Error 17: Cannot mount selected partition)

The Thing I actually want to do is: I have a setting which can manage and boot 
kernels using kexec but I want to use exactly this setting to boot arbitrary 
systems. I have given up to make it work on any System wich is why I do all the 
stuff in a virtual machine.
In this setting kernels and initrds are provided via network.
My goal is that you can use grub4dos as kernel and put a payload into a ramdisk 
and load this payload using grub4dos.
An example of such a payload would be memtestx86+.

I tried to get all the relevant info myself but somehow I'm not really able to 
find the requirements for such a ramdisk.

enaut

Original issue reported on code.google.com by enau...@googlemail.com on 7 Feb 2012 at 2:53

GoogleCodeExporter commented 8 years ago
Diskussion at http://reboot.pro/16309/page__pid__148204

Patched version at http://bbs.znpc.net/viewthread.php?tid=6197

Original comment by enau...@googlemail.com on 13 Feb 2012 at 9:10

GoogleCodeExporter commented 8 years ago

Original comment by chenall.cn on 14 Feb 2012 at 1:39