Open KouweiLee opened 12 months ago
一些常见问题汇总:
执行命令
sudo vi /etc/apt/sources.list
替换文件内容为:
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main
替换后执行:
sudo apt update
sudo apt install libc6
如果运行jailhouse时报ext4 error文件系统的错,则可以在host上执行:
e2fsck -f ubuntu-20.04-rootfs_ext4.img
执行sudo chroot .
时,如果报错chroot: failed to run command ‘/bin/bash’: Exec format error
,可以执行指令:
sudo apt-get install qemu-user-static
sudo update-binfmts --enable qemu-aarch64
运行jailhouse的指令如下,在qemu中执行:
cd ~/jailhouse
sudo insmod driver/jailhouse.ko
sudo ./tools/jailhouse enable configs/arm64/qemu-arm64.cell
sudo ./tools/jailhouse cell create configs/arm64/qemu-arm64-gic-demo.cell
sudo ./tools/jailhouse cell load gic-demo inmates/demos/arm64/gic-demo.bin
sudo ./tools/jailhouse cell start gic-demo
sudo ./tools/jailhouse cell destroy gic-demo
sudo ./tools/jailhouse disable
如果运行一个non-root-linux在jailhouse中,报错说找不到python,则执行以下命令:
sudo ln -s /usr/bin/python3 /usr/bin/python
在使用ubuntu-base启动虚拟aarch64平台时,等待dev-ttyAMA0.device超时而卡住,从而导致无法登录进入bash
sudo mount ubuntu-20.04-rootfs_ext4.img rootfs/
sudo chroot rootfs/
cp lib/systemd/system/serial-getty\@.service lib/systemd/system/serial-getty\@ttyAMA0.service
systemctl enable serial-getty\@ttyAMA0.service
exit
修改内容
sudo vim rootfs/lib/systemd/system/serial-getty@ttyAMA0.service
将BindsTo和After开头的行注释掉
参考地址:
systemd for Administrators, Part XVI
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x20): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
则修改linux文件夹下scripts/dtc/dtc-lexer.lex.c
,在YYLTYPE yylloc;
前增加extern
。再次编译,发现会报错:openssl/bio.h: No such file or directory ,此时执行sudo apt install libssl-dev
注意jailhouse编译完成后将jailhouse/hypervisor/jailhouse.bin复制到rootfs的/lib/firmware/下,否则hypervisor无法运行
如果想在Linux中以root身份登录,则可以在制作根文件系统时执行passwd root ,登录时输入root用户名和设置的密码即可。
https://report.syswonder.org/#/2023/20230421_ARM64-QEMU-jailhouse
Description