Hi, Can you try changing the "--root-device" option in the command to run gem5 to one of "/dev/vda1", "/dev/sda1", "/dev/hda", "/dev/vda", "/dev/sda"?
Regards, Hoa Nguyen On 7/2/21, Eliot Moss via gem5-users <gem5-users@gem5.org> wrote: > I've ried my best to follow the instruction on how to build a disk image > using > packer. I obtained an image qemu built and that could mount on the host > system using guestmount. It is for ubuntu 18.04. But when I try to mount > it > in gem5 it says it can't find a root partition (further details below). > > The same gem5 build can mount your ubuntu 18.04 image just fine. > > How can I figure out what I am doing wrong / differently that leads to the > failure? > > Here is the proximal gem5 output (full system.pc.com_1.device file > attached) > along with the terminal output from the command running gem5 > ============================== > VFS: Cannot open root device "hda1" or unknown-block(3,1): error -6 > Please append a correct "root=" boot option; here are the available > partitions: > 0100 16384 ram0 > (driver?) > 0101 16384 ram1 > (driver?) > 0102 16384 ram2 > (driver?) > 0103 16384 ram3 > (driver?) > 0104 16384 ram4 > (driver?) > 0105 16384 ram5 > (driver?) > 0106 16384 ram6 > (driver?) > 0107 16384 ram7 > (driver?) > 0108 16384 ram8 > (driver?) > 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?) > 0300 2792256 hda > driver: ide-gd > Kernel panic - not syncing: VFS: Unable to mount root fs on > unknown-block(3,1) > ============================== > > Here's the output from my script: > ============================== > Global frequency set at 1000000000000 ticks per second > warn: DRAM device capacity (8192 Mbytes) does not match the address range > assigned (4096 Mbytes) > info: kernel located at: ../work/gem5-images/vmlinux-4.15.0-147-151-ubuntu > system.pc.com_1.device: Listening for connections on port 3456 > 0: system.remote_gdb: listening for remote gdb on port 7000 > warn: Reading current count from inactive timer. > gem5 Simulator System. http://gem5.org > gem5 is copyrighted software; use the --copyright option for details. > > gem5 version 21.0.1.0 > gem5 compiled Jun 26 2021 03:16:35 > gem5 started Jul 2 2021 17:06:28 > gem5 executing on xclean-moss-25980, pid 38 > command line: build/X86/gem5.fast configs/full_system/myfs.py --mem-size=3GB > > --cpu-type=AtomicSimpleCPU --caches --l2cache --os-type=linux > --kernel=../work/gem5-images/vmlinux-4.15.0-147-151-ubuntu > --disk-image=../work/gem5-images/build/ubuntu1804.img > --root-device=/dev/hda1 --command-line > 'earlyprintk=ttyS0 console=ttyS0 lpj=7999923 root=%(rootdev)s mem=%(mem)s' > > **** REAL SIMULATION **** > warn: iobus.slave is deprecated. `slave` is now called `cpu_side_ports` > warn: bridge.master is deprecated. `master` is now called `mem_side_port` > warn: membus.master is deprecated. `master` is now called `mem_side_ports` > warn: bridge.slave is deprecated. `slave` is now called `cpu_side_port` > warn: iobus.master is deprecated. `master` is now called `mem_side_ports` > warn: apicbridge.slave is deprecated. `slave` is now called `cpu_side_port` > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports` > warn: apicbridge.master is deprecated. `master` is now called > `mem_side_port` > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports` > warn: iobus.master is deprecated. `master` is now called `mem_side_ports` > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports` > warn: tol2bus.master is deprecated. `master` is now called `mem_side_ports` > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports` > warn: tol2bus.slave is deprecated. `slave` is now called `cpu_side_ports` > warn: tol2bus.slave is deprecated. `slave` is now called `cpu_side_ports` > warn: tol2bus.slave is deprecated. `slave` is now called `cpu_side_ports` > warn: tol2bus.slave is deprecated. `slave` is now called `cpu_side_ports` > warn: membus.master is deprecated. `master` is now called `mem_side_ports` > warn: membus.master is deprecated. `master` is now called `mem_side_ports` > warn: membus.slave is deprecated. `slave` is now called `cpu_side_ports` > info: Entering event queue @ 0. Starting simulation... > warn: x86 cpuid family 0x0000: unimplemented function 6 > warn: x86 cpuid family 0x0000: unimplemented function 6 > warn: x86 cpuid family 0x0000: unimplemented function 6 > warn: instruction 'fninit' unimplemented > warn: Don't know what interrupt to clear for console. > warn: instruction 'sgdt_Ms' unimplemented > warn: x86 cpuid family 0x0000: unimplemented function 6 > warn: x86 cpuid family 0x0000: unimplemented function 6 > warn: x86 cpuid family 0x0000: unimplemented function 6 > warn: Tried to clear PCI interrupt 14 > ============================== > > Now here are the details on how I tried to build the image. > > How I used packer: > ============================== > PACKER_LOG=1 packer build --var-file=ubuntu1804.json ubuntu.json |& tee > packer.log > ============================== > The .json files: > > ubuntu1804.json > ============================== > { > "_comment": "Build with `packer build -var-file=ubuntu1804.json > ubuntu.json`", > "vm_name": "ubuntu1804.img", > "cpus": "1", > "disk_size": "65536", > "iso_checksum": > "8c5fc24894394035402f66f3824beb7234b757dd2b5531379cb310cedfdf0996", > "iso_checksum_type": "sha256", > "iso_url": > "http://cdimage.ubuntu.com/ubuntu/releases/18.04/release/ubuntu-18.04.5-server-amd64.iso", > "memory": "512", > "preseed" : "preseed.cfg", > "boot_command_prefix": "<esc><esc><enter><wait>", > "version" : "1" > } > ============================== > > ubuntu.json > ============================== > { > "_comment": "Build with `packer build ubuntu.json`", > "builders": [ > { > "type": "qemu", > "boot_command": [ > "{{ user `boot_command_prefix` }}", > "/install/vmlinuz noapic ", > "file=/floppy/{{ user `preseed` }} ", > "debian-installer={{ user `locale` }} auto locale={{ user `locale` > }} kbd-chooser/method=us ", > "hostname={{ user `hostname` }} ", > "fb=false debconf/frontend=noninteractive ", > "keyboard-configuration/modelcode=SKIP ", > "keyboard-configuration/layout=USA ", > "keyboard-configuration/variant=USA console-setup/ask_detect=false > ", > "passwd/user-fullname={{ user `ssh_fullname` }} ", > "passwd/user-password={{ user `ssh_password` }} ", > "passwd/user-password-again={{ user `ssh_password` }} ", > "passwd/username={{ user `ssh_username` }} ", > "initrd=/install/initrd.gz -- <enter>" > ], > "disk_size": "{{ user `disk_size` }}", > "floppy_files": [ > "http/{{ user `preseed` }}" > ], > "headless": "{{ user `headless` }}", > "http_directory": "http", > "iso_checksum": "{{ user `iso_checksum` }}", > "iso_checksum_type": "{{ user `iso_checksum_type` }}", > "iso_urls": [ > "{{ user `iso_url` }}" > ], > "output_directory": "output-{{ user `vm_name` }}", > "shutdown_command": "echo '{{ user `ssh_password` }}'|sudo -S > shutdown -P now", > "ssh_password": "{{ user `ssh_password` }}", > "ssh_username": "{{ user `ssh_username` }}", > "ssh_wait_timeout": "10000s", > "vm_name": "{{ user `vm_name` }}", > "qemuargs": [ > [ "-m", "{{ user `memory` }}" ], > [ "-display", "none" ], > [ "-cpu", "qemu64" ], > [ "-smp", "cpus={{ user `cpus`}}"] > ] > } > ], > "provisioners": [ > { > "environment_vars": [ > "UPDATE={{user `update`}}", > "INSTALL_DEV_PACKAGES={{user `install_dev_packages`}}", > "INSTALL_VAGRANT_KEY={{user `install_vagrant_key`}}", > "SSH_USERNAME={{user `ssh_username`}}", > "SSH_PASSWORD={{user `ssh_password`}}", > "http_proxy={{user `http_proxy`}}", > "https_proxy={{user `https_proxy`}}", > "ftp_proxy={{user `ftp_proxy`}}", > "rsync_proxy={{user `rsync_proxy`}}", > "no_proxy={{user `no_proxy`}}" > ], > "execute_command": "echo '{{ user `ssh_password` }}' | {{.Vars}} sudo > -E -S bash '{{.Path}}'", > "scripts": [ > "scripts/vagrant.sh", > "scripts/sshd.sh", > "scripts/update.sh", > "scripts/packages.sh", > "scripts/cleanup.sh" > ], > "type": "shell" > } > ], > "variables": { > "boot_command_prefix": > "<enter><wait><f6><esc><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs><bs>", > "cleanup_pause": "", > "cpus": "1", > "custom_script": ".", > "desktop": "false", > "disk_size": "65536", > "ftp_proxy": "{{env `ftp_proxy`}}", > "headless": "", > "http_proxy": "{{env `http_proxy`}}", > "https_proxy": "{{env `https_proxy`}}", > "install_vagrant_key": "true", > "install_dev_packages": "false", > "iso_checksum": "de5ee8665048f009577763efbf4a6f0558833e59", > "iso_checksum_type": "sha1", > "iso_name": "ubuntu-16.04-server-amd64.iso", > "iso_url": > "http://releases.ubuntu.com/16.04/ubuntu-16.04-server-amd64.iso", > "locale": "en_US", > "memory": "512", > "no_proxy": "{{env `no_proxy`}}", > "preseed" : "preseed.cfg", > "rsync_proxy": "{{env `rsync_proxy`}}", > "hostname": "vagrant", > "ssh_fullname": "vagrant", > "ssh_password": "vagrant", > "ssh_username": "vagrant", > "update": "false", > "vagrantfile_template": "", > "version": "0.1.0", > "vm_name": "ubuntu1604" > } > } > ============================== > > preseed.cfg: > ============================== > choose-mirror-bin mirror/http/proxy string > d-i debian-installer/framebuffer boolean false > d-i debconf/frontend select noninteractive > d-i base-installer/kernel/override-image string linux-server > d-i clock-setup/utc boolean true > d-i clock-setup/utc-auto boolean true > d-i finish-install/reboot_in_progress note > d-i grub-installer/only_debian boolean true > d-i grub-installer/with_other_os boolean true > d-i partman-auto/method string regular > d-i partman/choose_partition select finish > d-i partman/confirm boolean true > d-i partman/confirm_nooverwrite boolean true > d-i partman/confirm_write_new_label boolean true > d-i pkgsel/include string openssh-server > d-i pkgsel/install-language-support boolean false > d-i pkgsel/update-policy select none > d-i pkgsel/upgrade select full-upgrade > d-i time/zone string UTC > d-i user-setup/allow-password-weak boolean true > d-i user-setup/encrypt-home boolean false > tasksel tasksel/first multiselect standard, ubuntu-server > ============================== > > The packer log file is longer, so I'm putting that as an attachement. > > virt-inspector says > ============================== > <?xml version="1.0"?> > <operatingsystems> > <operatingsystem> > <root>/dev/sda1</root> > <name>linux</name> > <arch>x86_64</arch> > <distro>ubuntu</distro> > <product_name>Ubuntu 18.04.5 LTS</product_name> > <major_version>18</major_version> > <minor_version>4</minor_version> > <package_format>deb</package_format> > <package_management>apt</package_management> > <hostname>vagrant</hostname> > <osinfo>ubuntu18.04</osinfo> > <mountpoints> > <mountpoint dev="/dev/sda1">/</mountpoint> > </mountpoints> > <filesystems> > <filesystem dev="/dev/sda1"> > <type>ext4</type> > <uuid>d1f198d6-965a-42a2-9975-734610cf7831</uuid> > </filesystem> > </filesystems> > ... (lots of stuff about applications) > </operatingsystem> > </operatingsystems> > ============================== > > Thank you for your consideration -- Eliot Moss > _______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s