I'm using a OKMX8MQ-C which from imx8, now i can boot the root cell and some simple demp such as gic-demo. But when boot the non-root linux cell, i face some problem.
I only use initramfs to boot non-root linux. Furthermore, my initramfs only contains a helloworld and a console device. [I cannot use busybox to build initramfs because my toolchain does not allow me to compile it]. My ramfs directory is as follows:[image: 截屏2023-11-25 14.49.49.png] Then my startup command is as follows: *cd /home/root/imx_jailhouse * *insmod driver/jailhouse.ko * *export PATH=/home/root/imx_jailhouse/tools:$PATH * *jailhouse enable configs/arm64/imx8mq-veth.cell * *jailhouse cell linux configs/arm64/imx8mq-linux-demo.cell \ * * ~/Image2 -d \ * * ~/imx8mq-evk-inmate.dtb -i \ * * ~/rootfs.cpio.gz \ * * -c "clk_ignore_unused console=ttymxc0,30860000,115200 earlycon=ec_imx6q,0x30860000,115200 root=/dev/ram ramdisk_size=10000000 rdinit=/hello rootwait rw " * Eventually, I got the following output: root@imx8mqevk:~/imx_jailhouse# jailhouse cell linux configs/arm64/imx8mq-linux-demo.cell \ _unused console=ttymxc0,30860000,115200 earlycon=ec_imx6q,0x30860000,115200 root=/dev/ram ramdisk_size=10000000 rdinit=/hello rootwait rw " > ~/Image2 -d \ > ~/imx8mq-evk-inmate.dtb -i \ > ~/rootfs.cpio.gz \ > -c "clk_ignore_unused console=ttymxc0,30860000,115200 earlycon=ec_imx6q,0x30860000,115200 root=/dev/ram ramdisk_size=10000000 rdinit=/hello rootwait rw " [ 567.018158] Ready to search binary handler... [ 567.023161] Finish search binary handler, ret=0... [ 567.029032] Ready to search binary handler... [ 567.033683] Finish search binary handler, ret=0... [ 567.039395] Ready to search binary handler... [ 567.044092] Finish search binary handler, ret=0... [ 567.365079] IRQ231: set affinity failed(-22). [ 567.365091] IRQ232: set affinity failed(-22). [ 567.365646] CPU2: shutdown [ 567.377126] psci: CPU2 killed. [ 567.424984] IRQ231: set affinity failed(-22). [ 567.424991] IRQ232: set affinity failed(-22). [ 567.425300] CPU3: shutdown [ 567.436789] psci: CPU3 killed. Adding virtual PCI device 00:00.0 to cell "linux-inmate-demo" Shared memory connection established: "linux-inmate-demo" <--> "imx8mq" iommu_config_commit linux-inmate-demo Created cell "linux-inmate-demo" Page pool usage after cell creation: mem 111/995, remap 144/131072 [ 567.473937] Created Jailhouse cell "linux-inmate-demo" Cell "linux-inmate-demo" can be loaded Started cell "linux-inmate-demo" [ 0.000000] Booting Linux on physical CPU 0x0000000002 [0x410fd034] [ 0.000000] Linux version 5.4.3 (azureuser@junyiyang-test) (gcc version 9.2.0 (GCC)) #46 SMP PREEMPT Fri Nov 24 09:06:54 UTC 2023 [ 0.000000] Machine model: Freescale i.MX8MQ EVK [ 0.000000] earlycon: ec_imx6q0 at MMIO 0x0000000030860000 (options '115200') [ 0.000000] printk: bootconsole [ec_imx6q0] enabled [ 0.000000] efi: Getting EFI parameters from FDT: [ 0.000000] efi: UEFI not found. [ 0.000000] cma: Reserved 320 MiB at 0x00000000e4000000 root@imx8mqevk:~/imx_jailhouse# root@imx8mqevk:~/imx_jailhouse# [ 0.000000] NUMA: No NUMA configuration found [ 0.000000] NUMA: Faking a node at [mem 0x00000000d0000000-0x00000000f9bfffff] [ 0.000000] NUMA: NODE_DATA [mem 0xf9a97500-0xf9a98fff] [ 0.000000] Zone ranges: [ 0.000000] DMA32 [mem 0x00000000d0000000-0x00000000f9bfffff] [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00000000d0000000-0x00000000f9bfffff] [ 0.000000] Initmem setup node 0 [mem 0x00000000d0000000-0x00000000f9bfffff] root@imx8mqevk:~/imx_jailhouse# [ 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: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: SMC Calling Convention v1.1 [ 0.000000] percpu: Embedded 24 pages/cpu s58968 r8192 d31144 u98304 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: detected: ARM erratum 845719 [ 0.000000] CPU features: detected: GIC system register CPU interface [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 168336 [ 0.000000] Policy zone: DMA32 [ 0.000000] Kernel command line: clk_ignore_unused console=ttymxc0,30860000,115200 earlycon=ec_imx6q,0x30860000,115200 root=/dev/ram ramdisk_size=10000000 rdinit=/hello rootwait rw [ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) [ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off root@imx8mqevk:~/imx_jailhouse# [ 0.000000] Memory: 307980K/684032K available (16508K kernel code, 1370K rwdata, 6456K rodata, 2944K init, 1039K bss, 48372K reserved, 327680K cma-reserved) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1 [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2. [ 0.000000] Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. [ 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] GICv3: 128 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: no VLPI support, no direct LPI support [ 0.000000] GICv3: CPU0: found redistributor 2 region 0:0x00000000388c0000 [ 0.000000] ITS: No ITS available, not enabling LPIs [ 0.000000] random: get_random_bytes called from start_kernel+0x2b8/0x44c with crng_init=0 [ 0.000000] arch_timer: cp15 timer(s) running at 8.33MHz (virt). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1ec0311ec, max_idle_ns: 440795202152 ns [ 0.000005] sched_clock: 56 bits at 8MHz, resolution 120ns, wraps every 2199023255541ns [ 0.008316] Console: colour dummy device 80x25 [ 0.012477] Calibrating delay loop (skipped), value calculated using timer frequency.. 16.66 BogoMIPS (lpj=33333) [ 0.022666] pid_max: default: 32768 minimum: 301 [ 0.027356] LSM: Security Framework initializing [ 0.031897] SELinux: Initializing. [ 0.035422] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) [ 0.042725] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) [ 0.051555] init thread pid check: 1... root@imx8mqevk:~/imx_jailhouse# root@imx8mqevk:~/imx_jailhouse# [ 0.074633] ASID allocator initialised with 32768 entries [ 0.082633] rcu: Hierarchical SRCU implementation. [ 0.091290] EFI services will not be available. [ 0.098677] smp: Bringing up secondary CPUs ... [ 0.130824] Detected VIPT I-cache on CPU1 [ 0.130870] GICv3: CPU1: found redistributor 3 region 0:0x00000000388e0000 [ 0.130914] CPU1: Booted secondary processor 0x0000000003 [0x410fd034] [ 0.131020] smp: Brought up 1 node, 2 CPUs [ 0.149632] SMP: Total of 2 processors activated. [ 0.154314] CPU features: detected: 32-bit EL0 Support [ 0.159450] CPU features: detected: CRC32 instructions [ 0.177838] CPU: All CPU(s) started at EL1 [ 0.179087] alternatives: patching kernel code [ 0.184973] devtmpfs: initialized [ 0.192187] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.199073] futex hash table entries: 512 (order: 3, 32768 bytes, linear) [ 0.217026] pinctrl core: initialized pinctrl subsystem [ 0.220270] DMI not present or invalid. [ 0.223548] NET: Registered protocol family 16 [ 0.243512] DMA: preallocated 256 KiB pool for atomic allocations [ 0.246762] audit: initializing netlink subsys (disabled) [ 0.252330] audit: type=2000 audit(0.212:1): state=initialized audit_enabled=0 res=1 [ 0.259890] cpuidle: using governor menu [ 0.264391] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.271261] Serial: AMBA PL011 UART driver [ 0.274699] imx mu driver is registered. [ 0.278539] imx rpmsg driver is registered. [ 0.304587] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages [ 0.308453] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages [ 0.315123] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages [ 0.321805] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages [ 0.331139] cryptd: max_cpu_qlen set to 1000 [ 0.339367] ACPI: Interpreter disabled. [ 0.340820] iommu: Default domain type: Translated [ 0.345428] vgaarb: loaded [ 0.348260] SCSI subsystem initialized [ 0.352060] usbcore: registered new interface driver usbfs [ 0.357446] usbcore: registered new interface driver hub [ 0.362457] usbcore: registered new device driver usb [ 0.367753] mc: Linux media interface: v0.10 [ 0.371747] videodev: Linux video capture interface: v2.00 [ 0.377234] pps_core: LinuxPPS API ver. 1 registered [ 0.382104] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]> [ 0.391236] PTP clock support registered [ 0.395188] EDAC MC: Ver: 3.0.0 [ 0.398960] No BMan portals available! [ 0.402252] QMan: Allocated lookup table at (____ptrval____), entry count 65537 [ 0.409524] No QMan portals available! [ 0.413314] No USDPAA memory, no 'fsl,usdpaa-mem' in device-tree [ 0.419312] FPGA manager framework [ 0.422483] Advanced Linux Sound Architecture Driver Initialized. [ 0.428969] Bluetooth: Core ver 2.22 [ 0.432033] NET: Registered protocol family 31 [ 0.436445] Bluetooth: HCI device and connection manager initialized [ 0.442785] Bluetooth: HCI socket layer initialized [ 0.447644] Bluetooth: L2CAP socket layer initialized [ 0.452688] Bluetooth: SCO socket layer initialized [ 0.458289] clocksource: Switched to clocksource arch_sys_counter [ 0.463791] VFS: Disk quotas dquot_6.6.0 [ 0.467580] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 0.474589] pnp: PnP ACPI: disabled [ 0.486097] thermal_sys: Registered thermal governor 'step_wise' [ 0.486100] thermal_sys: Registered thermal governor 'power_allocator' [ 0.489479] NET: Registered protocol family 2 [ 0.500595] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear) [ 0.508479] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear) [ 0.516248] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear) [ 0.523523] TCP: Hash tables configured (established 8192 bind 8192) [ 0.529790] UDP hash table entries: 512 (order: 2, 16384 bytes, linear) [ 0.536336] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear) [ 0.543469] NET: Registered protocol family 1 [ 0.548165] RPC: Registered named UNIX socket transport module. [ 0.553581] RPC: Registered udp transport module. [ 0.558262] RPC: Registered tcp transport module. [ 0.562952] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.569831] PCI: CLS 0 bytes, default 64 [ 0.573504] Trying to unpack rootfs image as initramfs... [ 0.578681] Compressed data magic: 0x1f 0x8b [ 0.604372] Freeing initrd memory: 372K [ 0.606046] kvm [1]: HYP mode not available [ 0.616895] Initialise system trusted keyrings [ 0.618624] workingset: timestamp_bits=44 max_order=18 bucket_order=0 [ 0.633665] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.637392] NFS: Registering the id_resolver key type [ 0.641713] Key type id_resolver registered [ 0.645848] Key type id_legacy registered [ 0.649848] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 0.656543] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. [ 0.663102] 9p: Installing v9fs 9p2000 file system support [ 0.688300] Key type asymmetric registered [ 0.689534] Asymmetric key parser 'x509' registered [ 0.694461] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244) [ 0.701900] io scheduler mq-deadline registered [ 0.706301] io scheduler kyber registered [ 0.711544] pci-host-generic bfb00000.pci: host bridge /pci@bfb00000 ranges: [ 0.717352] pci-host-generic bfb00000.pci: MEM 0x10000000..0x1000ffff -> 0x10000000 [ 0.725202] pci-host-generic bfb00000.pci: ECAM at [mem 0xbfb00000-0xbfbfffff] for [bus 00] [ 0.733608] pci-host-generic bfb00000.pci: PCI host bridge to bus 0000:00 [ 0.740249] pci_bus 0000:00: root bus resource [bus 00] [ 0.745450] pci_bus 0000:00: root bus resource [mem 0x10000000-0x1000ffff] [ 0.752335] pci 0000:00:00.0: [1af4:1110] type 00 class 0xff0100 [ 0.758324] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x000000ff 64bit] [ 0.766848] pci 0000:00:00.0: BAR 0: assigned [mem 0x10000000-0x100000ff 64bit] [ 0.773175] EINJ: ACPI disabled. [ 0.776584] Bus freq driver module loaded [ 0.780120] virtio-pci 0000:00:00.0: enabling device (0000 -> 0002) [ 0.789667] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 0.794841] 30890000.serial: ttymxc1 at MMIO 0x30890000 (irq = 5, base_baud = 1562500) is a IMX [ 0.812412] brd: module loaded [ 0.820118] loop: module loaded [ 0.822089] imx ahci driver is registered. [ 0.826835] libphy: Fixed MDIO Bus: probed [ 0.829601] tun: Universal TUN/TAP device driver, 1.6 [ 0.833815] CAN device driver interface [ 0.837738] thunder_xcv, ver 1.0 [ 0.840680] thunder_bgx, ver 1.0 [ 0.843893] nicpf, ver 1.0 [ 0.846753] Freescale FM module, FMD API version 21.1.0 [ 0.851814] Freescale FM Ports module [ 0.855392] fsl_mac: fsl_mac: FSL FMan MAC API based driver [ 0.861005] fsl_dpa: FSL DPAA Ethernet driver [ 0.865334] fsl_advanced: FSL DPAA Advanced drivers: [ 0.870234] fsl_proxy: FSL DPAA Proxy initialization driver [ 0.875835] fsl_oh: FSL FMan Offline Parsing port driver [ 0.881572] hclge is initializing [ 0.884388] hns3: Hisilicon Ethernet Network Driver for Hip08 Family - version [ 0.891589] hns3: Copyright (c) 2017 Huawei Corporation. [ 0.896938] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI [ 0.903916] e1000: Copyright (c) 1999-2006 Intel Corporation. [ 0.909688] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k [ 0.915505] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. [ 0.921425] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.6.0-k [ 0.928314] igb: Copyright (c) 2007-2014 Intel Corporation. [ 0.933910] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k [ 0.941683] igbvf: Copyright (c) 2009 - 2012 Intel Corporation. [ 0.947685] sky2: driver version 1.30 [ 0.951424] usbcore: registered new interface driver asix [ 0.956652] usbcore: registered new interface driver ax88179_178a [ 0.962722] usbcore: registered new interface driver cdc_ether [ 0.968534] usbcore: registered new interface driver net1080 [ 0.974179] usbcore: registered new interface driver cdc_subset [ 0.980082] usbcore: registered new interface driver zaurus [ 0.985654] usbcore: registered new interface driver cdc_ncm [ 0.991279] usbcore: registered new interface driver huawei_cdc_ncm [ 0.997535] usbcore: registered new interface driver qmi_wwan_q [ 1.003641] VFIO - User Level meta-driver version: 0.3 [ 1.009455] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 1.015039] ehci-pci: EHCI PCI platform driver [ 1.019496] ehci-platform: EHCI generic platform driver [ 1.024722] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 1.030839] ohci-pci: OHCI PCI platform driver [ 1.035296] ohci-platform: OHCI generic platform driver [ 1.040695] usbcore: registered new interface driver cdc_wdm [ 1.046156] usbcore: registered new interface driver usb-storage [ 1.052184] usbcore: registered new interface driver usbserial_generic [ 1.058636] usbserial: USB Serial support registered for generic [ 1.064625] usbcore: registered new interface driver option [ 1.070174] usbserial: USB Serial support registered for GSM modem (1-port) [ 1.078254] <<-GTP-INFO->> GTP driver installing... [ 1.082821] i2c /dev entries driver [ 1.086604] Bluetooth: HCI UART driver ver 2.3 [ 1.089846] Bluetooth: HCI UART protocol H4 registered [ 1.094981] Bluetooth: HCI UART protocol BCSP registered [ 1.100305] Bluetooth: HCI UART protocol LL registered [ 1.105394] Bluetooth: HCI UART protocol ATH3K registered [ 1.110796] Bluetooth: HCI UART protocol Three-wire (H5) registered [ 1.117092] Bluetooth: HCI UART protocol Broadcom registered [ 1.122689] Bluetooth: HCI UART protocol QCA registered [ 1.128079] imx-cpufreq-dt: probe of imx-cpufreq-dt failed with error -2 [ 1.135773] sdhci: Secure Digital Host Controller Interface driver [ 1.140731] sdhci: Copyright(c) Pierre Ossman [ 1.145172] Synopsys Designware Multimedia Card Interface Driver [ 1.151282] sdhci-pltfm: SDHCI platform and OF driver helper [ 1.157247] ledtrig-cpu: registered to indicate activity on CPUs [ 1.163670] usbcore: registered new interface driver usbhid [ 1.168242] usbhid: USB HID core driver [ 1.172978] No fsl,qman node [ 1.174928] Freescale USDPAA process driver [ 1.179087] fsl-usdpaa: no region found [ 1.182907] Freescale USDPAA process IRQ driver [ 1.191715] NET: Registered protocol family 26 [ 1.193427] Initializing XFRM netlink socket [ 1.198204] NET: Registered protocol family 10 [ 1.202897] Segment Routing with IPv6 [ 1.205680] NET: Registered protocol family 17 [ 1.210087] can: controller area network core (rev 20170425 abi 9) [ 1.216272] NET: Registered protocol family 29 [ 1.220654] can: raw protocol (rev 20170425) [ 1.224903] can: broadcast manager protocol (rev 20170425 t) [ 1.230548] can: netlink gateway (rev 20190810) max_hops=1 [ 1.236247] Bluetooth: RFCOMM TTY layer initialized [ 1.240894] Bluetooth: RFCOMM socket layer initialized [ 1.246020] Bluetooth: RFCOMM ver 1.11 [ 1.249739] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 1.255024] Bluetooth: BNEP filters: protocol multicast [ 1.260238] Bluetooth: BNEP socket layer initialized [ 1.265180] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [ 1.271085] Bluetooth: HIDP socket layer initialized [ 1.276074] 8021q: 802.1Q VLAN Support v1.8 [ 1.280216] lib80211: common routines for IEEE802.11 drivers [ 1.285980] 9pnet: Installing 9P2000 support [ 1.290126] tsn generic netlink module v1 init... [ 1.294849] Key type dns_resolver registered [ 1.299721] registered taskstats version 1 [ 1.303120] Loading compiled-in X.509 certificates [ 1.310428] hctosys: unable to open rtc device (rtc0) [ 1.313111] cfg80211: Loading compiled-in X.509 certificates for regulatory database [ 1.322641] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' [ 1.327262] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2 [ 1.330307] clk: Not disabling unused clocks [ 1.335778] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db [ 1.340026] ALSA device list: [ 1.350686] No soundcards found. [ 1.354101] The error code is -2 *[ 1.357282] Warning: unable to open an initial console.* [ 1.363973] Freeing unused kernel memory: 2944K [ 1.382376] Run /hello as init process [ 1.383398] Ready to search binary handler... [ 1.387791] Finish search binary handler, ret=0... My console cannot output the printf code in the helloworld program. I can't solve this problem anyway. Can you help me solve it? imx8mq-evk-inmate.dts: (for non-root-cell linux) &uart2 { clocks = <&osc_25m>, <&osc_25m>; clock-names = "ipg", "per"; /delete-property/ dmas; /delete-property/ dmas-names; status = "okay"; }; ok8mq-evk-root.dts (for root cell ) &uart1 { /* uart2 is used by the 2nd OS, so configure pin and clk */ pinctrl-0 = <&pinctrl_uart1>, <&pinctrl_uart2>; assigned-clocks = <&clk IMX8MQ_CLK_UART1>, <&clk IMX8MQ_CLK_UART2>; assigned-clock-parents = <&clk IMX8MQ_CLK_25M>, <&clk IMX8MQ_CLK_25M>; }; -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/893f2e46-c438-4182-859f-1f65af16f8d4n%40googlegroups.com.
