Comments (5)
@m-bers Tried to post this on Macrumors, but my post is under mod review. I was able to get the Arch Linux aarch64 image to boot (using ACVM, but expect it will work with vftool as well)- starting with the generic image, add the virtio, virtio_blk, virtio_pci, and virtio_net modules to mkinitcpio.conf. Rebuild the image with mkinitcpio -P and then install an EFI boot loader with systemd-boot (follow the Arch wiki). Works like a charm for me.
from vftool.
@kuestess Thanks for this, I got it working via https://gist.github.com/thalamus/561d028ff5b66310fac1224f3d023c12
from vftool.
This doesn't not seem like a bug in vftool. A few things to diagnose this: look for virtio in /proc/devices, lsmod, and dmesg. This will tell you if the driver loaded.
from vftool.
ended up compiling a new kernel via the archlinuxarm PKGBUILD here: https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/linux-aarch64/PKGBUILD
Kernel boots now but still won't recognize /dev/vda.
Here are the outputs of the original vftool command, /proc/devices, lsmod, and dmesg:
./vftool -k Image -i initramfs-linux.img -d arm64disk.img -m 8192 -a "root=/dev/vda2 rw console=hvc0" -p 4 -t 0
2021-01-05 05:46:58.242 vftool[13702:314079] vftool (v0.3 10/12/2020) starting
2021-01-05 05:46:58.243 vftool[13702:314079] +++ kernel at Image, initrd at initramfs-linux.img, cmdline 'root=/dev/vda2 rw console=hvc0', 4 cpus, 8192MB memory
2021-01-05 05:46:58.258 vftool[13702:314079] +++ Attaching disc arm64disk.img
2021-01-05 05:46:58.258 vftool[13702:314079] +++ Configuration validated.
2021-01-05 05:46:58.258 vftool[13702:314079] +++ canStart = 1, vm state 0
2021-01-05 05:46:58.333 vftool[13702:314081] +++ VM started
[ 0.425174] cacheinfo: Unable to detect cache hierarchy for CPU 0
[ 0.426191] libphy: Fixed MDIO Bus: probed
[ 0.426777] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.427098] ehci-pci: EHCI PCI platform driver
[ 0.428610] ehci-platform: EHCI generic platform driver
[ 0.429264] ehci-orion: EHCI orion driver
[ 0.438696] tegra-ehci: Tegra EHCI driver
[ 0.440535] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.440612] ohci-pci: OHCI PCI platform driver
[ 0.441065] ohci-platform: OHCI generic platform driver
[ 0.447560] uhci_hcd: USB Universal Host Controller Interface driver
[ 0.447969] usbcore: registered new interface driver uas
[ 0.450310] usbcore: registered new interface driver usb-storage
[ 0.452324] usbcore: registered new interface driver ums-cypress
[ 0.453520] usbcore: registered new interface driver ums_eneub6250
[ 0.454729] mousedev: PS/2 mouse device common for all mice
[ 0.455372] sdhci: Secure Digital Host Controller Interface driver
[ 0.455559] sdhci: Copyright(c) Pierre Ossman
[ 0.455936] Synopsys Designware Multimedia Card Interface Driver
[ 0.457931] sdhci-pltfm: SDHCI platform and OF driver helper
[ 0.458522] ledtrig-cpu: registered to indicate activity on CPUs
[ 0.458749] hid: raw HID events driver (C) Jiri Kosina
[ 0.458865] usbcore: registered new interface driver usbhid
[ 0.459290] usbhid: USB HID core driver
[ 0.459738] Initializing XFRM netlink socket
[ 0.459885] NET: Registered protocol family 10
[ 0.473141] Segment Routing with IPv6
[ 0.473688] mip6: Mobile IPv6
[ 0.473908] NET: Registered protocol family 17
[ 0.474816] Key type dns_resolver registered
[ 0.475706] registered taskstats version 1
[ 0.476115] Loading compiled-in X.509 certificates
[ 0.476418] zswap: loaded using pool lzo/zbud
[ 0.476890] debug_vm_pgtable: debug_vm_pgtable: Validating architecture page table helpers
[ 0.480556] Key type ._fscrypt registered
[ 0.480873] Key type .fscrypt registered
[ 0.481077] Key type fscrypt-provisioning registered
[ 0.481214] ALSA device list:
[ 0.481259] No soundcards found.
[ 0.481768] Freeing unused kernel memory: 5056K
[ 0.530690] Run /init as init process
:: running early hook [udev]
Starting version 246.1-1-arch
:: running hook [udev]
:: Triggering uevents...
Waiting 10 seconds for device /dev/vda2 ...
ERROR: device '/dev/vda2' not found. Skipping fsck.
:: mounting '/dev/vda2' on real root
mount: /new_root: special device /dev/vda2 does not exist.
You are now being dropped into an emergency shell.
sh: can't access tty; job control turned off
[rootfs dev]# cat /proc/devices
Character devices:
1 mem
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
7 vcs
10 misc
13 input
14 sound
21 sg
29 fb
90 mtd
116 alsa
128 ptm
136 pts
162 raw
180 usb
189 usb_device
207 ttymxc
229 hvc
234 hidraw
235 rpmb
236 usbmon
237 virtio-portsdev
238 ttyLF
239 ttyLP
240 ttyTHS
241 ttyMSM
242 ttyAML
243 qcom_rmtfs_mem
244 bsg
245 watchdog
246 iio
247 rtc
248 dax
249 dimmctl
250 ndctl
251 tpm
252 ttyMV
253 rpmsg
254 gpiochip
511 vchiq
Block devices:
8 sd
9 md
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
179 mmc
254 mdp
259 blkext
[rootfs dev]# lsmod
lsmod
Module Size Used by
[rootfs dev]# dmesg
dmesg
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x00000000]
[ 0.000000] Linux version 5.8.0-2-ARCH (josh@1555d415abf4) (gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35) #1 SMP Tue Jan 5 07:25:11 UTC 2021
[ 0.000000] efi: UEFI not found.
[ 0.000000] cma: Reserved 64 MiB at 0x00000000fc000000
[ 0.000000] Zone ranges:
[ 0.000000] DMA [mem 0x0000000070000000-0x000000007fffffff]
[ 0.000000] DMA32 [mem 0x0000000080000000-0x00000000ffffffff]
[ 0.000000] Normal [mem 0x0000000100000000-0x000000026fffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000070000000-0x000000026fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000070000000-0x000000026fffffff]
[ 0.000000] On node 0 totalpages: 2097152[ 3297.061174] r
[ 0.000000] DMA zone: 1024 pages used for memmap
andom: fast init[ 0.000000] DMA zone: 0 pages reserved done
[ 0.000000] DMA zone: 65536 pages, LIFO batch:15
[ 0.000000] DMA32 zone: 8192 pages used for memmap
[ 0.000000] DMA32 zone: 524288 pages, LIFO batch:63
[ 0.000000] Normal zone: 23552 pages used for memmap
[ 0.000000] Normal zone: 1507328 pages, LIFO batch:63
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: Trusted OS migration not required
[ 0.000000] psci: SMC Calling Convention v1.0
[ 0.000000] percpu: Embedded 22 pages/cpu s53016 r8192 d28904 u90112
[ 0.000000] pcpu-alloc: s53016 r8192 d28904 u90112 alloc=22*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[ 0.000000] Detected PIPT I-cache on CPU0
[ 0.000000] CPU features: detected: Speculative Store Bypassing Safe (SSBS)
[ 0.000000] CPU features: detected: Address authentication (IMP DEF algorithm)
[ 0.000000] alternatives: patching kernel code
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 2064384
[ 0.000000] Kernel command line: root=/dev/vda2 rw console=hvc0
[ 0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] software IO TLB: mapped [mem 0x7bfff000-0x7ffff000] (64MB)
[ 0.000000] Memory: 8041624K/8388608K available (15164K kernel code, 2108K rwdata, 7472K rodata, 5056K init, 819K bss, 281448K reserved, 65536K cma-reserved)
[ 0.000000] random: get_random_u64 called from cache_random_seq_create+0x84/0x15c with crng_init=0
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[ 0.000000] Trampoline variant of Tasks RCU enabled.
[ 0.000000] Rude variant of Tasks RCU enabled.
[ 0.000000] Tracing variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GICv3: 64 SPIs implemented
[ 0.000000] GICv3: 0 Extended SPIs implemented
[ 0.000000] GICv3: Distributor has no Range Selector support
[ 0.000000] GICv3: 16 PPIs implemented
[ 0.000000] GICv3: Enabling SGIs without active state
[ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000010010000
[ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[ 0.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[ 0.000065] Console: colour dummy device 80x25
[ 0.000083] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.000084] pid_max: default: 32768 minimum: 301
[ 0.000123] LSM: Security Framework initializing
[ 0.000135] Yama: becoming mindful.
[ 0.000184] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.000214] Mountpoint
from vftool.
Also, modinfo does show the virtio-blk driver as being loaded (unless I'm missing something):
[rootfs dev]# modinfo virtio-blk
modinfo virtio-blk
filename: /lib/modules/5.8.0-2-ARCH/kernel/virtio_blk.ko
license: GPL
description: Virtio block driver
alias: virtio:d00000002v*
depends:
intree: Y
name: virtio_blk
vermagic: 5.8.0-2-ARCH SMP mod_unload aarch64
parm: queue_depth:uint
from vftool.
Related Issues (20)
- Android aarch64 support HOT 2
- My visuals are broken
- VM seems to shut down randomly HOT 1
- Networking doesnโt work through NAT for Ubuntu cloud images HOT 5
- -p N, N > 1 seems absurdly slow? HOT 9
- how to create a debian install? HOT 6
- Required kernel modules? HOT 3
- how can we assign process "com.apple.Virtualization.VirtualMachine" to big core of M1 on MacBook Air ? HOT 1
- Can we create socket device ? HOT 9
- Kernel Panic when using a Network Bridge interface inside VM
- Does it could run Centos Image with Arm64 ? HOT 5
- Vm has started but nothing to show HOT 3
- Vm Wont Boot on Big Sur Xcode 12 using ARM HOT 1
- macOS guest support
- Any plans to publish to brew
- VM exits immediately after screening into it HOT 4
- Question: Is there a way to request an IP address? HOT 2
- Question: Is it possible to add extra volume to the vm? HOT 2
- Question: can change default ubuntu user password? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vftool.