私はM2 Macを使用しています。 aarch64v8/ubuntu dockerコンテナにLinuxカーネルを構築しました。これは docker-compose.yml です。
version: "3"
services:
dev:
image: arm64v8/ubuntu
platform: linux/arm64
volumes:
- .:/root/myfolder
working_dir: /root
#cpus:
network_mode: host
security_opt:
- seccomp:unconfined
cap_add:
- SYS_PTRACE
linux-5.10.209をダウンロードしてカーネルを構築しました。効率的。私はbusybox-1.36.1をダウンロードして構築しました。それも働いた。
これは私のルートファイルシステムです。
(base) varunnawathey@Varuns-MacBook-Pro rootfs % ls -l
total 0
drwxr-xr-x@ 95 varunnawathey staff 3040 Feb 3 02:58 bin
drwxr-xr-x 6 varunnawathey staff 192 Feb 3 03:09 dev
drwxr-xr-x 2 varunnawathey staff 64 Feb 3 03:03 etc
lrwxr-xr-x 1 varunnawathey staff 11 Feb 3 03:04 init -> bin/busybox
lrwxr-xr-x@ 1 varunnawathey staff 11 Feb 3 02:58 linuxrc -> bin/busybox
drwxr-xr-x 2 varunnawathey staff 64 Feb 3 03:03 proc
drwxr-xr-x@ 74 varunnawathey staff 2368 Feb 3 02:58 sbin
drwxr-xr-x 2 varunnawathey staff 64 Feb 3 03:03 sys
drwxr-xr-x@ 4 varunnawathey staff 128 Feb 3 02:55 usr
(base) varunnawathey@Varuns-MacBook-Pro rootfs % ls -l dev
total 0
crw-rw---- 1 root staff 0x1000001 Feb 3 03:06 mem
crw-rw---- 1 root staff 0x1000001 Feb 3 03:07 ttyS2
crw-rw---- 1 root staff 0x1000001 Feb 3 03:07 ttyS3
crw-rw---- 1 root staff 0x1000001 Feb 3 03:07 ttyS4
私はこれを実行しました:
sudo find . -print0 | cpio --null -ov --format=newc | gzip -9 > ../rootfs.cpio.gz
テキストが多すぎますが、ここで何か間違っているようです。
./sbin/tunctl
./sbin/mkdosfs
./sbin/blkid
./etc
./sys
./linuxrc
./dev
cpio: Couldn't list extended attributes
./dev/ttyS4
cpio: Couldn't list extended attributes
./dev/ttyS3
cpio: Couldn't list extended attributes
./dev/ttyS2
cpio: Couldn't list extended attributes
./dev/mem
4302 blocks
rootfsを作成しましたが、成功しませんでした。これが私が付いているところです。 mknodが必要ですが、Dockerコンテナでは許可されていないいくつかの手順があります。
ここで何をすべきかわかりません。 Dockerコンテナの代わりにホストを介してmknodを実行する必要がある場合は、initramfsをどのように作成するのかわかりません。
これはただ中断されます:
qemu-system-aarch64 -M virt -m 256M -kernel linux-5.10.209/arch/arm64/boot/Image -initrd rootfs.cpio.gz -append "root=/dev/mem" -nographic
Dockerコンテナを特権に設定する必要がありますか?どうすればいいですか?
それとも、qemuを使用してカーネルを起動するために必要なものがありませんか?