Open orklann opened 2 years ago
ugh. So here's what's going on: mkisofs-rs is being built without taking the lockfile into account (https://github.com/Thog/mkisofs-rs/blob/master/Cargo.lock). So it ends up building with a newer version of clap, which our pinned rust version does not support.
I think I know what to do to fix it. In the meantime, you can run cargo install --git https://github.com/Thog/mkisofs-rs --locked
to install mkisofs-rs. Running cargo make qemu
should then work.
Thanks for raising this issue!
This is related to https://github.com/sunriseos/SunriseOS/issues/585.
ugh. So here's what's going on: mkisofs-rs is being built without taking the lockfile into account (https://github.com/Thog/mkisofs-rs/blob/master/Cargo.lock). So it ends up building with a newer version of clap, which our pinned rust version does not support.
I think I know what to do to fix it. In the meantime, you can run
cargo install --git https://github.com/Thog/mkisofs-rs --locked
to install mkisofs-rs. Runningcargo make qemu
should then work.Thanks for raising this issue!
The build process goes on by using your fix, but there is another error while running qemu
.
Here is the log.
[cargo-make] INFO - Execute Command: "qemu-system-i386" "-boot" "d" "-cdrom" "os.iso" "-serial" "mon:stdio" "-vnc" ":0" "-no-reboot" "-drive" "id=diskA,file=DISK.img,format=raw,if=none" "-device" "ahci,id=ahci" "-device" "ide-drive,drive=diskA,bus=ahci.0" "-machine" "q35" "-m" "512M" "-d" "cpu_reset"
CPU Reset (CPU 0)
EAX=00000000 EBX=00000000 ECX=00000000 EDX=00000000
ESI=00000000 EDI=00000000 EBP=00000000 ESP=00000000
EIP=00000000 EFL=00000000 [-------] CPL=0 II=0 A20=0 SMM=0 HLT=0
ES =0000 00000000 00000000 00000000
CS =0000 00000000 00000000 00000000
SS =0000 00000000 00000000 00000000
DS =0000 00000000 00000000 00000000
FS =0000 00000000 00000000 00000000
GS =0000 00000000 00000000 00000000
LDT=0000 00000000 00000000 00000000
TR =0000 00000000 00000000 00000000
GDT= 00000000 00000000
IDT= 00000000 00000000
CR0=00000000 CR2=00000000 CR3=00000000 CR4=00000000
DR0=00000000 DR1=00000000 DR2=00000000 DR3=00000000
DR6=00000000 DR7=00000000
CCS=00000000 CCD=00000000 CCO=DYNAMIC
EFER=0000000000000000
FCW=0000 FSW=0000 [ST=0] FTW=ff MXCSR=00000000
FPR0=0000000000000000 0000 FPR1=0000000000000000 0000
FPR2=0000000000000000 0000 FPR3=0000000000000000 0000
FPR4=0000000000000000 0000 FPR5=0000000000000000 0000
FPR6=0000000000000000 0000 FPR7=0000000000000000 0000
XMM00=0000000000qemu-system-i386: -device ide-drive,drive=diskA,bus=ahci.0: 'ide-drive' is not a valid device model name
[cargo-make] ERROR - Error while executing command, exit code: 1
[cargo-make] WARN - Build Failed.
And my qemu version
~/p/SunriseOS on master ◦ qemu-system-i386 --version
QEMU emulator version 6.1.0
Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers
This diff fixed the qemu error:
diff --git a/Makefile.toml b/Makefile.toml
index ee43cc80..ae7bc2e9 100644
--- a/Makefile.toml
+++ b/Makefile.toml
@@ -31,7 +31,7 @@ QEMU_COMMON_FLAGS = """\
-vnc ${VNC_PORT} \
-no-reboot \
-drive id=diskA,file=DISK.img,format=raw,if=none -device ahci,id=ahci \
- -device ide-drive,drive=diskA,bus=ahci.0 \
+ -device ide-hd,drive=diskA,bus=ahci.0 \
-machine q35 \
-m 512M"""
And finally qemu is running, and I need to connect to VNC port to access the shell?
What's the login name and password? I tried root
& root
, but failed.
What's the login name and password? I tried root & root, but failed.
roblabla
& test123
. Logins are stored in https://github.com/sunriseos/SunriseOS/blob/master/external/filesystem/disk_template/etc/passwd (you can modify it at runtime to with adduser
). Note that passwords are stored super unsecurely (it's just storing a sha1 hash of the password, no salting or anything, so it's vulnerable to rainbow tables).
thank you, login success.
Command to build:
cargo make qemu
I think it's not due to Sunrise OS itself, it's the Rust crates this project uses, maybe it will be a quick fix to update some crates to the latest version.
Here is some part of the log. Errors happens at the end of the log