rellermeyer / course_os

CS 439 course OS
BSD 3-Clause "New" or "Revised" License
38 stars 26 forks source link

Multiprocessing #86

Open nasko25 opened 3 years ago

nasko25 commented 3 years ago
ValentijnvdBeek commented 3 years ago

The day has finally come for the merging storm! I will take a look it at a bit later today after my meetings

ValentijnvdBeek commented 3 years ago

@fayalalebrun Changed something with the early startup and the linker file which broke the build system. I haven't been able to figure it up until now, it should generate the DTB file correctly now but it just doesn't boot anymore. Typically this happens whenever the linker can't find the file.

To fix the build just generate the DTB file or add it as a dependency for the two elf files.

fayalalebrun commented 3 years ago

@ValentijnvdBeek Indeed, I believe the error must be in the linking. Something must be happening differently in the new Meson build file.

However, I'm not able to run the kernel with the Meson build system, not even get qemu to start. Could you update the README? It still refers to Make as the build system.

ValentijnvdBeek commented 3 years ago

@ValentijnvdBeek Indeed, I believe the error must be in the linking. Something must be happening differently in the new Meson build file.

Yeah, I suppose it is with the DTB file. Which one needs to be linked in? The one generated by the build file or in src/common?

However, I'm not able to run the kernel with the Meson build system, not even get qemu to start. Could you update the README? It still refers to Make as the build system.

Qemu not starting is typical for a bad linker script, but I cannot tell what is wrong what is wrong with it now.

fayalalebrun commented 3 years ago

Yeah, I suppose it is with the DTB file. Which one needs to be linked in? The one generated by the build file or in src/common?

The file in src/common is a binary file, so you can't link it directly. Hence an object file is generated from it by the build script, which is the one you have to link.

fayalalebrun commented 3 years ago

When I run it, I get arm-none-eabi-gcc: error: dtb.o: No such file or directory

Perhaps kernel_elf is not set to depend on the dtb generation?