byteduck / duckOS

An x86 monolithic kernel and operating system written in modern C++. Comes with in-house graphical applications and command line utilities, plus ports of existing software. And yes, it runs DOOM!
GNU General Public License v3.0
618 stars 25 forks source link

[make image] Cannot mount /dev/loop0p1 on Arch #30

Closed PF94 closed 2 years ago

PF94 commented 2 years ago

I ditched Ubuntu 20.04 in favor of Arch due to problems with installing Wine and now I can't make the image file for duckOS via make image. Searching everywhere yields irrelevant results regarding things like Ubuntu installation and partitioning. I know this is not the right place but I am not comfortable with trying to ask this on the Arch forums.

[INFO] Using existing image...
[INFO] Making loopback device...
[INFO] Loopback device mounted at /dev/loop0
[INFO] Mounting filesystem on /dev/loop0p1 to mnt ...
mount: /home/grkb/duckOS/cmake-build/mnt: special device /dev/loop0p1 does not exist.
       dmesg(1) may have more information after failed mount system call.
[ERROR] Couldn't mount.
[INFO] Cleaning up...
make[3]: *** [CMakeFiles/image.dir/build.make:70: CMakeFiles/image] Error 1
make[2]: *** [CMakeFiles/Makefile2:695: CMakeFiles/image.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:702: CMakeFiles/image.dir/rule] Error 2
make: *** [Makefile:169: image] Error 2
[grkb@archlinux cmake-build]$                                                                                

Fdisk claims that this is an "Inappropriate ioctl for device", which I can't find any fixes for on Google that isn't related to Perl/Bash scripts.

byteduck commented 2 years ago

Did you try removing duckOS.img and re-running the script? The partition table could be corrupted in the existing image or something.

byteduck commented 2 years ago

Additionally, I'd recommend clearing your build folders and re-building the toolchain if you haven't already.

PF94 commented 2 years ago

it now works but qemu doesn't show up at all?

byteduck commented 2 years ago

Anything interesting in the console? Is it running, or does it exit immediately? Can you run qemu-system-x86_64 directly in the terminal (with no arguments)?

PF94 commented 2 years ago

Anything interesting in the console? Is it running, or does it exit immediately? Can you run qemu-system-x86_64 directly in the terminal (with no arguments)?

it does run and it doesn't freeze at the hard drive part (unlike #11)

byteduck commented 2 years ago

Interesting. I am on Arch, and I just upgraded qemu and it stopped working for me as well :thinking:

byteduck commented 2 years ago

For me at least, the issue was that it was booting, but Pond wasn't setting up the display correctly. This turned out to be due to the gettimeofday syscall in the kernel being implemented with timespec instead of timeval, causing a buffer overflow. And it didn't decide to cause issues until now for some reason.

PF94 commented 2 years ago

well for me the issue is that qemu's display is outputting as a VNC.

image image

PF94 commented 2 years ago

the vnc output issue is fixed by installing qemu-ui-gtk.