Can't run or start
Sorry about the non-descriptive title, but I'm not sure what the(s) is/are, and am not very familiar with docker.
I am trying to run this on Linux Mint 20, with kernel v5.4.0-52-generic. I have installed qemu, kvm, and docker, have pulled sickcodes/docker-eyeos, and have downloaded and decompressed hfs.main.zst and hfs.sec.zst into ~/Downloads/images/, and am currently cd'd into that directory.
Here is what I run: sudo docker run -it --privileged --device /dev/kvn -e RAM=6 -e HFS_MAIN=./hfs.main -e HFS_SEC=./hfs.sec -p 2222:2222 -v "$PWD:/home/webserver/Downloads/images" -e "DISPLAY=${DISPLAY:-:0.0}" -v /tmp/.X11-unix:/tmp/.X11-unix sickcodes/docker-eyeos:latest
That gives me this output:
ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519
nohup: appending output to 'nohup.out'
./hfs.main: No such file or directory
./hfs.main: CAN'T CHECK FILE SYSTEM.
./hfs.main: UNEXPECTED INCONSISTENCY; RUN fsck_hfs MANUALLY.
./hfs.sec: No such file or directory
./hfs.sec: CAN'T CHECK FILE SYSTEM.
./hfs.sec: UNEXPECTED INCONSISTENCY; RUN fsck_hfs MANUALLY.
No protocol specified
Unable to init server: Could not connect: Connection refused
bash: line 13: 18 Aborted sudo xnu-qemu-arm64/aarch64-softmmu/qemu-system-aarch64 -M iPhone6splus-n66-s8000,kernel-filename=/home/arch/docker-eyeos/kernelcache.release.n66.out,dtb-filename=/home/arch/docker-eyeos/Firmware/all_flash/DeviceTree.n66ap.im4p.out,driver-filename=/home/arch/docker-eyeos/aleph_bdev_drv.bin,qc-file-0-filename=./hfs.main,qc-file-1-filename=./hfs.sec,kern-cmd-args="debug=0x8 kextlog=0xfff cpus=1 rd=disk0 serial=2",xnu-ramfb=off -cpu max -m ${RAM:-6}G -serial mon:stdio -vga std ${EXTRA:-}
I tried to connect via ssh ~15 times, every time I got the message connection refused.
Is there something easy that needs to be done to be able to run this? I noticed that you've hard-coded the directory /home/arch/docker-eyeos/, I'm not familiar with docker though, so I don't know whether that could be causing an issue.
Hey @The-SamminAter,
In the command -v "$PWD:/home/webserver/Downloads/images" means you are going to pass your current directory into the docker container.
This means hfs.main and hfs.sec must be in the directory that you run the docker command from.
If you run this code, in one block, you won't have trouble. You need 30GB of space to run this:
mkdir -p images
cd images
wget https://images.sick.codes/hfs.sec.zst
wget https://images.sick.codes/hfs.main.zst
# decompress images, uses about 15GB
zstd -d hfs.main.zst
zstd -d hfs.sec.zst
docker pull sickcodes/docker-eyeos:latest
docker run -it --privileged \
--device /dev/kvm \
-e RAM=6 \
-e HFS_MAIN=./images/hfs.main \
-e HFS_SEC=./images/hfs.sec \
-p 2222:2222 \
-v "$PWD:/home/arch/docker-eyeos/images" \
-e "DISPLAY=${DISPLAY:-:0.0}" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
sickcodes/docker-eyeos:latest
Hey @The-SamminAter,
In the command
-v "$PWD:/home/webserver/Downloads/images"means you are going to pass your current directory into the docker container.This means hfs.main and hfs.sec must be in the directory that you run the docker command from.
Those folders are in /home/webserver/Downloads/images though, and I did run the command from that directory.
If you run this code, in one block, you won't have trouble. You need 30GB of space to run this:
mkdir -p images cd images wget https://images.sick.codes/hfs.sec.zst wget https://images.sick.codes/hfs.main.zst # decompress images, uses about 15GB zstd -d hfs.main.zst zstd -d hfs.sec.zst docker pull sickcodes/docker-eyeos:latest docker run -it --privileged \ --device /dev/kvm \ -e RAM=6 \ -e HFS_MAIN=./images/hfs.main \ -e HFS_SEC=./images/hfs.sec \ -p 2222:2222 \ -v "$PWD:/home/arch/docker-eyeos/images" \ -e "DISPLAY=${DISPLAY:-:0.0}" \ -v /tmp/.X11-unix:/tmp/.X11-unix \ sickcodes/docker-eyeos:latest
That is what I did, except I changed the directories to match those on my computer.
You should use ./images/hfs.main and ./images/hfs.sec as the WORKDIR is /home/arch/docker-eyeos. The place you run docker command doesn't matter.
https://github.com/sickcodes/Docker-eyeOS/blob/e5f196ad46f63c3c02b3f61faf0236def199c5b9/Dockerfile#L283
You should use
./images/hfs.mainand./images/hfs.secas theWORKDIRis/home/arch/docker-eyeos. The place you run docker command doesn't matter.https://github.com/sickcodes/Docker-eyeOS/blob/e5f196ad46f63c3c02b3f61faf0236def199c5b9/Dockerfile#L283
Yeah this is correct, sorry been a few weeks since I used it.