못 받을 것 같아디테르피virt
일반 ARM 64비트 시스템에서 실행게임. 저는 Raspberry Pi ARMv8 64비트 DietPi 이미지(Raspberry Pi 4용)를 사용하고 있습니다.
사용자 공간 소프트웨어 개발을 위한 시뮬레이션에서 DietPi를 실행하려면 무엇을 놓치고 있거나 변경해야 합니까?
커널, 장치 트리 및 명령줄을 추출했습니다. /etc/fstab
이미지의 사용 파티션 UUID:
$ cat /mnt/rpi/etc/fstab
#----------------------------------------------------------------
# TMPFS
#----------------------------------------------------------------
tmpfs /tmp tmpfs noatime,lazytime,nodev,nosuid,mode=1777
tmpfs /var/log tmpfs size=50M,noatime,lazytime,nodev,nosuid,mode=1777
#----------------------------------------------------------------
# PHYSICAL DRIVES
#----------------------------------------------------------------
PARTUUID=df909cde-02 / ext4 noatime,lazytime,rw 0 1
PARTUUID=df909cde-01 /boot vfat noatime,lazytime,rw 0 2
DietPi에는 다음이 포함됩니다 cmdline.txt
.
root=PARTUUID=df909cde-02 rootfstype=ext4 rootwait fsck.repair=yes net.ifnames=0 logo.nologo console=serial0,115200 console=tty1
시작 프로세스에서 가장 멀리 있는 것은 다음 호출입니다 . 이 qemu-system-aarch64
호출은 다음 위치에서 종료됩니다 .Waiting for root device PARTUUID...
qemu-system-aarch64 \
-M virt \
-cpu cortex-a72 \
-m 256 \
-kernel kernel8.img \
-drive file=DietPi_RPi-ARMv8-Bullseye.img \
-append "root=PARTUUID=df909cde-02 rootfstype=ext4 rootwait fsck.repair=yes
net.ifnames=0 logo.nologo" \
-no-reboot \
-serial stdio
[ 0.827340] Initializing XFRM netlink socket
[ 0.827593] NET: Registered PF_PACKET protocol family
[ 0.828221] Key type dns_resolver registered
[ 0.829502] registered taskstats version 1
[ 0.829662] Loading compiled-in X.509 certificates
[ 0.830795] Key type ._fscrypt registered
[ 0.830908] Key type .fscrypt registered
[ 0.830998] Key type fscrypt-provisioning registered
[ 0.834275] of_cfs_init
[ 0.835387] of_cfs_init: OK
[ 0.843886] uart-pl011 9000000.pl011: no DMA platform data
[ 0.846894] Waiting for root device PARTUUID=df909cde-02...
답변1
이 게시물답이 있는 것 같습니다. 이를 기반으로 다음과 같이 ARMv8 이미지를 부팅할 수 있습니다( 이미지를 복사한 후) kernel8.img
.bcm2710-rpi-3-b.dtb
qemu-system-aarch64 \
-m 1024 \
-M raspi3 \
-kernel kernel8.img \
-dtb bcm2710-rpi-3-b.dtb \
-drive file=DietPi_RPi-ARMv8-Bullseye.img,format=raw \
-append "console=ttyAMA0 root=/dev/mmcblk0p2 rw rootwait rootfstype=ext4" \
-device usb-net,netdev=net0 \
-netdev user,id=net0,hostfwd=tcp::2222-:22 \
-serial stdio
문제 없이 부팅되지만 콘솔에 액세스할 수 없습니다. 그러나 SSH를 사용하여 로그인할 수 있습니다.
$ ssh -p 2222 root@localhost
Warning: Permanently added '[localhost]:2222' (ED25519) to the list of known hosts.
root@localhost's password:
기본 비밀번호( dietpi
)를 입력하면 설정이 완료됩니다. DietPi는 처음 로그인할 때 여러 초기화 스크립트를 실행하려고 하지만 그 후에는 모든 것이 예상대로 작동하는 것 같습니다.
업데이트 1: 뭐, 한 번만, 다시 시작할 때까지요. Dietpi는 초기 구성 후에 SSH를 비활성화합니까? 조사를 시도했지만 콘솔에 전혀 액세스할 수 없어서 네트워크 없이는 작동할 수 없는 것 같습니다.
업데이트 2*: 제가 겪고 있는 문제는 전적으로 "dietpi" 이미지 때문인 것 같습니다. 그냥 사용하면Raspberry Pi OS 64비트 Lite 이미지, 그러면 콘솔 액세스가 정상적으로 작동합니다.
"사용자" 모드 네트워킹은 재부팅 후에도 유지되지 않는 것 같지만 탭 장치 설정은 제대로 작동합니다.
이것은 내가 사용한 명령줄입니다.
qemu-system-aarch64 \
-M raspi3 \
-kernel kernel8.img \
-append "root=/dev/mmcblk0p2 rw rootwait rootfstype=ext4 console=ttyAMA0" \
-dtb bcm2710-rpi-3-b-plus.dtb \
-m 1024 \
-drive file=/var/lib/libvirt/images/raspios-work.img,format=raw \
-netdev tap,id=net0,script=no,downscript=no,ifname=rpi0 \
-device usb-net,netdev=net0 \
-nographic \
-serial mon:stdio