cirosantilli2 / issues

Hello! If you have anything to say to me, feel free to open an issue, and I will reply. For gem5 issues, prefer asking on Stack Overflow or the mailing list: https://www.gem5.org/mailing_lists/ or: https://github.com/cirosantilli2/gem5-issues
1 stars 0 forks source link

Gem5 Kernel and Setup: failing with VFS: Unable to mount root fs on unknown-block on Ubuntu image #1

Open cengizandak opened 6 years ago

cengizandak commented 6 years ago

Hello,

I have been struggling with a problem that you may know the answer.I have an image comprising the core folders of ubuntu.I want to do full system emulation but it gives error like :

" No filesystem could mount root, tried:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,1) CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.14.1 #1 Hardware name: , BIOS 06/08/2008 Call Trace: dump_stack+0x61/0x7e panic+0xd3/0x212 mount_block_root+0x294/0x2ab mount_root+0x65/0x68 prepare_namespace+0x165/0x19d kernel_init_freeable+0x1c9/0x1d9 ? rest_init+0x9f/0x9f kernel_init+0x9/0xe6 ret_from_fork+0x25/0x30 Kernel Offset: disabled ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,1)"

I think there is a problem either in Kernel or Config file that is used for making vmlinux.

I think you have managed how to run it.It should be easy though I dont know why I am struggling with the environment so much.Is there a specific kernel version and config file that is working currently.I am working on Ubuntu 16.4.

Kind Regards,

Cengiz Andak

sarsanaee commented 5 years ago

@cengizandak Is your problem resolved?

cengizandak commented 5 years ago

Yes but dont remember the answer, it was probably related to the linux version and gcc version

sarsanaee commented 5 years ago

My Linux version is actually 4.10.0 and my image is ubuntu 18.04, also my GCC version is 4.8.5.

Let know if you ever remember anything on this issue! I should use 4.10.0 because previously I have worked with this version and my modifications in the memory management are there but maybe I might be able to change the GCC version and ...

cengizandak commented 5 years ago

lf l am not wrong you should be using an older ubuntu version, l was not able to continue with this simulator anyway l ended up using zsim for some reason. Gem5 has more documentation though lnam pretty sure you can find the answer quickly. Good luck :)

AdamHastings commented 5 years ago

@sarsanaee I am stuck on this same issue, please let me know if you figure out a solution.

sarsanaee commented 5 years ago

Hello @AdamHastings

My problem has been solved.

There is a repo from @fshahinfar1 trying to do the same and logging all the steps in the repository. I don't really know what was my problem but I followed the instructions and it just worked!

Cheers, Alireza

sarsanaee commented 5 years ago

Hello,

Have you followed the steps? I think you missed something, it is not supposed to work with just changing the kernel and image, it also makes some more changes as well. I tried the ubuntu server 18.04 image and latest kernel version which is not enough to make it work.

What I understand is that the kernel version doesn't really matter. What matters the most is the .config file.

Thanks, Alireza

On Wed, Jul 24, 2019 at 11:53 PM Adam Hastings notifications@github.com wrote:

Thanks for the reply! Can I ask which kernel version and boot image you were using? I followed the instructions on the link you shared (using a Ubuntu 18.04.2 server boot image and a 5.2.1 linux kernel) but still get the "not syncing: VFS: Unable to mount root fs on unknown-block(3,1)" error when I try to boot in Gem5 using the fs.py script

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/cirosantilli2/issues/issues/1?email_source=notifications&email_token=AA3ZZPKSE5R7OK33DUQHZULQBB3GTA5CNFSM4EVADXB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2WY7SI#issuecomment-514691017, or mute the thread https://github.com/notifications/unsubscribe-auth/AA3ZZPMQJKV2AWCAGSOJQ5LQBB3GTANCNFSM4EVADXBQ .

AdamHastings commented 5 years ago

Hi Alireza,

I was able to make it past the end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,1) issue by modifying configs/common/FSConfig.py to point to the right partition in my disk image. (For anyone else reading this, I first looked at my disk image's partitions in QEMU using sudo fdisk -l, and found that I had two partitions: A BIOS boot partition/dev/sda1 and my Linux filesystem at /dev/sda2. In Gem5, I then edited configs/common/F SConfig.py so that root=/dev/sda2. I tried booting Gem5 full system (using configs/example/fs.py) only to get the new error message VFS: Cannot open root device "sda2" or unknown-block(0,0): error -6. However, listed in this error message were the available partitions, including hda2, which was the same size as my Linux filesystem. I then edited configs/common/F SConfig.py so that root=/dev/hda2, and now I am able to successfully mount my filesystem.)

However, I am now getting the same error message as Step 12 in the repo you posted above: end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b Did you have this same problem?

Thanks, Adam

sarsanaee commented 5 years ago

Hello

It did happen to me, but what I did was to play with the config file of the gem5. If you are using fs.py then I think it hardly works. I didn't quite understand what worked for me, but I just ended up writing a very clean config file written scratch for myself.

On Tue, Jul 30, 2019 at 5:22 AM Adam Hastings notifications@github.com wrote:

Hi Alireza,

I was able to make it past the end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,1) issue by modifying configs/common/FSConfig.py to point to the right partition in my disk image. (For anyone else reading this, I first looked at my disk image's partitions in QEMU using sudo fdisk -l, and found that I had two partitions: A BIOS boot partition/dev/sda1 and my Linux filesystem at /dev/sda2. In Gem5, I then edited configs/common/F SConfig.py so that root=/dev/sda2. I tried booting Gem5 full system (using configs/example/fs.py) only to get the new error message VFS: Cannot open root device "sda2" or unknown-block(0,0): error -6. However, listed in this error message were the available partitions, including hda2, which was the same size as my Linux filesystem. I then edited configs/common/F SConfig.py so that root=/dev/hda2, and now I am able to successfully mount my filesystem.)

However, I am now getting the same error message as Step 12 in the repo https://github.com/fshahinfar1/gem5-journey you posted above: end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b Did you have this same problem?

Thanks, Adam

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/cirosantilli2/issues/issues/1?email_source=notifications&email_token=AA3ZZPOTEZEWPM3CSMLXGOTQB5NRFA5CNFSM4EVADXB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3CBPRQ#issuecomment-516167622, or mute the thread https://github.com/notifications/unsubscribe-auth/AA3ZZPNHTEA5ACWKWHYKHDTQB5NRFANCNFSM4EVADXBQ .

sarsanaee commented 5 years ago

Hello @AdamHastings

Could you come up with a gem5 config for yourself, and somehow make it work for yourself?

AdamHastings commented 5 years ago

Hi @sarsanaee

I think the issue was with my disk image, and not the kernel. I was able to get a booting Ubuntu 16 image by just following the directions here https://github.com/jimmysitu/gem5-bench. This was with a Linux 5.2.1 kernel that I compiled using the instructions in Step 4 here: http://www.lowepower.com/jason/setting-up-gem5-full-system.html

I never figured out what I was doing wrong using the other approach, and why my original disk image didn't work.

sarsanaee commented 5 years ago

Hi @AdamHastings

That's cool, I just wanted to share my gem config files for you in case you could not solve the problem, but apparently you have succeeded.

cirosantilli2 commented 4 years ago

Sorry, I just found out I wasn't subscribed to this repo, what a fail.

Here is a buildroot setup that just works: https://github.com/cirosantilli/linux-kernel-module-cheat/tree/bab029f60656913b5dea629a220ae593cc16147d#gem5-buildroot-setup-getting-started

And here is how you can diagnose that error message: https://github.com/cirosantilli/linux-kernel-module-cheat/tree/bab029f60656913b5dea629a220ae593cc16147d#not-syncing

lllzy040620 commented 2 months ago

I've encountered a similar issue while using gem5 FS. If you've identified the problem and found a solution, please share your insights. Thank you! I've also posted this issue on the gem5 forum.