Xen on Hikey960

来自个人维基
2019年11月12日 (二) 19:29free6d1823讨论 | 贡献的版本

跳转至: 导航搜索

Reference: https://wiki.xenproject.org/wiki/HiKey960

1. Building UEFI

export BUILD_PATH=~/build
cd ${BUILD_PATH}

download tools-images-hikey960

git clone https://github.com/96boards-hikey/tools-images-hikey960
cd tools-images-hikey960

see README-flash-uefi.md to install ser2net first.
參考 recovery-flash-uefi-prebuilt.sh 分成三步驟
(1) download prebuild from
https://snapshots.linaro.org/reference-platform/components/uefi-staging/${VERSION}/hikey960/${RELEASE}/

BASE_URL=https://snapshots.linaro.org/reference-platform/components/uefi-staging
VERSION=latest
PRODUCT=hikey960
RELEASE=release
DEVICE=/dev/ttyUSB1
UEFI_URL=${BASE_URL}/${VERSION}/${PRODUCT}/${RELEASE}/

mkdir -p ./uefi
cd uefi
wget -A bin,config,efi,hikey_idt,img,txt -m -nd -np "$UEFI_URL"

(2) change board to recovery mode
download hikey_idt hisi-sec_usb_xloader.img, hisi-sec_uce_boot.img, hisi-sec_fastboot.img

sudo ./hikey_idt -c config -p ${DEVICE}

(沒成功)

(3) change board to fastboot mode

sudo fastboot flash ptable prm_ptable.img
sudo fastboot flash xloader hisi-sec_xloader.img
sudo fastboot flash fastboot l-loader.bin
sudo fastboot flash fip fip.bin

Switch to normal mode, power on
Uefi boot.png

xxx2. Download boot and system image
boot - The FAT32 64MB partition containing GRUB (or xen.efi if desired)
system - The rootfs (Ext4) containing the OS and /boot directory for GRUB to search.

try this:(NO HIKEY960)
https://snapshots.linaro.org/reference-platform/embedded/morty/hikey/latest/rpb/


download rootfs from

rpb-console-image-hikey960-<some number>.rootfs.img.gz

download uefi boot
boot-0.0+AUTOINC+<some number>hikey960-<some number>.uefi.img

2. Building Linux

git clone https://github.com/96boards-hikey/linux.git
cd linux
git checkout origin/hikey960-upstream-rebase
export CROSS_COMPILE=aarch64-linux-gnu-
export ARCH=arm64
make defconfig

check .config, CONFIG_XEN_DOM0=y CONFIG_XEN=y

make -j8
cp -f arch/$ARCH/boot/Image ../Image
cp -f arch/$ARCH/boot/dts/hisilicon/hi3660-hikey960.dtb ../Image.dtb

3. Building Xen

git clone git://xenbits.xen.org/xen.git
cd xen/xen
export TOOLS=/opt/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin
export CROSS_COMPILE=${TOOLS}/aarch64-linux-gnu-
export ARCH=arm64
export XEN_TARGET_ARCH=arm64
make defconfig
make -j8
cp xen.efi ../../

4. Extract the wl18xx-fw-4.bin so your WiFi will work

git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
cd linux-firmware
cp ti-connectivity/wl18xx-fw-4.bin ../

5. rootfs
check https://releases.linaro.org/debian/images/developer-arm64/latest/

https://releases.linaro.org/debian/images/developer-arm64/latest/linaro-stretch-developer- 20170720-71.tar.gz
sudo tar -xzf linaro-stretch-developer-20180416-89.tar.gz
sudo mv binary rootfs
sudo cp Image rootfs/boot
sudo cp Image.dtb rootfs/boot
sudo cp xen.efi rootfs/boot
sudo mkdir -p rootfs/lib/firmware/ti-connectivity
sudo cp wl18xx-fw-4.bin rootfs/lib/firmware/ti-connectivity

Modify the rootfs/boot/grub.cfg to your satisfaction (see below in Building GRUB section).