Kleovoulos Kalaitzidis
2018-07-30 15:00:57 UTC
I am trying to setup Gem5 for full system simulation on x86. Following Jason's tutorial, I have generated the image file for ubuntu 18.04.
Then for the kernel I did the following steps (with Jason's config):
make oldconfig
make vmlinux
This creates an executable called vmlinux which I use as the kernel for fs.py. After trying to run it and creating the telnet session, I get the following errors (extracted the end of the messages):
Using kernel 4.8.13:
List of all partitions:
[ callto:0100 16384 | 0100 16384 ] ram0 (driver?)
[ callto:0101 16384 | 0101 16384 ] ram1 (driver?)
[ callto:0102 16384 | 0102 16384 ] ram2 (driver?)
[ callto:0103 16384 | 0103 16384 ] ram3 (driver?)
[ callto:0104 16384 | 0104 16384 ] ram4 (driver?)
[ callto:0105 16384 | 0105 16384 ] ram5 (driver?)
[ callto:0106 16384 | 0106 16384 ] ram6 (driver?)
[ callto:0107 16384 | 0107 16384 ] ram7 (driver?)
[ callto:0108 16384 | 0108 16384 ] ram8 (driver?)
[ callto:0109 16384 | 0109 16384 ] ram9 (driver?)
010a 16384 ram10 (driver?)
010b 16384 ram11 (driver?)
010c 16384 ram12 (driver?)
010d 16384 ram13 (driver?)
010e 16384 ram14 (driver?)
010f 16384 ram15 (driver?)
[ callto:0300 8192000 | 0300 8192000 ] hda driver: ide-gd
[ callto:0301 1024 | 0301 1024 ] hda1 b3e8ba38-c801-461b-a765-d4ccb929b5df
[ callto:0302 8188928 | 0302 8188928 ] hda2 b68ea151-df09-44cf-8b99-0875407a5b25
No filesystem could mount root, tried: ext3 ext4 ext2 fuseblk
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.8.13 #1
Hardware name: , BIOS 06/08/2008
0000000000000001 ffffffff811e0a97 ffff88001e5bc000 ffffffff816ea24b
ffffffff810ae1b3 ffff880000000010 ffff88001ec57ec0 ffff88001ec57e58
ffff88001ec57eb0 ffff88001ec57ec8 0000000000000012 0000000000000000
Call Trace:
[<ffffffff811e0a97>] ? dump_stack+0x5d/0x79
[<ffffffff810ae1b3>] ? panic+0xd3/0x20b
[<ffffffff818ad403>] ? mount_block_root+0x2a4/0x2bb
[<ffffffff818ad6fe>] ? prepare_namespace+0x161/0x197
[<ffffffff818ad052>] ? kernel_init_freeable+0x182/0x18b
[<ffffffff8141bbb7>] ? kernel_init+0x5/0xe6
[<ffffffff814207bf>] ? ret_from_fork+0x1f/0x40
[<ffffffff8141bbb2>] ? rest_init+0x69/0x69
Kernel Offset: disabled
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,1)
Using Kernel 4.17.9:
[ 0.413939] VFS: Cannot open root device "hda1" or unknown-block(0,0): error -6
[ 0.413951] Please append a correct "root=" boot option; here are the available partitions:
[ 0.413966] [ callto:0800 8192000 | 0800 8192000 ] sda
[ 0.413967] driver: sd
[ 0.413982] [ callto:0801 1024 | 0801 1024 ] sda1 b3e8ba38-c801-461b-a765-d4ccb929b5df
[ 0.413983]
[ 0.414000] [ callto:0802 8188928 | 0802 8188928 ] sda2 b68ea151-df09-44cf-8b99-0875407a5b25
[ 0.414001]
[ 0.414018] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
The problem seems to be during the creation of the kernel, where I do not install any driver. Jason mentions that I should probably need to install some drivers/software, but they are not specified.
From what I've seen on the internet it is likely to be a filesystem driver missing or an incompatibility of kernel and linux version.
Would anyone be able to give directions on how to understand and solve this issue?
Then for the kernel I did the following steps (with Jason's config):
make oldconfig
make vmlinux
This creates an executable called vmlinux which I use as the kernel for fs.py. After trying to run it and creating the telnet session, I get the following errors (extracted the end of the messages):
Using kernel 4.8.13:
List of all partitions:
[ callto:0100 16384 | 0100 16384 ] ram0 (driver?)
[ callto:0101 16384 | 0101 16384 ] ram1 (driver?)
[ callto:0102 16384 | 0102 16384 ] ram2 (driver?)
[ callto:0103 16384 | 0103 16384 ] ram3 (driver?)
[ callto:0104 16384 | 0104 16384 ] ram4 (driver?)
[ callto:0105 16384 | 0105 16384 ] ram5 (driver?)
[ callto:0106 16384 | 0106 16384 ] ram6 (driver?)
[ callto:0107 16384 | 0107 16384 ] ram7 (driver?)
[ callto:0108 16384 | 0108 16384 ] ram8 (driver?)
[ callto:0109 16384 | 0109 16384 ] ram9 (driver?)
010a 16384 ram10 (driver?)
010b 16384 ram11 (driver?)
010c 16384 ram12 (driver?)
010d 16384 ram13 (driver?)
010e 16384 ram14 (driver?)
010f 16384 ram15 (driver?)
[ callto:0300 8192000 | 0300 8192000 ] hda driver: ide-gd
[ callto:0301 1024 | 0301 1024 ] hda1 b3e8ba38-c801-461b-a765-d4ccb929b5df
[ callto:0302 8188928 | 0302 8188928 ] hda2 b68ea151-df09-44cf-8b99-0875407a5b25
No filesystem could mount root, tried: ext3 ext4 ext2 fuseblk
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.8.13 #1
Hardware name: , BIOS 06/08/2008
0000000000000001 ffffffff811e0a97 ffff88001e5bc000 ffffffff816ea24b
ffffffff810ae1b3 ffff880000000010 ffff88001ec57ec0 ffff88001ec57e58
ffff88001ec57eb0 ffff88001ec57ec8 0000000000000012 0000000000000000
Call Trace:
[<ffffffff811e0a97>] ? dump_stack+0x5d/0x79
[<ffffffff810ae1b3>] ? panic+0xd3/0x20b
[<ffffffff818ad403>] ? mount_block_root+0x2a4/0x2bb
[<ffffffff818ad6fe>] ? prepare_namespace+0x161/0x197
[<ffffffff818ad052>] ? kernel_init_freeable+0x182/0x18b
[<ffffffff8141bbb7>] ? kernel_init+0x5/0xe6
[<ffffffff814207bf>] ? ret_from_fork+0x1f/0x40
[<ffffffff8141bbb2>] ? rest_init+0x69/0x69
Kernel Offset: disabled
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(3,1)
Using Kernel 4.17.9:
[ 0.413939] VFS: Cannot open root device "hda1" or unknown-block(0,0): error -6
[ 0.413951] Please append a correct "root=" boot option; here are the available partitions:
[ 0.413966] [ callto:0800 8192000 | 0800 8192000 ] sda
[ 0.413967] driver: sd
[ 0.413982] [ callto:0801 1024 | 0801 1024 ] sda1 b3e8ba38-c801-461b-a765-d4ccb929b5df
[ 0.413983]
[ 0.414000] [ callto:0802 8188928 | 0802 8188928 ] sda2 b68ea151-df09-44cf-8b99-0875407a5b25
[ 0.414001]
[ 0.414018] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
The problem seems to be during the creation of the kernel, where I do not install any driver. Jason mentions that I should probably need to install some drivers/software, but they are not specified.
From what I've seen on the internet it is likely to be a filesystem driver missing or an incompatibility of kernel and linux version.
Would anyone be able to give directions on how to understand and solve this issue?
--
Kleovoulos Kalaitzidis
Doctorant - Équipe PACAP
Centre de recherche INRIA Rennes - Bretagne Atlantique
Bâtiment 12E, Bureau E321, Campus de Beaulieu,
35042 Rennes Cedex, France
Kleovoulos Kalaitzidis
Doctorant - Équipe PACAP
Centre de recherche INRIA Rennes - Bretagne Atlantique
Bâtiment 12E, Bureau E321, Campus de Beaulieu,
35042 Rennes Cedex, France