Using qemu to build aarch64 learning environment

Keywords: Linux sudo network simulator

Author information

Author: Peng Donglin

E-mail: pengdonglin 137@163.com

QQ: 405728433

 

software platform

Host: Ubuntu 14.04 64-bit version

Simulator: Qemu-2.8.0

Linux Kernel Version: Linux-4.10

Busybox version: busybox-1.24.2

Tool chain: gcc-linaro-aarch64-linux-gnu-4.9-2014.07_linux

 

Reference blog

Simulate vexpress-a9 with qemu--Configure the network function of qemu

Using Qemu to Simulate vexpress-a9(1) - - Build Linux kernel Debugging Environment

Simulating vexpress-a9(3) with Qemu--Implementing booting Linux kernel with u-boot

qemu uses 9p to support shared directories in host and guest

Let TQ2440 also use the device tree (1)

Using Qemu to simulate vexpress-a9(6) - - Multi-core

Using Qemu to Simulate vexpress-a9(7) - - Installing telnet Service on Embedded Devices

 

origin

With the popularity of aarch64 on mobile phones and servers, it is more and more necessary for us to learn the knowledge of aarch64. But at present, there is no good development board of aarch64 on the market. Before that, I bought a NanoPC-T3. The SoC used is Samsung's 6818, which is cortex-a538 core architecture. But all the information provided by the merchant is 32-bit (armv8 is compatible with aarch32 and aarch64). They said that Samsung did not give 64-bit BSP data, so they had to wait for Samsung to solve it. I was disappointed to see that someone on the Internet used Qemu simulator to build the running environment of aarch64, so I saw the dawn, so I searched the information from the Internet to pave the way for future generations.

The following software packages are available Here Download.

Functions

Simulate a cortex-a53 dual-core or single-core environment and communicate with Host to share some files. For simplicity, the root file system uses ramdisk format.

text

1. Compiling Qemu Simulator

First to Qemu official website Download the latest simulator, I'm going to download Qemu-2.8.0 Or you can download it Other versions

1 tar -xf qemu-2.8.0.tar.xz
2 cd qemu-2.8.0/
3 mkdir build
4 cd build/
5 # We need to install this package because we have enabled it.--enable-virtfs, otherwise configure Sometimes it fails.
6 sudo apt-get install libcap-dev  
7 ../configure --target-list=arm-softmmu,i386-softmmu,x86_64-softmmu,aarch64-linux-user,arm-linux-user,i386-linux-user,x86_64-linux-user,aarch64-softmmu --audio-drv-list=alsa --enable-virtfs
8 make -j8
9 sudo make install 

Then you can use the qemu-system-aarch64 tool that we will use next.

2. Download Tool Chain

Log on to this website: http://www.veryarm.com/aarch64-linux-gnu-gcc

There are some points for attention:

Aarch64-linux-gnu-gcc is an ARM cross-compiling tool developed by Linaro based on GCC. It can be used to cross-compile bare-machine programs, u-boot, Linux kernel, filesystem and App applications in ARMv8 64-bit targets. The aarch64-linux-gnu-gcc cross-compiler must be installed on the 64 host in order to compile the target code.

We use the latest Linux decompression here:

3. Download and compile the latest Linux kernel

Sign in https://www.kernel.org/, Download the latest version of Linux. Linux-4.10.  

Here is the command to compile the following kernel:

1 #!/bin/bash
2 cross_compile=/home/pengdonglin/src/qemu/aarch64/gcc-linaro-aarch64-linux-gnu-4.9-2014.07_linux/bin/aarch64-linux-gnu-
3 make CROSS_COMPILE=$cross_compile ARCH=arm64 O=./out_aarch64 defconfig
4 make CROSS_COMPILE=$cross_compile ARCH=arm64 O=./out_aarch64 menuconfig
5 make CROSS_COMPILE=$cross_compile ARCH=arm64 O=./out_aarch64 Image -j4

Since ramdisk startup mode is used below, it needs to be supported in the kernel configuration:

1 General setup  --->
2     ----> [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
3 
4 Device Drivers  --->
5     [*] Block devices  --->
6             <*>   RAM block device support
7             (65536) Default RAM disk size (kbytes)

The default size we set for ramdisk here is 64MB, which is not smaller than the size of ramdisk.img we actually generated later.

In addition, because we also need to support NFS hanging and sharing files with Host through 9p, these also need to be configured in the kernel. (The default configuration is already supported)

About the 9p mode of Qemu to realize directory sharing with Host, you can refer to: qemu uses 9p to support shared directories in host and guest    

So there's the kernel mirror Image we're going to use next.

4. Making Root File System

Sign in https://busybox.net/downloads/ Download the version of busybox to use. Here I'm going to download busybox-1.24.2

There are not many settings to be set up:

Execute make menuconfig to configure the following items:

1 Build Options  --->
2 
3     [*] Build BusyBox as a static binary (no shared libs)
4 
5     (/home/pengdonglin/src/qemu/aarch64/gcc-linaro-aarch64-linux-gnu-4.9-2014.07_linux/bin/aarch64-linux-gnu-) Cross Compiler prefix

Then execute the make & make install command

Now I make a ramdisk for startup, and I write a script for this process, as follows:

 1 #!/bin/bash
 2 sudo rm -rf rootfs
 3 sudo rm -rf tmpfs
 4 sudo rm -rf ramdisk*
 5 sudo mkdir rootfs
 6 sudo cp ../busybox-1.24.2/_install/*  rootfs/ -raf
 7 sudo mkdir -p rootfs/proc/
 8 sudo mkdir -p rootfs/sys/
 9 sudo mkdir -p rootfs/tmp/
10 sudo mkdir -p rootfs/root/
11 sudo mkdir -p rootfs/var/
12 sudo mkdir -p rootfs/mnt/
13 sudo cp etc rootfs/ -arf
14 sudo mkdir -p rootfs/lib
15 sudo cp -arf ../gcc-linaro-aarch64-linux-gnu-4.9-2014.07_linux/aarch64-linux-gnu/libc/lib/aarch64-linux-gnu/* rootfs/lib/
16 sudo rm rootfs/lib/*.a
17 sudo ../gcc-linaro-aarch64-linux-gnu-4.9-2014.07_linux/bin/aarch64-linux-gnu-strip rootfs/lib/*
18 sudo mkdir -p rootfs/dev/
19 sudo mknod rootfs/dev/tty1 c 4 1
20 sudo mknod rootfs/dev/tty2 c 4 2
21 sudo mknod rootfs/dev/tty3 c 4 3
22 sudo mknod rootfs/dev/tty4 c 4 4
23 sudo mknod rootfs/dev/console c 5 1
24 sudo mknod rootfs/dev/null c 1 3
25 sudo dd if=/dev/zero of=ramdisk bs=1M count=16
26 sudo mkfs.ext4 -F ramdisk
27 sudo mkdir -p tmpfs
28 sudo mount -t ext4 ramdisk ./tmpfs/  -o loop
29 sudo cp -raf rootfs/*  tmpfs/
30 sudo umount tmpfs
31 sudo gzip --best -c ramdisk > ramdisk.gz
32 sudo mkimage -n "ramdisk" -A arm -O linux -T ramdisk -C gzip -d ramdisk.gz ramdisk.img

Files used to make ramdisk Here Download.

5. Qemu Support Network

Please refer to the blog:

Simulate vexpress-a9 with qemu--Configure the network function of qemu

Simulating vexpress-a9(3) with Qemu--Implementing booting Linux kernel with u-boot

6, test

Method of sharing directories:

 1 sudo qemu-system-aarch64 \
 2     -M  virt \
 3     -cpu cortex-a53 \
 4     -smp 2 \
 5     -m 4096M \
 6     -kernel ./linux-4.10/out_aarch64/arch/arm64/boot/Image \
 7     -nographic \
 8     -append "root=/dev/ram0 rw rootfstype=ext4 console=ttyAMA0 init=/linuxrc ignore_loglevel" \
 9     -initrd ./rootfs/ramdisk.img \
10     -fsdev local,security_model=passthrough,id=fsdev0,path=/nfsroot \
11     -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hostshare

Support network startup:

 1 sudo qemu-system-aarch64 \
 2     -M  virt \
 3     -cpu cortex-a53 \
 4     -smp 2 \
 5     -m 4096M \
 6     -kernel ./linux-4.10/out_aarch64/arch/arm64/boot/Image \
 7     -nographic \
 8     -append "root=/dev/ram0 rw rootfstype=ext4 console=ttyAMA0 init=/linuxrc ignore_loglevel" \
 9     -initrd ./rootfs/ramdisk.img \
10     -net nic,vlan=0 -net tap,vlan=0,ifname=tap0

Of course, the above two sides can also be combined:

 1 sudo qemu-system-aarch64 \
 2     -M  virt \
 3     -cpu cortex-a53 \
 4     -smp 2 \
 5     -m 4096M \
 6     -kernel ./linux-4.10/out_aarch64/arch/arm64/boot/Image \
 7     -nographic \
 8     -append "root=/dev/ram0 rw rootfstype=ext4 console=ttyAMA0 init=/linuxrc ignore_loglevel" \
 9     -initrd ./rootfs/ramdisk.img \
10     -net nic,vlan=0 -net tap,vlan=0,ifname=tap0 \
11     -fsdev local,security_model=passthrough,id=fsdev0,path=/nfsroot \
12     -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hostshare

We need to specify a shared directory on Host, such as / nfsroot, and configure it in / etc/export if mounted with nfs.

nfs mount:

mount -t nfs -o nolock 172.16.14.203:/nfsroot /mnt

9p mount:

mount -t 9p -o trans=virtio,version=9p2000.L hostshare /mnt2

This makes it possible to share files with Host. It is recommended to use 9p mode, which is more stable.

Here is the startup information:

  1 $./run_all.sh 
  2 sudo tunctl -u root -t tap0
  3 TUNSETIFF: Device or resource busy
  4 sudo ifconfig tap0 0.0.0.0 promisc up
  5 sudo brctl addif br0 tap0
  6 brctl show
  7 bridge name    bridge id        STP enabled    interfaces
  8 br0        8000.2a30f59a82a1    no        eth0
  9                             tap0
 10 docker0        8000.02429cade970    no        
 11 [    0.000000] Booting Linux on physical CPU 0x0
 12 [    0.000000] Linux version 4.10.0 (pengdonglin@pengdonglin-HP) (gcc version 4.9.1 20140529 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.07 - Linaro GCC 4.9-2014.06) ) #2 SMP PREEMPT Wed Feb 22 19:39:00 CST 2017
 13 [    0.000000] Boot CPU: AArch64 Processor [410fd034]
 14 [    0.000000] debug: ignoring loglevel setting.
 15 [    0.000000] efi: Getting EFI parameters from FDT:
 16 [    0.000000] efi: UEFI not found.
 17 [    0.000000] cma: Reserved 16 MiB at 0x00000000ff000000
 18 [    0.000000] On node 0 totalpages: 1048576
 19 [    0.000000]   DMA zone: 12288 pages used for memmap
 20 [    0.000000]   DMA zone: 0 pages reserved
 21 [    0.000000]   DMA zone: 786432 pages, LIFO batch:31
 22 [    0.000000]   Normal zone: 4096 pages used for memmap
 23 [    0.000000]   Normal zone: 262144 pages, LIFO batch:31
 24 [    0.000000] psci: probing for conduit method from DT.
 25 [    0.000000] psci: PSCIv0.2 detected in firmware.
 26 [    0.000000] psci: Using standard PSCI v0.2 function IDs
 27 [    0.000000] psci: Trusted OS migration not required
 28 [    0.000000] percpu: Embedded 21 pages/cpu @ffff8000fffc0000 s48128 r8192 d29696 u86016
 29 [    0.000000] pcpu-alloc: s48128 r8192 d29696 u86016 alloc=21*4096
 30 [    0.000000] pcpu-alloc: [0] 0 [0] 1 
 31 [    0.000000] Detected VIPT I-cache on CPU0
 32 [    0.000000] CPU features: enabling workaround for ARM erratum 845719
 33 [    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 1032192
 34 [    0.000000] Kernel command line: root=/dev/ram0 rw rootfstype=ext4 console=ttyAMA0 init=/linuxrc ignore_loglevel
 35 [    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
 36 [    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
 37 [    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
 38 [    0.000000] software IO TLB [mem 0xfafff000-0xfefff000] (64MB) mapped at [ffff8000bafff000-ffff8000beffefff]
 39 [    0.000000] Memory: 4022724K/4194304K available (8508K kernel code, 946K rwdata, 3852K rodata, 1024K init, 393K bss, 155196K reserved, 16384K cma-reserved)
 40 [    0.000000] Virtual kernel memory layout:
 41 [    0.000000]     modules : 0xffff000000000000 - 0xffff000008000000   (   128 MB)
 42 [    0.000000]     vmalloc : 0xffff000008000000 - 0xffff7dffbfff0000   (129022 GB)
 43 [    0.000000]       .text : 0xffff000008080000 - 0xffff0000088d0000   (  8512 KB)
 44 [    0.000000]     .rodata : 0xffff0000088d0000 - 0xffff000008ca0000   (  3904 KB)
 45 [    0.000000]       .init : 0xffff000008ca0000 - 0xffff000008da0000   (  1024 KB)
 46 [    0.000000]       .data : 0xffff000008da0000 - 0xffff000008e8ca00   (   947 KB)
 47 [    0.000000]        .bss : 0xffff000008e8ca00 - 0xffff000008eeee50   (   394 KB)
 48 [    0.000000]     fixed   : 0xffff7dfffe7fd000 - 0xffff7dfffec00000   (  4108 KB)
 49 [    0.000000]     PCI I/O : 0xffff7dfffee00000 - 0xffff7dffffe00000   (    16 MB)
 50 [    0.000000]     vmemmap : 0xffff7e0000000000 - 0xffff800000000000   (  2048 GB maximum)
 51 [    0.000000]               0xffff7e0000000000 - 0xffff7e0004000000   (    64 MB actual)
 52 [    0.000000]     memory  : 0xffff800000000000 - 0xffff800100000000   (  4096 MB)
 53 [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
 54 [    0.000000] Preemptible hierarchical RCU implementation.
 55 [    0.000000]     Build-time adjustment of leaf fanout to 64.
 56 [    0.000000]     RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=2.
 57 [    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=2
 58 [    0.000000] NR_IRQS:64 nr_irqs:64 0
 59 [    0.000000] GICv2m: range[mem 0x08020000-0x08020fff], SPI[80:143]
 60 [    0.000000] arm_arch_timer: WARNING: Invalid trigger for IRQ3, assuming level low
 61 [    0.000000] arm_arch_timer: WARNING: Please fix your firmware
 62 [    0.000000] arm_arch_timer: Architected cp15 timer(s) running at 62.50MHz (virt).
 63 [    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1cd42e208c, max_idle_ns: 881590405314 ns
 64 [    0.000107] sched_clock: 56 bits at 62MHz, resolution 16ns, wraps every 4398046511096ns
 65 [    0.002457] Console: colour dummy device 80x25
 66 [    0.002953] Calibrating delay loop (skipped), value calculated using timer frequency.. 125.00 BogoMIPS (lpj=250000)
 67 [    0.005003] pid_max: default: 32768 minimum: 301
 68 [    0.005495] Security Framework initialized
 69 [    0.005796] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes)
 70 [    0.005823] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes)
 71 [    0.033688] ASID allocator initialised with 65536 entries
 72 [    0.055888] EFI services will not be available.
 73 [    0.070508] smp: Bringing up secondary CPUs ...
 74 [    0.103718] Detected VIPT I-cache on CPU1
 75 [    0.104137] CPU1: Booted secondary processor [410fd034]
 76 [    0.105447] smp: Brought up 1 node, 2 CPUs
 77 [    0.105484] SMP: Total of 2 processors activated.
 78 [    0.105544] CPU features: detected feature: 32-bit EL0 Support
 79 [    0.106390] CPU: All CPU(s) started at EL1
 80 [    0.106993] alternatives: patching kernel code
 81 [    0.117571] devtmpfs: initialized
 82 [    0.125123] DMI not present or invalid.
 83 [    0.125968] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
 84 [    0.126043] futex hash table entries: 512 (order: 4, 65536 bytes)
 85 [    0.129131] pinctrl core: initialized pinctrl subsystem
 86 [    0.140179] NET: Registered protocol family 16
 87 [    0.174101] cpuidle: using governor menu
 88 [    0.174984] vdso: 2 pages (1 code @ ffff0000088d7000, 1 data @ ffff000008da5000)
 89 [    0.175144] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
 90 [    0.179636] DMA: preallocated 256 KiB pool for atomic allocations
 91 [    0.180866] Serial: AMBA PL011 UART driver
 92 [    0.217051] 9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 39, base_baud = 0) is a PL011 rev1
 93 [    0.229660] console [ttyAMA0] enabled
 94 [    0.234380] irq: type mismatch, failed to map hwirq-27 for /intc!
 95 [    0.332166] HugeTLB registered 2 MB page size, pre-allocated 0 pages
 96 [    0.346761] ACPI: Interpreter disabled.
 97 [    0.351316] vgaarb: loaded
 98 [    0.352841] SCSI subsystem initialized
 99 [    0.354129] libata version 3.00 loaded.
100 [    0.356211] usbcore: registered new interface driver usbfs
101 [    0.356660] usbcore: registered new interface driver hub
102 [    0.357155] usbcore: registered new device driver usb
103 [    0.363521] pps_core: LinuxPPS API ver. 1 registered
104 [    0.363666] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
105 [    0.364073] PTP clock support registered
106 [    0.365464] dmi: Firmware registration failed.
107 [    0.366899] Advanced Linux Sound Architecture Driver Initialized.
108 [    0.376396] clocksource: Switched to clocksource arch_sys_counter
109 [    0.377906] VFS: Disk quotas dquot_6.6.0
110 [    0.379184] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
111 [    0.381159] pnp: PnP ACPI: disabled
112 [    0.410723] NET: Registered protocol family 2
113 [    0.425569] TCP established hash table entries: 32768 (order: 6, 262144 bytes)
114 [    0.426069] TCP bind hash table entries: 32768 (order: 7, 524288 bytes)
115 [    0.426727] TCP: Hash tables configured (established 32768 bind 32768)
116 [    0.427411] UDP hash table entries: 2048 (order: 4, 65536 bytes)
117 [    0.427736] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes)
118 [    0.429815] NET: Registered protocol family 1
119 [    0.432139] RPC: Registered named UNIX socket transport module.
120 [    0.432824] RPC: Registered udp transport module.
121 [    0.432964] RPC: Registered tcp transport module.
122 [    0.433091] RPC: Registered tcp NFSv4.1 backchannel transport module.
123 [    0.433311] PCI: CLS 0 bytes, default 128
124 [    0.436037] Trying to unpack rootfs image as initramfs...
125 [    0.440854] rootfs image is not initramfs (no cpio magic); looks like an initrd
126 [    0.453369] Freeing initrd memory: 2400K
127 [    0.455311] kvm [1]: HYP mode not available
128 [    0.466090] audit: initializing netlink subsys (disabled)
129 [    0.469328] audit: type=2000 audit(0.452:1): initialized
130 [    0.475039] workingset: timestamp_bits=46 max_order=20 bucket_order=0
131 [    0.518138] squashfs: version 4.0 (2009/01/31) Phillip Lougher
132 [    0.523010] NFS: Registering the id_resolver key type
133 [    0.523578] Key type id_resolver registered
134 [    0.523654] Key type id_legacy registered
135 [    0.523791] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
136 [    0.524960] 9p: Installing v9fs 9p2000 file system support
137 [    0.534620] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
138 [    0.534832] io scheduler noop registered
139 [    0.535541] io scheduler cfq registered (default)
140 [    0.557194] pl061_gpio 9030000.pl061: PL061 GPIO chip @0x0000000009030000 registered
141 [    0.564858] OF: PCI: host bridge /pcie@10000000 ranges:
142 [    0.565315] OF: PCI:    IO 0x3eff0000..0x3effffff -> 0x00000000
143 [    0.565681] OF: PCI:   MEM 0x10000000..0x3efeffff -> 0x10000000
144 [    0.565850] OF: PCI:   MEM 0x8000000000..0xffffffffff -> 0x8000000000
145 [    0.566651] pci-host-generic 3f000000.pcie: ECAM at [mem 0x3f000000-0x3fffffff] for [bus 00-0f]
146 [    0.568716] pci-host-generic 3f000000.pcie: PCI host bridge to bus 0000:00
147 [    0.569014] pci_bus 0000:00: root bus resource [bus 00-0f]
148 [    0.569196] pci_bus 0000:00: root bus resource [io  0x0000-0xffff]
149 [    0.569343] pci_bus 0000:00: root bus resource [mem 0x10000000-0x3efeffff]
150 [    0.569501] pci_bus 0000:00: root bus resource [mem 0x8000000000-0xffffffffff]
151 [    0.570327] pci 0000:00:00.0: [1b36:0008] type 00 class 0x060000
152 [    0.573729] pci 0000:00:01.0: [1af4:1000] type 00 class 0x020000
153 [    0.574091] pci 0000:00:01.0: reg 0x10: [io  0x0000-0x001f]
154 [    0.574263] pci 0000:00:01.0: reg 0x14: [mem 0x00000000-0x00000fff]
155 [    0.574487] pci 0000:00:01.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref]
156 [    0.574667] pci 0000:00:01.0: reg 0x30: [mem 0x00000000-0x0003ffff pref]
157 [    0.575624] pci 0000:00:02.0: [1af4:1009] type 00 class 0x000200
158 [    0.575801] pci 0000:00:02.0: reg 0x10: [io  0x0000-0x003f]
159 [    0.575945] pci 0000:00:02.0: reg 0x14: [mem 0x00000000-0x00000fff]
160 [    0.576117] pci 0000:00:02.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref]
161 [    0.579248] pci 0000:00:01.0: BAR 6: assigned [mem 0x10000000-0x1003ffff pref]
162 [    0.579773] pci 0000:00:01.0: BAR 4: assigned [mem 0x8000000000-0x8000003fff 64bit pref]
163 [    0.580132] pci 0000:00:02.0: BAR 4: assigned [mem 0x8000004000-0x8000007fff 64bit pref]
164 [    0.580965] pci 0000:00:01.0: BAR 1: assigned [mem 0x10040000-0x10040fff]
165 [    0.581226] pci 0000:00:02.0: BAR 1: assigned [mem 0x10041000-0x10041fff]
166 [    0.581423] pci 0000:00:02.0: BAR 0: assigned [io  0x1000-0x103f]
167 [    0.581602] pci 0000:00:01.0: BAR 0: assigned [io  0x1040-0x105f]
168 [    0.612049] virtio-pci 0000:00:01.0: enabling device (0000 -> 0003)
169 [    0.615182] virtio-pci 0000:00:02.0: enabling device (0000 -> 0003)
170 [    0.617449] xenfs: not registering filesystem on non-xen platform
171 [    0.629378] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
172 [    0.636035] SuperH (H)SCI(F) driver initialized
173 [    0.645049] msm_serial: driver initialized
174 [    0.647353] cacheinfo: Unable to detect cache hierarchy for CPU 0
175 [    0.703861] brd: module loaded
176 [    0.744597] loop: module loaded
177 [    0.746301] hisi_sas: driver version v1.6
178 [    0.763497] libphy: Fixed MDIO Bus: probed
179 [    0.764792] tun: Universal TUN/TAP device driver, 1.6
180 [    0.764893] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
181 [    0.778786] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
182 [    0.778947] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
183 [    0.779221] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
184 [    0.779350] igb: Copyright (c) 2007-2014 Intel Corporation.
185 [    0.779597] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k
186 [    0.779732] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
187 [    0.779963] sky2: driver version 1.30
188 [    0.785210] VFIO - User Level meta-driver version: 0.3
189 [    0.790416] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
190 [    0.790566] ehci-pci: EHCI PCI platform driver
191 [    0.790837] ehci-platform: EHCI generic platform driver
192 [    0.791295] ehci-exynos: EHCI EXYNOS driver
193 [    0.791675] ehci-msm: Qualcomm On-Chip EHCI Host Controller
194 [    0.792007] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
195 [    0.792378] ohci-pci: OHCI PCI platform driver
196 [    0.792662] ohci-platform: OHCI generic platform driver
197 [    0.793038] ohci-exynos: OHCI EXYNOS driver
198 [    0.794623] usbcore: registered new interface driver usb-storage
199 [    0.798672] mousedev: PS/2 mouse device common for all mice
200 [    0.805642] rtc-pl031 9010000.pl031: rtc core: registered pl031 as rtc0
201 [    0.811835] i2c /dev entries driver
202 [    0.828982] sdhci: Secure Digital Host Controller Interface driver
203 [    0.829089] sdhci: Copyright(c) Pierre Ossman
204 [    0.830537] Synopsys Designware Multimedia Card Interface Driver
205 [    0.834397] sdhci-pltfm: SDHCI platform and OF driver helper
206 [    0.838884] ledtrig-cpu: registered to indicate activity on CPUs
207 [    0.844425] usbcore: registered new interface driver usbhid
208 [    0.844550] usbhid: USB HID core driver
209 [    0.854742] NET: Registered protocol family 17
210 [    0.856085] 9pnet: Installing 9P2000 support
211 [    0.858100] Key type dns_resolver registered
212 [    0.860637] registered taskstats version 1
213 [    0.866590] input: gpio-keys as /devices/platform/gpio-keys/input/input0
214 [    0.868829] rtc-pl031 9010000.pl031: setting system clock to 2017-02-22 11:58:46 UTC (1487764726)
215 [    0.869655] ALSA device list:
216 [    0.869743]   No soundcards found.
217 [    0.871669] uart-pl011 9000000.pl011: no DMA platform data
218 [    0.873769] RAMDISK: gzip image found at block 0
219 [    1.242574] EXT4-fs (ram0): mounted filesystem with ordered data mode. Opts: (null)
220 [    1.242933] VFS: Mounted root (ext4 filesystem) on device 1:0.
221 [    1.244541] devtmpfs: mounted
222 [    1.292728] Freeing unused kernel memory: 1024K
223 Please press Enter to activate this console. 
224 [root@aarch64 ]# 
225 [root@aarch64 ]# 
226 [root@aarch64 ]# 
227 [root@aarch64 ]# ifconfig 
228 eth0      Link encap:Ethernet  HWaddr 52:54:00:12:34:56  
229           inet addr:172.16.14.250  Bcast:172.16.15.255  Mask:255.255.252.0
230           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
231           RX packets:143 errors:0 dropped:14 overruns:0 frame:0
232           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
233           collisions:0 txqueuelen:1000 
234           RX bytes:23589 (23.0 KiB)  TX bytes:0 (0.0 B)
235 lo        Link encap:Local Loopback  
236           inet addr:127.0.0.1  Mask:255.0.0.0
237           UP LOOPBACK RUNNING  MTU:65536  Metric:1
238           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
239           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
240           collisions:0 txqueuelen:1000 
241           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
242 [root@aarch64 ]# mount -t nfs -o nolock 172.16.14.203:/nfsroot /mnt
243 [   26.558855] random: fast init done
244 [root@aarch64 ]# mount
245 /dev/root on / type ext4 (rw,relatime,data=ordered)
246 devtmpfs on /dev type devtmpfs (rw,relatime,size=2011360k,nr_inodes=502840,mode=755)
247 proc on /proc type proc (rw,relatime)
248 tmpfs on /tmp type tmpfs (rw,relatime)
249 sysfs on /sys type sysfs (rw,relatime)
250 debugfs on /sys/kernel/debug type debugfs (rw,relatime)
251 devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
252 172.16.14.203:/nfsroot on /mnt type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=172.16.14.203,mountvers=3,mountproto=tcp,local_lock=all,addr=172.16.14.203)
253 [root@aarch64 ]# mkdir mnt2
254 [root@aarch64 ]# mount -t 9p -o trans=virtio,version=9p2000.L hostshare /mnt2
255 [root@aarch64 ]# mount
256 /dev/root on / type ext4 (rw,relatime,data=ordered)
257 devtmpfs on /dev type devtmpfs (rw,relatime,size=2011360k,nr_inodes=502840,mode=755)
258 proc on /proc type proc (rw,relatime)
259 tmpfs on /tmp type tmpfs (rw,relatime)
260 sysfs on /sys type sysfs (rw,relatime)
261 debugfs on /sys/kernel/debug type debugfs (rw,relatime)
262 devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
263 172.16.14.203:/nfsroot on /mnt type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=172.16.14.203,mountvers=3,mountproto=tcp,local_lock=all,addr=172.16.14.203)
264 hostshare on /mnt2 type 9p (rw,sync,dirsync,relatime,trans=virtio,version=9p2000.L)
265 [root@aarch64 ]# [  246.789966] random: crng init done

 

Finish.

Posted by rortelli on Tue, 02 Apr 2019 20:48:31 -0700