[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-users] Xen on HiKey


my goal is to run Xen on HiKey (LeMaker). I am aware of the instructions
in the Xen wiki: http://wiki.xen.org/wiki/HiKey, which I would like to
recreate. Since, I am new to Xen and ARM many things are not clear for
me and I hope some of you can point me in the right direction.

# This is what I did

### Environment

Debian "Stretch" testing

### Install ARM Toolchain

host# apt-get install make gcc gcc-aarch64-linux-gnu
gcc-arm-linux-gnueabi git libncurses5-dev python bc mtools

### Build Xen

host$ git clone git://xenbits.xen.org/xen.git xen
host$ cd xen
host: ~/xen$ git checkout RELEASE-4.7.0

host$ make xen XEN_TARGET_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-

#### Build Kernel 4.1

# clone the kernel tree
user@host$ git clone https://github.com/96boards/linux.git 96boards_linux
user@host$ cd 96boards_linux
//this is the android-hikey-linaro-4.1 commit mentioned in the article
user@host: ~/96boards_linux$ git checkout
user@host: ~/96boards_linux$ git show HEAD

# setup cross build environment
user@host: ~/96boards_linux$ export ARCH="arm64"
user@host: ~/96boards_linux$ export CROSS_COMPILE="aarch64-linux-gnu-"
user@host: ~/96boards_linux$ make hikey_defconfig #optional

# show config file
user@host: ~/96boards_linux$ less .config

# download Xen config file
user@host: ~/96board_linux$ wget
user@host: ~/96board_linux$ rm .config #optional
user@host: ~/96board_linux$ mv config-hikey .config

# cross build the kernel
make -j24 Image hisilicon/hi6220-hikey.dtb

# Copy files to SD card (FAT format)
user@host$ sudo dd if=CentOS-7-aarch64-rolling.img of=/dev/sdX bs=4M
user@host$ mkdir efi
//mount efi FAT partition to efi
user@host$ sudo mount /dev/sdX1 efi
user@host$ cd 96board_linux
user@host: ~/96board_linux$ cp arch/arm64/boot/Image ../efi
host: ~$ cd xen
host: ~/xen$ cp xen/xen ../efi
host: ~/xen$ cd ../efi
host: ~$ mv xen xen.efi
//startup.nsh and xen.cfg are from the wiki article
host: ~/efi$ ls
EFI  Image  startup.nsh xen.cfg  xen.efi

# This is the result

try to start normal linux:

FS0:\> Image console=ttyAMA3,115200 root=/dev/mmcblk1p4 rootwait rw
EFI stub: Booting Linux
EFI stub: Generating empty
EFI stub: Exiting boot services and installing virtual address map...

//it stops here and does nothing more

try to start xen:
Xen 4.7.0 (c/s Mon Jun 20 11:38:15 2016 +0100 git:9a6cc4f) EFI loader
Using configuration file 'xen.cfg'
Image: 0x0000000079fd0000-0x000000007acb8c00

//it stops here and does nothing more

# Questions:

1. I used `xen XEN_TARGET_ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
DEBUG=y CONFIG_EARLY_PRINT=fastmodel` to build Xen. I am not sure if
this is correct, especially the `CONFIG_EARLY_PRINT=fastmodel`
parameter. Can you point me to the right command?

2. I did not use the `CentOS-7-aarch64-rootfs-1606.tar.xz` mentioned in
the article, mainly because I did not understand how to use it. I used
instead `CentOS-7-aarch64-rolling.img.xz`. Does this make a difference
and how to use the rootfs instead?

3. I simply renamed the binary `xen` to `xen.efi`. Does this work or do
I have to compile xen with different parameters?

4. I am not sure if I placed the startup.nsh, xen.efi, xen.cfg and Image
(kernel) files in the right place?

in addition I would be happy to know about any other hint of things I
did wrong. 

Best regards
  J. Eppler

Xen-users mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.