Hello,<div><br></div><div>I've compiled the Linux kernel using the instructions provided in [1]. Instead of running "make menuconfig", I've copied the "sample 64-bit configuration" file (provided in [1]) and renamed it to ".config", so it could work as the configuration file used by make. It also didn't compile any modules, since, as far as I understood, the "sample 64-bit configuration" file is configured not to allow any module. I managed to get the bzImage file as expected.</div>
<div><br></div><div>While I want to use qemu, I'm using "aqemu" to configure it (it seemed a good graphical user interface). I created a new virtual machine and the command line produced by the configurations I defined is the following (aqemu allows me to access it):</div>
<div><br></div><div>
<p style="margin:0px">/usr/bin/qemu-system-x86_64</p><p style="margin:0px">    -monitor stdio</p><p style="margin:0px">    -soundhw es1370</p><p style="margin:0px">    -vga std</p><p style="margin:0px">    -m 256</p><p style="margin:0px">
    -localtime</p><p style="margin:0px">    -hda /home/gamboa/test</p><p style="margin:0px">    -boot c</p><p style="margin:0px">    -net nic,vlan=0</p><p style="margin:0px">    -net user,vlan=0</p><p style="margin:0px">    -kernel /home/gamboa/Documents/litmus/litmus-patch/bzImage.default_without_modules</p>
<p style="margin:0px">    -initrd /home/gamboa/Documents/litmus/initrd/initrd.img-3.0.0-litmus-litmus2011.2</p><p style="margin:0px">    -name "test"</p></div><div><br></div><div>As you can see, it is passing the -kernel option using the bzImage created (I put it in another place to make sure I wouldn't lose it when compiling the kernel again) and the -initrd option. To create the "initrd.img-3.0.0-litmus-litmus2011.2" file, I used the following command:</div>
<div><br></div><div>    $ mkinitramfs -o initrd.img-3.0.0-litmus-litmus2011.2 3.0.0-litmus-litmus2011.2</div><div><br></div><div>In the first time, the mkinitramfs complained, saying that the "/lib/modules/3.0.0-litmus-litmus2011.2" folder didn't exist. I created an empty folder and it stopped complaining (I hope to have done the right thing).</div>
<div><br></div><div>When trying to run the virtual machine with these commands, I'm getting a kernel panic with the following error message:</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
VFS: Cannot open root device "(null)" or unknown-block(8,2)<br>Please append a correct "root=" boot option; here are the available partitions:<br>0300            10485760 hda   driver: ide-gd<br>    0301        9990144 hda1 00000000-0000-0000-0000-000000000000<br>
    0302                   1 hda2 00000000-0000-0000-0000-000000000000<br>    0305          492544 hda5 00000000-0000-0000-0000-000000000000<br>1600            4194302 hdc     driver: ide-cdrom<br>Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,2)<br>
Pid: 1, comm: swapper Not tainted 3.0.0-litmus-litmus2011.2 #1<br>Call Trace:<br>[...]</blockquote><div><br></div><div><br></div><div>Since it askes me use the "root=" option, I changed the configuration in aqemu, and now the command line (to call qemu) has an additional option "-append root=/dev/hda1" just before the "-name" parameter.</div>
<div><br></div><div>The new error now is the following:</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
EXT4-fs (hda1): mounted filesystem with ordered data mode. Opts: (null)<br>VFS: Mounted root (ext4 filesystem) readonly on device 3:1.<br>devtmpfs: mounted<br>Freeing unused kernel memory: 516k freed<br>Kernel panic - not syncing: No init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.<br>
Pid: 1, comm: swapper Not tainted 3.0.0-litmus-litmus2011.2 #1<br>Call Trace:<br>[...]</blockquote><div><br></div><div>I know that the "init=" option tells the kernel what should be the first command to be run in the "ram file system", but I'm stuck at this point. Although I've been using linux for a long time already, I'm relatively noob when compiling kernels and booting them in virtual machines.</div>
<div><br></div><div>Any help on making this newly compiled kernel work in my virtual machine would be appreciated -- and tell me if you need more information to help (I tried my best to explain exactly the situation).</div>
<div><br></div><div>Thanks in advance!</div><div><br></div><div>[1]: <a href="https://wiki.litmus-rt.org/litmus/InstallationInstructions">https://wiki.litmus-rt.org/litmus/InstallationInstructions</a><br clear="all"><div>
<br></div>-- <br>John Gamboa<br><a href="http://rabanetescebolas.blogspot.com">rabanetescebolas.blogspot.com</a><br>
</div>