Hello Everyone ,
I am trying to run some benchmarks on ARM FS simulation , I have modified
my disk image using qemu and runs successfully on qemu emulator (running
qemu as VM ) but when I pass the same disk image to the ARM FS I get the
kernel panic error
These are the commands I used in qemu to modify my image :
sudo qemu-system-aarch64 -m 1024 -cpu cortex-a57 -M virt -nographic -pflash
flash0.img -pflash flash1.img -drive
if=none,file=ubuntu-18.04-server-cloudimg-arm64.img,id=hd0 -drive
file=user-data.img,format=raw,id=cloud -device virtio-blk-device,drive=hd0
-net user,hostfwd=tcp::8080-:22 -net nic -vnc :3
I have
Passed the same image to ARM FS in gem5 using the following command :
/build/ARM/gem5.opt configs/example/arm/fs_power.py
--kernel=/home/saras/gem5-resources/src/arm-ubuntu/gem5/full_system_images/binaries/vmlinux.arm64
--disk=/home/saras/gem5-resources/src/arm-ubuntu/gem5/full_system_images/disks/
ubuntu-18.04-server-cloudimg-arm64.img --caches
I have also resized the image size using qemuing command
I want to avoid the kernel panic error and mount my image successfully on
gem5 ARM FS mode .
Kindly let me know what needs to be rectified.
Thankyou
Regards
Saras
Hello Everyone ,
I am trying to run some benchmarks on ARM FS simulation , I have modified
my disk image using qemu and runs successfully on qemu emulator (running
qemu as VM ) but when I pass the same disk image to the ARM FS I get the
kernel panic error
These are the commands I used in qemu to modify my image :
sudo qemu-system-aarch64 -m 1024 -cpu cortex-a57 -M virt -nographic -pflash
flash0.img -pflash flash1.img -drive
if=none,file=ubuntu-18.04-server-cloudimg-arm64.img,id=hd0 -drive
file=user-data.img,format=raw,id=cloud -device virtio-blk-device,drive=hd0
-net user,hostfwd=tcp::8080-:22 -net nic -vnc :3
I have
Passed the same image to ARM FS in gem5 using the following command :
/build/ARM/gem5.opt configs/example/arm/fs_power.py
--kernel=/home/saras/gem5-resources/src/arm-ubuntu/gem5/full_system_images/binaries/vmlinux.arm64
--disk=/home/saras/gem5-resources/src/arm-ubuntu/gem5/full_system_images/disks/
ubuntu-18.04-server-cloudimg-arm64.img --caches
I have also resized the image size using qemuing command
I want to avoid the kernel panic error and mount my image successfully on
gem5 ARM FS mode .
Kindly let me know what needs to be rectified.
Thankyou
Regards
Saras
Hi saras,
Could you post an extract of the kernel panic from m5out/system.terminal?
Kind Regards
Giacomo
From: saras nanda via gem5-users gem5-users@gem5.org
Date: Sunday, 26 November 2023 at 22:13
To: The gem5 Users mailing list gem5-users@gem5.org
Cc: saras nanda sarasnanda63@gmail.com
Subject: [gem5-users] Query regarding Running Custom FS image for ARM FS simulation
Hello Everyone ,
I am trying to run some benchmarks on ARM FS simulation , I have modified my disk image using qemu and runs successfully on qemu emulator (running qemu as VM ) but when I pass the same disk image to the ARM FS I get the kernel panic error
These are the commands I used in qemu to modify my image :
sudo qemu-system-aarch64 -m 1024 -cpu cortex-a57 -M virt -nographic -pflash flash0.img -pflash flash1.img -drive if=none,file=ubuntu-18.04-server-cloudimg-arm64.img,id=hd0 -drive file=user-data.img,format=raw,id=cloud -device virtio-blk-device,drive=hd0 -net user,hostfwd=tcp::8080-:22 -net nic -vnc :3
I have
Passed the same image to ARM FS in gem5 using the following command :
/build/ARM/gem5.opt configs/example/arm/fs_power.py --kernel=/home/saras/gem5-resources/src/arm-ubuntu/gem5/full_system_images/binaries/vmlinux.arm64 --disk=/home/saras/gem5-resources/src/arm-ubuntu/gem5/full_system_images/disks/ubuntu-18.04-server-cloudimg-arm64.img --caches
I have also resized the image size using qemuing command
I want to avoid the kernel panic error and mount my image successfully on gem5 ARM FS mode .
Kindly let me know what needs to be rectified.
Thankyou
Regards
Saras
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
Hi Giacomo ,
Thank you for your email
I am writing a brief description of my problem once again , I have done ARM
Full system simulation by passing a disk image with required packages and
benchmarks installed using qemu.I am trying use the script fs_power.py ,to
simulate or obtain power numbers while running my benchmarks on gem5 for
ARM architecture.
I am attaching the full log of m5 term below :
==== m5 terminal: Terminal 0 ====
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd070]
[ 0.000000] Linux version 4.18.0+ (arm-employee@arm-computer) (gcc
version 7.4.0 (Ubuntu/Linaro 7.4.0-1ubuntu1~18.04.1)) #1 SMP PREEMPT Wed
Nov 6 14:10:00 GMT 2019
[ 0.000000] Machine model: V2P-CA15
[ 0.000000] earlycon: pl11 at MMIO 0x000000001c090000 (options '')
[ 0.000000] bootconsole [pl11] enabled
[ 0.000000] Memory limited to 2048MB
[ 0.000000] cma: Reserved 16 MiB at 0x00000000ff000000
[ 0.000000] On node 0 totalpages: 524288
[ 0.000000] DMA32 zone: 8192 pages used for memmap
[ 0.000000] DMA32 zone: 0 pages reserved
[ 0.000000] DMA32 zone: 524288 pages, LIFO batch:31
[ 0.000000] random: get_random_bytes called from start_kernel+0xa8/0x3e8
with crng_init=0
[ 0.000000] percpu: Embedded 23 pages/cpu @(ptrval) s53976 r8192
d32040 u94208
[ 0.000000] pcpu-alloc: s53976 r8192 d32040 u94208 alloc=23*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1
[ 0.000000] Detected PIPT I-cache on CPU0
[ 0.000000] CPU features: enabling workaround for ARM erratum 832075
[ 0.000000] CPU features: enabling workaround for ARM erratum 834220
[ 0.000000] CPU features: enabling workaround for EL2 vector hardening
[ 0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 516096
[ 0.000000] Kernel command line: earlyprintk earlycon=pl011,0x1c090000
console=ttyAMA0 lpj=19988480 norandmaps loglevel=8 mem=2GB root=/dev/vda2
rw init=/sbin/init vmalloc=768MB
[ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152
bytes)
[ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576
bytes)
[ 0.000000] Memory: 2034232K/2097152K available (6910K kernel code, 452K
rwdata, 2312K rodata, 448K init, 217K bss, 46536K reserved, 16384K
cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GIC: GICv2 detected, but range too small and
irqchip.gicv2_force_probe not set
[ 0.000000] clk_gem5_energy_ctrl: No cpu-map in DT! Falling back to old
detection method!
[ 0.000000] clk_gem5_energy_ctrl: No clusters in DT! Falling back to
using CPU topology!
[ 0.000002] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every
89478484971ns
[ 0.000164] arch_timer: cp15 and mmio timer(s) running at 25.16MHz
(phys/phys).
[ 0.000230] clocksource: arch_sys_counter: mask: 0xffffffffffffff
max_cycles: 0x5cdd39714, max_idle_ns: 440795202620 ns
[ 0.000325] sched_clock: 56 bits at 25MHz, resolution 39ns, wraps every
4398046511084ns
[ 0.000441] Console: colour dummy device 80x25
[ 0.000486] Calibrating delay loop (skipped) preset value.. 9994.24
BogoMIPS (lpj=19988480)
[ 0.000561] pid_max: default: 32768 minimum: 301
[ 0.000636] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.000699] Mountpoint-cache hash table entries: 4096 (order: 3, 32768
bytes)
[ 0.024160] ASID allocator initialised with 128 entries
[ 0.032160] Hierarchical SRCU implementation.
[ 0.048176] smp: Bringing up secondary CPUs ...
[ 0.080242] Detected PIPT I-cache on CPU1
[ 0.080298] CPU1: Booted secondary processor 0x0000000101 [0x410fd070]
[ 0.080414] smp: Brought up 1 node, 2 CPUs
[ 0.080541] SMP: Total of 2 processors activated.
[ 0.080585] CPU features: detected: Privileged Access Never
[ 0.080634] CPU features: detected: User Access Override
[ 0.080682] CPU features: detected: 32-bit EL0 Support
[ 0.080728] CPU features: detected: Scalable Vector Extension
[ 0.083409] SVE: maximum available vector length 16 bytes per vector
[ 0.083465] SVE: default vector length 16 bytes per vector
[ 0.083514] CPU: All CPU(s) started at EL2
[ 0.083558] alternatives: patching kernel code
[ 0.084375] devtmpfs: initialized
[ 0.085272] clocksource: jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.085360] futex hash table entries: 512 (order: 3, 32768 bytes)
[ 0.086618] NET: Registered protocol family 16
[ 0.168333] cpuidle: using governor menu
[ 0.168472] vdso: 2 pages (1 code @ (ptrval), 1 data @
(ptrval))
[ 0.168540] hw-breakpoint: found 16 breakpoint and 16 watchpoint
registers.
[ 0.169013] DMA: preallocated 256 KiB pool for atomic allocations
[ 0.169068] Serial: AMBA PL011 UART driver
[ 0.169262] OF: amba_device_add() failed (-2) for /watchdog@2a490000
[ 0.169494] OF: amba_device_add() failed (-2) for /watchdog@2b060000
[ 0.169655] 1c090000.uart: ttyAMA0 at MMIO 0x1c090000 (irq = 13,
base_baud = 0) is a PL011 rev3
[ 0.169737] console [ttyAMA0] enabled
[ 0.169737] console [ttyAMA0] enabled
[ 0.169792] bootconsole [pl11] disabled
[ 0.169792] bootconsole [pl11] disabled
[ 0.170030] 1c0a0000.uart: ttyAMA1 at MMIO 0x1c0a0000 (irq = 14,
base_baud = 0) is a PL011 rev3
[ 0.170264] 1c0b0000.uart: ttyAMA2 at MMIO 0x1c0b0000 (irq = 15,
base_baud = 0) is a PL011 rev3
[ 0.170493] 1c0c0000.uart: ttyAMA3 at MMIO 0x1c0c0000 (irq = 16,
base_baud = 0) is a PL011 rev3
[ 0.170675] OF: amba_device_add() failed (-2) for /kmi@1c060000
[ 0.170758] OF: amba_device_add() failed (-2) for /kmi@1c070000
[ 0.170841] OF: /watchdog@1c0f0000: could not find phandle
[ 0.170875] ERROR: could not get clock /watchdog@1c0f0000:apb_pclk(1)
[ 0.170916] OF: amba_device_add() failed (-2) for /watchdog@1c0f0000
[ 0.170999] OF: /rtc@1c170000: could not find phandle
[ 0.171031] ERROR: could not get clock /rtc@1c170000:apb_pclk(0)
[ 0.171069] OF: amba_device_add() failed (-2) for /rtc@1c170000
[ 0.180523] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.184587] vgaarb: loaded
[ 0.184703] SCSI subsystem initialized
[ 0.188379] libata version 3.00 loaded.
[ 0.188477] usbcore: registered new interface driver usbfs
[ 0.188529] usbcore: registered new interface driver hub
[ 0.188578] usbcore: registered new device driver usb
[ 0.188635] pps_core: LinuxPPS API ver. 1 registered
[ 0.188667] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo
Giometti giometti@linux.it
[ 0.188726] PTP clock support registered
[ 0.189175] clocksource: Switched to clocksource arch_sys_counter
[ 0.194471] NET: Registered protocol family 2
[ 0.194687] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2,
16384 bytes)
[ 0.194746] TCP established hash table entries: 16384 (order: 5, 131072
bytes)
[ 0.194850] TCP bind hash table entries: 16384 (order: 6, 262144 bytes)
[ 0.195004] TCP: Hash tables configured (established 16384 bind 16384)
[ 0.195078] UDP hash table entries: 1024 (order: 3, 32768 bytes)
[ 0.195135] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes)
[ 0.195232] NET: Registered protocol family 1
[ 0.199706] RPC: Registered named UNIX socket transport module.
[ 0.199743] RPC: Registered udp transport module.
[ 0.199773] RPC: Registered tcp transport module.
[ 0.199802] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.199843] PCI: CLS 0 bytes, default 64
[ 0.200148] kvm [1]: SVE system without VHE unsupported. Broken cpu?
[ 0.200832] workingset: timestamp_bits=62 max_order=19 bucket_order=0
[ 0.203186] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.209969] fuse init (API version 7.27)
[ 0.210533] io scheduler noop registered
[ 0.210642] io scheduler cfq registered (default)
[ 0.210673] io scheduler mq-deadline registered
[ 0.210702] io scheduler kyber registered
[ 0.210803] atomic64_test: passed
[ 0.211310] pci-host-generic 30000000.pci: host bridge /pci ranges:
[ 0.211352] pci-host-generic 30000000.pci: No bus range found for
/pci, using [bus 00-ff]
[ 0.211403] pci-host-generic 30000000.pci: Parsing ranges property...
[ 0.211446] pci-host-generic 30000000.pci: IO 0x2f000000..0x2f00ffff
-> 0x00000000
[ 0.211496] pci-host-generic 30000000.pci: MEM 0x40000000..0x7fffffff
-> 0x00000000
[ 0.211559] pci-host-generic 30000000.pci: ECAM at [mem
0x30000000-0x3fffffff] for [bus 00-ff]
[ 0.211651] pci-host-generic 30000000.pci: PCI host bridge to bus 0000:00
[ 0.211694] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.211729] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 0.211768] pci_bus 0000:00: root bus resource [mem
0x40000000-0x7fffffff] (bus address [0x00000000-0x3fffffff])
[ 0.211827] pci_bus 0000:00: scanning bus
[ 0.211874] pci 0000:00:01.0: [1af4:1000] type 00 class 0xff0000
[ 0.211919] pci 0000:00:01.0: reg 0x10: [io 0x0000-0x001f]
[ 0.211965] pci 0000:00:01.0: reg 0x30: [mem 0x40000000-0x400007ff pref]
[ 0.212252] pci_bus 0000:00: fixups for bus
[ 0.212280] pci_bus 0000:00: bus scan returning with max=00
[ 0.212320] pci 0000:00:01.0: BAR 6: assigned [mem 0x40000000-0x400007ff
pref]
[ 0.212364] pci 0000:00:01.0: BAR 0: assigned [io 0x1000-0x101f]
[ 0.212628] virtio-pci 0000:00:01.0: assign IRQ: got 23
[ 0.212666] virtio-pci 0000:00:01.0: enabling device (0000 -> 0001)
[ 0.212706] virtio-pci 0000:00:01.0: virtio_pci: leaving for legacy
driver
[ 0.212750] virtio-pci 0000:00:01.0: enabling bus mastering
[ 0.215086] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 0.216315] virtio_blk virtio0: [vda] 33645056 512-byte logical blocks
(17.2 GB/16.0 GiB)
[ 0.229961] libphy: Fixed MDIO Bus: probed
[ 0.230006] e1000: Intel(R) PRO/1000 Network Driver - version
7.3.21-k8-NAPI
[ 0.230048] e1000: Copyright (c) 1999-2006 Intel Corporation.
[ 0.230100] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[ 0.230136] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 0.230189] igb: Intel(R) Gigabit Ethernet Network Driver - version
5.4.0-k
[ 0.230231] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 0.230283] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver -
version 5.1.0-k
[ 0.230329] ixgbe: Copyright (c) 1999-2016 Intel Corporation.
[ 0.234858] ixgbevf: Intel(R) 10 Gigabit PCI Express Virtual Function
Network Driver - version 4.1.0-k
[ 0.234914] ixgbevf: Copyright (c) 2009 - 2015 Intel Corporation.
[ 0.239027] i40e: Intel(R) Ethernet Connection XL710 Network Driver -
version 2.3.2-k
[ 0.239075] i40e: Copyright (c) 2013 - 2014 Intel Corporation.
[ 0.243199] ixgb: Intel(R) PRO/10GbE Network Driver - version
1.0.135-k2-NAPI
[ 0.243243] ixgb: Copyright (c) 1999-2008 Intel Corporation.
[ 0.243294] i40evf: Intel(R) 40-10 Gigabit Virtual Function Network
Driver - version 3.2.2-k
[ 0.243344] Copyright (c) 2013 - 2015 Intel Corporation.
[ 0.247615] usbcore: registered new interface driver usb-storage
[ 0.247941] mousedev: PS/2 mouse device common for all mice
[ 0.248077] gem5 DVFS handler is disabled
[ 0.248104] gem5-energy-ctrl loaded at (ptrval)
[ 0.248137] gem5_energy_ctrl_mc: gem5_mc_init: DVFS handler in energy
controller is disabled, ARM gem5 multi-cluster
cpufreq driver will not be registered
[ 0.248562] usbcore: registered new interface driver usbhid
[ 0.248597] usbhid: USB HID core driver
[ 0.248680] NET: Registered protocol family 17
[ 0.249840] VFS: Cannot open root device "vda2" or unknown-block(254,2):
error -6
[ 0.249886] Please append a correct "root=" boot option; here are the
available partitions:
[ 0.249937] fe00 16822528 vda
[ 0.249939] driver: virtio_blk
[ 0.249983] Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(254,2)
[ 0.250034] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.18.0+ #1
[ 0.250070] Hardware name: V2P-CA15 (DT)
[ 0.250095] Call trace:
[ 0.250118] dump_backtrace+0x0/0x1c0
[ 0.250143] show_stack+0x14/0x20
[ 0.250168] dump_stack+0x8c/0xac
[ 0.250191] panic+0x130/0x288
[ 0.250215] mount_block_root+0x1a8/0x294
[ 0.250242] mount_root+0x140/0x174
[ 0.250265] prepare_namespace+0x138/0x180
[ 0.250293] kernel_init_freeable+0x1c0/0x1e0
[ 0.250322] kernel_init+0x10/0x108
[ 0.250346] ret_from_fork+0x10/0x18
[ 0.250371] SMP: stopping secondary CPUs
[ 0.250397] Kernel Offset: disabled
[ 0.250421] CPU features: 0x21c06292
[ 0.250444] Memory Limit: 2048 MB
[ 0.250469] ---[ end Kernel panic - not syncing: VFS: Unable to mount
root fs on unknown-block(254,2) ]---
The command I passed is as follows :
./build/ARM/gem5.opt configs/example/arm/fs_power.py
--kernel=/home/saras/gem5-resources/src/arm-ubuntu/gem5/full_system_images/binaries/vmlinux.arm64
--disk=/home/saras/gem5-resources/src/arm-ubuntu/gem5/full_system_images/disks/ubuntu-18.04-server-cloudimg-arm64.img
--caches
I have also tried this hack of changing this part of the code in
fs_bigLITTLE.py as fs_power.py uses it :
parser.add_argument(
"--root",
type=str,
default="/dev/vda1",
help="Specify the kernel CLI root= argument",
)
I changed default = "/dev/vda1" to /dev/vad2 and /dev/vda but none of this
helped and keeps causing the kernel panic error ,
Kindly let me know what needs to be done.
Thank you in advance
Regards
Saras
On Mon, Dec 4, 2023 at 8:44 AM Giacomo Travaglini <
Giacomo.Travaglini@arm.com> wrote:
Hi saras,
Could you post an extract of the kernel panic from m5out/system.terminal?
Kind Regards
Giacomo
*From: *saras nanda via gem5-users gem5-users@gem5.org
*Date: *Sunday, 26 November 2023 at 22:13
*To: *The gem5 Users mailing list gem5-users@gem5.org
*Cc: *saras nanda sarasnanda63@gmail.com
*Subject: *[gem5-users] Query regarding Running Custom FS image for ARM
FS simulation
Hello Everyone ,
I am trying to run some benchmarks on ARM FS simulation , I have modified
my disk image using qemu and runs successfully on qemu emulator (running
qemu as VM ) but when I pass the same disk image to the ARM FS I get the
kernel panic error
These are the commands I used in qemu to modify my image :
sudo qemu-system-aarch64 -m 1024 -cpu cortex-a57 -M virt -nographic
-pflash flash0.img -pflash flash1.img -drive
if=none,file=ubuntu-18.04-server-cloudimg-arm64.img,id=hd0 -drive
file=user-data.img,format=raw,id=cloud -device virtio-blk-device,drive=hd0
-net user,hostfwd=tcp::8080-:22 -net nic -vnc :3
I have
Passed the same image to ARM FS in gem5 using the following command :
/build/ARM/gem5.opt configs/example/arm/fs_power.py
--kernel=/home/saras/gem5-resources/src/arm-ubuntu/gem5/full_system_images/binaries/vmlinux.arm64
--disk=/home/saras/gem5-resources/src/arm-ubuntu/gem5/full_system_images/disks/ubuntu-18.04-server-cloudimg-arm64.img --caches
I have also resized the image size using qemuing command
I want to avoid the kernel panic error and mount my image successfully on
gem5 ARM FS mode .
Kindly let me know what needs to be rectified.
Thankyou
Regards
Saras
IMPORTANT NOTICE: The contents of this email and any attachments are
confidential and may also be privileged. If you are not the intended
recipient, please notify the sender immediately and do not disclose the
contents to any other person, use it for any purpose, or store or copy the
information in any medium. Thank you.