<div dir="ltr"><p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify">Thanks for the quick reply, I was unaware that I have to ssh into the
USB Armory in order to access it. I was expecting it to communicate back to me
via COM interface as other OS’s I’ve had previously installed on the USB Armory. However,
there are few more questions I have, and I’ll be very grateful if you can
answer them or provide me with any information. So I was able to run Genode on
USB Armory, and ssh into it, and it appears to me that I’m interacting with
Linux Virtual Machine. If it is a Virtual Machine, then are there any tools
available within that VM that I can use to talk to the outside of the Linux VM,
or at least somehow prove/demonstrate that the Linux VM I’m currently in is
running atop of Genode?  </p>

<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify"> </p>

<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify">The other question is about the Kernel. It appears as ARM Linux Kernel
during boot. Is it a standard Linux Kernel or especially customized one to support
Genode? I just need to verify this.  </p>

<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify"> </p>

<p class="MsoNormal" style="margin-bottom:0.0001pt;text-align:justify">Can you provide any tips on how to bring up any other microkernels fully
supported by Genode that I can run on USB Armory? If there are no other
options available besides using the default Linux kernel that comes with the
tz_vmm, then is there any other board that you can recommend me to use to run
Genode with fully supported microkernels, as preparation for seL4?</p></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 12, 2016 at 7:00 AM, Yevgeny Lavrov <span dir="ltr"><<a href="mailto:ylavrov13@...9..." target="_blank">ylavrov13@...9...</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Hi, after going through tz_vmm tutorial I was able to create uImage and put it on MicroSD card. However, when I try to boot it on Armory, Genode freezes all the way at the end.<br><br></div>Below is what appears on the console after executing <br>


        
        
        
        


<p style="margin-bottom:0in;line-height:100%" align="justify">=>
ext2load mmc 0:1 0x74000000 /uImage</p>
<p style="margin-bottom:0in;line-height:100%" align="justify">=>
bootm 0x74000000</p>

<br></div>it freezes after "Debian GNU/Linux 7 usbarmory console"<br><br></div>Am I missing something?<br><div><div><div><div><br>Starting kernel ...<br><br>kernel initialized<br>Genode 16.02<br>int main(): --- create local services ---<br>int main(): --- start init ---<br>int main(): transferred 246 MB to init<br>int main(): --- init created, waiting for exit condition ---<br>[init] Could not open ROM session for module "<a href="http://ld.lib.so" target="_blank">ld.lib.so</a>"<br>[init] parent provides<br>[init]   service "ROM"<br>[init]   service "RAM"<br>[init]   service "IRQ"<br>[init]   service "IO_MEM"<br>[init]   service "IO_PORT"<br>[init]   service "CAP"<br>[init]   service "PD"<br>[init]   service "RM"<br>[init]   service "CPU"<br>[init]   service "LOG"<br>[init]   service "SIGNAL"<br>[init]   service "VM"<br>[init] child "gpio_drv"<br>[init]   RAM quota:  2863104<br>[init]   ELF binary: gpio_drv<br>[init]   priority:   0<br>[init]   provides service Gpio<br>[init] child "timer"<br>[init]   RAM quota:  2863104<br>[init]   ELF binary: timer<br>[init]   priority:   0<br>[init]   provides service Timer<br>[init] child "platform_drv"<br>[init]   RAM quota:  2863104<br>[init]   ELF binary: platform_drv<br>[init]   priority:   0<br>[init]   provides service Regulator<br>[init]   provides service Platform<br>[init] child "sd_card_drv"<br>[init]   RAM quota:  2863104<br>[init]   ELF binary: sd_card_drv<br>[init]   priority:   0<br>[init]   provides service Block<br>[init] child "part_blk"<br>[init]   RAM quota:  10203136<br>[init]   ELF binary: part_blk<br>[init]   priority:   0<br>[init]   provides service Block<br>[init] child "tz_vmm"<br>[init]   RAM quota:  10203136<br>[init]   ELF binary: tz_vmm<br>[init]   priority:   0<br>[init -> platform_drv] --- i.MX53 platform driver ---<br>[init] child "platform_drv" announces service "Platform"<br>[init -> sd_card_drv] --- Imx53 SD card driver ---<br>[init] child "sd_card_drv" announces service "Block"<br>[init] child "timer" announces service "Timer"<br>[init -> tz_vmm] Start virtual machine ...<br>[init -> gpio_drv] --- i.MX53 gpio driver ---<br>[init -> gpio_drv] No GPIO config<br>[init] child "gpio_drv" announces service "Gpio"<br>[init -> sd_card_drv] CID: 0x28424548 0x32353738 0x00000006 0x8a00b600<br>[init -> sd_card_drv] RCA: 0xb368<br>[init -> sd_card_drv] SD card detected<br>[init -> sd_card_drv] capacity: 3823 MiB<br>Quota exceeded! amount=12288, size=12288, consumed=12288<br>[init -> part_blk] Partition 1: LBA 20480 (194560 blocks) type: 83<br>[init -> part_blk] Partition 2: LBA 215040 (3896289 blocks) type: 83<br>[init] child "part_blk" announces service "Block"<br>[init -> tz_vmm] [vm] Booting Linux on physical CPU 0x0<br>[init -> tz_vmm] [vm] Linux version 4.2.3-00002-gfd57dbf-dirty (lypo@...207...) (gcc version 4.9.3 20150113 (prerelease) (Linaro GCC 4.9-2015.01-3) ) #4 PREEMPT Thu Nov 12 15:18:30 CET 2015<br>[init -> tz_vmm] [vm] CPU: ARMv7 Processor [412fc085] revision 5 (ARMv7), cr=10c5387d<br>[init -> tz_vmm] [vm] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache<br>[init -> tz_vmm] [vm] Machine model: Inverse Path USB armory<br>[init -> tz_vmm] [vm] Memory policy: Data cache writeback<br>[init -> tz_vmm] [vm] CPU: All CPU(s) started in SVC mode.<br>[init -> tz_vmm] [vm] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 65024<br>[init -> tz_vmm] [vm] Kernel command line: console=ttyS0 root=/dev/sda1 rootwait rw init=/sbin/init clk_ignore_unused<br>[init -> tz_vmm] [vm] PID hash table entries: 1024 (order: 0, 4096 bytes)<br>[init -> tz_vmm] [vm] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)<br>[init -> tz_vmm] [vm] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)<br>[init -> tz_vmm] [vm] Memory: 255160K/262144K available (3174K kernel code, 119K rwdata, 1060K rodata, 140K init, 93K bss, 6984K reserved, 0K cma-reserved)<br>[init -> tz_vmm] [vm] Virtual kernel memory layout:<br>[init -> tz_vmm] [vm]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)<br>[init -> tz_vmm] [vm]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)<br>[init -> tz_vmm] [vm]     vmalloc : 0x90800000 - 0xff000000   (1768 MB)<br>[init -> tz_vmm] [vm]     lowmem  : 0x80000000 - 0x90000000   ( 256 MB)<br>[init -> tz_vmm] [vm]     modules : 0x7f000000 - 0x80000000   (  16 MB)<br>[init -> tz_vmm] [vm]       .text : 0x80008000 - 0x8042abfc   (4235 kB)<br>[init -> tz_vmm] [vm]       .init : 0x8042b000 - 0x8044e000   ( 140 kB)<br>[init -> tz_vmm] [vm]       .data : 0x8044e000 - 0x8046bc60   ( 120 kB)<br>[init -> tz_vmm] [vm]        .bss : 0x8046bc60 - 0x804833ac   (  94 kB)<br>[init -> tz_vmm] [vm] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1<br>[init -> tz_vmm] [vm] Preemptible hierarchical RCU implementation.<br>[init -> tz_vmm] [vm]     Build-time adjustment of leaf fanout to 32.<br>[init -> tz_vmm] [vm] NR_IRQS:16 nr_irqs:16 16<br>[init -> tz_vmm] [vm] TrustZone Interrupt Controller (TZIC) initialized<br>[init -> tz_vmm] [vm] CPU identified as i.MX53, unknown revision<br>[init -> tz_vmm] [vm] Switching to timer-based delay loop, resolution 29ns<br>[init -> tz_vmm] [vm] sched_clock: 32 bits at 33MHz, resolution 29ns, wraps every 64424507889ns<br>[init -> tz_vmm] [vm] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 57337812242 ns<br>[init -> tz_vmm] [vm] Console: colour dummy device 80x30<br>[init -> tz_vmm] [vm] console [ttyS0] enabled<br>[init -> tz_vmm] [vm] Calibrating delay loop (skipped), value calculated using timer frequency.. 66.66 BogoMIPS (lpj=333333)<br>[init -> tz_vmm] [vm] pid_max: default: 32768 minimum: 301<br>[init -> tz_vmm] [vm] Security Framework initialized<br>[init -> tz_vmm] [vm] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)<br>[init -> tz_vmm] [vm] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)<br>[init -> tz_vmm] [vm] Initializing cgroup subsys net_cls<br>[init -> tz_vmm] [vm] CPU: Testing write buffer coherency: ok<br>[init -> tz_vmm] [vm] Setting up static identity map for 0x80008200 - 0x80008258<br>[init -> tz_vmm] [vm] devtmpfs: initialized<br>[init -> tz_vmm] [vm] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 2<br>[init -> tz_vmm] [vm] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns<br>[init -> tz_vmm] [vm] pinctrl core: initialized pinctrl subsystem<br>[init -> tz_vmm] [vm] NET: Registered protocol family 16<br>[init -> tz_vmm] [vm] DMA: preallocated 256 KiB pool for atomic coherent allocations<br>[init -> tz_vmm] [vm] cpuidle: using governor ladder<br>[init -> tz_vmm] [vm] cpuidle: using governor menu<br>[init -> tz_vmm] [vm] imx53-pinctrl 53fa8000.iomuxc: initialized IMX pinctrl driver<br>[init -> tz_vmm] [vm] 50000000.aips:usbphy@...361... supply vcc not found, using dummy regulator<br>[init -> tz_vmm] [vm] 50000000.aips:usbphy@...23... supply vcc not found, using dummy regulator<br>[init -> tz_vmm] [vm] pps_core: LinuxPPS API ver. 1 registered<br>[init -> tz_vmm] [vm] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <<a href="mailto:giometti@...252...92..." target="_blank">giometti@...292...</a>><br>[init -> tz_vmm] [vm] clocksource: Switched to clocksource mxc_timer1<br>[init -> tz_vmm] [vm] NET: Registered protocol family 2<br>[init -> tz_vmm] [vm] TCP established hash table entries: 2048 (order: 1, 8192 bytes)<br>[init -> tz_vmm] [vm] TCP bind hash table entries: 2048 (order: 1, 8192 bytes)<br>[init -> tz_vmm] [vm] TCP: Hash tables configured (established 2048 bind 2048)<br>[init -> tz_vmm] [vm] UDP hash table entries: 256 (order: 0, 4096 bytes)<br>[init -> tz_vmm] [vm] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)<br>[init -> tz_vmm] [vm] NET: Registered protocol family 1<br>[init -> tz_vmm] [vm] futex hash table entries: 256 (order: -1, 3072 bytes)<br>[init -> tz_vmm] [vm] squashfs: version 4.0 (2009/01/31) Phillip Lougher<br>[init -> tz_vmm] [vm] io scheduler noop registered (default)<br>[init -> tz_vmm] [vm] imx-sdma 63fb0000.sdma: failed to get firmware from device tree<br>[init -> tz_vmm] [vm] imx-sdma 63fb0000.sdma: initialized<br>[init -> tz_vmm] [vm] ttyS0 at MMIO 0x1 (irq = 0, base_baud = 230400) is a IMX<br>[init -> tz_vmm] [vm] loop: module loaded<br>[init -> part_blk] session opened at partition 2 for 'tz_vmm -> sda1'<br>[init -> tz_vmm] [vm] genblk: drive 0<br>[init -> tz_vmm] [vm]    block count  3896289<br>[init -> tz_vmm] [vm]    block size   512<br>[init -> tz_vmm] [vm]    writeable    1<br>[init -> tz_vmm] [vm]    queue size   5226480<br>[init -> tz_vmm] [vm]    pirq         92<br>[init -> tz_vmm] [vm]    virq         108<br>[init -> tz_vmm] [vm]    major number 254<br>[init -> tz_vmm] [vm]    name         "sda1"<br>[init -> tz_vmm] [vm] device-mapper: ioctl: 4.33.0-ioctl (2015-8-18) initialised: <a href="mailto:dm-devel@...315..." target="_blank">dm-devel@...315...</a><br>[init -> tz_vmm] [vm] sahara 63ff8000.crypto: SAHARA version 4 initialized<br>[init -> tz_vmm] [vm] NET: Registered protocol family 17<br>[init -> tz_vmm] [vm] GENODE_TZ_VMM: skip mx5_cpu_lp_set<br>[init -> tz_vmm] [vm] imx5_pm_common_init: No DDR LPM support with suspend -22!<br>[init -> tz_vmm] [vm] hctosys: unable to open rtc device (rtc0)<br>[init -> tz_vmm] [vm] clk: Not disabling unused clocks<br>[init -> tz_vmm] [vm] EXT4-fs (sda1): couldn't mount as ext3 due to feature incompatibilities<br>[init -> tz_vmm] [vm] EXT4-fs (sda1): couldn't mount as ext2 due to feature incompatibilities<br>[init -> tz_vmm] [vm] EXT4-fs (sda1): recovery complete<br>[init -> tz_vmm] [vm] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)<br>[init -> tz_vmm] [vm] VFS: Mounted root (ext4 filesystem) on device 254:0.<br>[init -> tz_vmm] [vm] devtmpfs: mounted<br>[init -> tz_vmm] [vm] Freeing unused kernel memory: 140K (8042b000 - 8044e000)<br>[init -> tz_vmm] [vm] random: nonblocking pool is initialized<br>INIT: version 2.88 booting<br>[init -> tz_vmm] [vm] [info] Using makefile-style concurrent boot in runlevel S.<br>[init -> tz_vmm] [vm] [....] Starting the hotplug events dispatcher: udevdudevd[150]: starting version 175<br>[ ok  -> tz_vmm] [vm] .<br>[ ok  -> tz_vmm] [vm] [....] Synthesizing the initial hotplug events...done.<br>[init -> tz_vmm] [vm] [....] Waiting for /dev to be fully populated...imx2-wdt 53f98000.wdog: timeout 60 sec (nowayout=0)<br>[init -> tz_vmm] [vm] usbcore: registered new interface driver usbfs<br>[init -> tz_vmm] [vm] usbcore: registered new interface driver hub<br>[init -> tz_vmm] [vm] usbcore: registered new device driver usb<br>[init -> tz_vmm] [vm] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver<br>[ ok  -> tz_vmm] [vm] done.<br>[ ok  -> tz_vmm] [vm] [....] Activating swap...done.<br>[init -> tz_vmm] [vm] EXT4-fs (sda1): re-mounted. Opts: (null)<br>[ ok  -> tz_vmm] [vm] [....] Cleaning up temporary files... /tmp.<br>[init -> tz_vmm] [vm] [info] Loading kernel module ledtrig_heartbeat.<br>[init -> tz_vmm] [vm] FATAL: Module ledtrig_heartbeat not found.<br>[init -> tz_vmm] [vm] [info] Loading kernel module g_ether.<br>[init -> tz_vmm] [vm] using random self ethernet address<br>[init -> tz_vmm] [vm] using random host ethernet address<br>[init -> tz_vmm] [vm] using self ethernet address: 1a:55:89:a2:69:41<br>[init -> tz_vmm] [vm] usb0: HOST MAC 2a:cd:e3:c7:c8:0a<br>[init -> tz_vmm] [vm] usb0: MAC 1a:55:89:a2:69:41<br>[init -> tz_vmm] [vm] using random self ethernet address<br>[init -> tz_vmm] [vm] using random host ethernet address<br>[init -> tz_vmm] [vm] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008<br>[init -> tz_vmm] [vm] g_ether gadget: g_ether ready<br>[init -> tz_vmm] [vm] g_ether gadget: high-speed config #1: CDC Ethernet (ECM)<br>[ ok  -> tz_vmm] [vm] [....] Activating lvm and md swap...done.<br>[init -> tz_vmm] [vm] [....] Checking file systems...fsck from util-linux 2.20.1<br>[ ok  -> tz_vmm] [vm] done.<br>[ ok  -> tz_vmm] [vm] [....] Mounting local filesystems...done.<br>[ ok  -> tz_vmm] [vm] [....] Activating swapfile swap...done.<br>[ ok  -> tz_vmm] [vm] [....] Cleaning up temporary files....<br>[ ok  -> tz_vmm] [vm] [....] Setting kernel variables ...done.<br>[init -> tz_vmm] [vm] [....] Configuring network interfaces...ifup: interface usb0 already configured<br>[ ok  -> tz_vmm] [vm] done.<br>[ ok  -> tz_vmm] [vm] [....] Cleaning up temporary files....<br>[init -> tz_vmm] [vm] NET: Registered protocol family 10<br>INIT: Entering runlevel: 2<br>[init -> tz_vmm] [vm] [info] Using makefile-style concurrent boot in runlevel 2.<br>[ ok  -> tz_vmm] [vm] [....] Starting enhanced syslogd: rsyslogd.<br>[ ok  -> tz_vmm] [vm] [....] Starting periodic command scheduler: cron.<br>[ ok  -> tz_vmm] [vm] [....] Starting OpenBSD Secure Shell server: sshd.<br>[init -> tz_vmm] [vm] <br>[init -> tz_vmm] [vm] Debian GNU/Linux 7 usbarmory console<br>[init -> tz_vmm] [vm]<br></div></div></div></div></div>
</blockquote></div><br></div>