49 Commits

Author SHA1 Message Date
Enrico Fraccaroli (Galfurian) eca55dfed8 Clean up cmake files (Part 2)
I've kept just one cmake project, in the root directory. The
subdirectories just set up the targets.

The asm compiler is serached just one time, from the root
directory cmake file.

Global compilation flags are set in the root cmake file, and
each subdirectory cmake file sets specific flags if necessary
(e.g., programs need the -u_start specified)
2024-01-17 13:34:32 +01:00
Enrico Fraccaroli (Galfurian) 0b75cd9c2a Clean up cmake files (Part 1)
I've been cleaning up the way compilation flags are passed to the targets
and there are still some changes that must be made, in the next commit.

I've also done some renaming, all_programs into programs and the same for
tests.

The gdb initialization file now is just one, populated using the find command
and using realpath to get the absolute path to the files. I've tested if the
generated gdb.run file works and it does.
2024-01-17 13:16:50 +01:00
Enrico Fraccaroli e630f89547 Specify the linker 2024-01-15 11:30:52 +01:00
Florian Fischer 8b678be2b7 do not append to gdb.run
Currently each time the target gdbinit is executed a new line
containing 'target remote localhost:1234' will be added to the
gdb.run file.
2024-01-13 14:32:03 +01:00
Enrico Fraccaroli (Galfurian) dd39e93194 Try to fix compilation under MacOS 2023-11-30 13:31:49 -05:00
Enrico Fraccaroli (Galfurian) 290ed59d0b Try to fix compilation under MacOS 2023-11-30 13:28:09 -05:00
Enrico Fraccaroli (Galfurian) 3e51197ae4 Try to fix compilation under MacOS 2023-11-30 13:16:09 -05:00
Enrico Fraccaroli (Galfurian) 3d49f0abf6 Try to fix compilation under MacOS 2023-11-30 13:07:13 -05:00
Enrico Fraccaroli (Galfurian) 61e6954265 Use x86_64-elf-gcc under MacOS 2023-11-29 10:20:23 -05:00
Enrico Fraccaroli (Galfurian) 237bfcefb3 Use x86_64-elf-gcc under MacOS 2023-11-29 10:17:45 -05:00
Enrico Fraccaroli (Galfurian) bf59ccd0f4 Simplify debugging initialization, and allow vscode (Native Debug extension) to use .gdbinit. 2023-08-22 11:52:51 -04:00
Enrico Fraccaroli (Galfurian) d6c4dc3184 Add qemu disk flags to load ext2 drive first. 2023-06-29 13:17:37 -04:00
Enrico Fraccaroli (Galfurian) 6c36106666 Simplify program compilation. 2023-06-02 16:14:17 -04:00
Enrico Fraccaroli (Galfurian) dbaa4c51f8 Extend github worflow. 2023-01-26 14:42:44 -05:00
Enrico Fraccaroli 3c3bcd692f Update README with an explanation on how to run MentOs from GRUB in QEMU, and which packets must be installed in Ubuntu. 2023-01-18 13:31:10 -05:00
Enrico Fraccaroli 2a4822eca3 Try to compile with macosx 2023-01-12 11:57:16 -05:00
Enrico Fraccaroli 065e0dbf7c Try to compile with macosx 2023-01-12 11:52:40 -05:00
Enrico Fraccaroli e6162ba762 Use x86_64-elf- with macosx 2023-01-12 11:43:20 -05:00
Enrico Fraccaroli 48ac939566 Set block size of generated ext2 filesystem to 4096. 2022-12-19 11:56:22 +01:00
Enrico Fraccaroli 918b00e43d Force linker to be ld. 2022-12-13 16:47:08 -05:00
Enrico Fraccaroli 565df959b1 Simplify doxygen documentation building. 2022-12-12 22:38:07 -05:00
Enrico Fraccaroli b1f3169310 Align README and debugging procedure. 2022-12-08 13:20:17 -05:00
Enrico Fraccaroli 4d69a58225 [ext2] Fix how inodes_per_block_count are computed 2022-08-24 14:09:40 -04:00
Enrico Fraccaroli df8936cad0 Add clear error if the rootfs.img is missing 2022-08-24 09:27:12 -04:00
Enrico Fraccaroli 5c2b1dbebd Add clear error if the rootfs.img is missing 2022-08-24 09:26:42 -04:00
Enrico Fraccaroli (Galfurian) 4e07800428 Improve cmake option selection. Fix usage of CMAKE_C_FLAGS instead of CMAKE_CXX_FLAGS. 2022-07-07 14:57:32 -04:00
Enrico Fraccaroli (Galfurian) 41928ad25b Re-organize and comment the main cmake file, and test that all the targets are working properly (on ubuntu). 2022-07-07 12:08:22 -04:00
Enrico Fraccaroli (Galfurian) e53b0056d2 Add missing argument from qemu-gdb target. 2022-07-07 11:41:13 -04:00
Enrico Fraccaroli (Galfurian) 4e0c9d5cd5 Add proper make target for running the ISO version. 2022-07-07 11:33:52 -04:00
Enrico Fraccaroli (Galfurian) 7ef9fd2f2d Merge master into develop. 2022-07-07 11:11:46 -04:00
Enrico Fraccaroli (Galfurian) 334bf4a5eb Redefine cmake minimum requirements. 2022-07-06 14:13:33 -04:00
Enrico Fraccaroli (Galfurian) f70e7df1c5 Revert "Redefine cmake minimum requirements. Use DoxygenAwesome instead of defining custom html template."
This reverts commit a7ca9f90d6.
2022-07-06 14:06:26 -04:00
Enrico Fraccaroli (Galfurian) a7ca9f90d6 Redefine cmake minimum requirements. Use DoxygenAwesome instead of defining custom html template. 2022-07-06 11:23:01 -04:00
Peter Ross 144dfb1bab Add cdrom.iso target
This requires the GRUB `grub-mkrescue` command to be available.
2022-03-04 07:24:48 +11:00
Enrico Fraccaroli 81a0abed20 Fix permission checks in EXT2. 2021-12-29 13:16:02 +01:00
Enrico Fraccaroli f7b951cb72 Improve debugging code. Set login to override env variables. 2021-12-20 16:29:41 +01:00
Enrico Fraccaroli 5f59da0e13 Fix qemu-gdb target. 2021-12-20 15:56:48 +01:00
Enrico Fraccaroli 3013442c9d Update readme, update the cmake files. 2021-12-18 17:32:03 +01:00
Enrico Fraccaroli 151404d0d3 Automatically create the EXT2 filesystem without sudo. 2021-12-17 09:40:15 +01:00
Enrico Fraccaroli 4c8ce44426 Fix ATA read/write and test it. 2021-12-12 22:32:55 +01:00
Enrico Fraccaroli 9d8e700fc6 Make the shell where qemu is running in debug wait. 2021-12-11 16:51:46 +01:00
Enrico Fraccaroli 1df4d8748f Fix the gdb file generation. Add a message telling the user how to start debugging. 2021-12-11 16:48:32 +01:00
Enrico Fraccaroli 37465c2d2f Move doxygen sources to a separate folder. 2021-10-20 13:21:03 +02:00
Enrico Fraccaroli c9d7026293 Merge branch 'release/v0.4.0' 2021-10-14 18:01:02 +02:00
Enrico Fraccaroli b01eccca2e Update MentOs code to the latest development version. 2021-10-04 11:44:02 +02:00
Mirco De Marchi 0d8fa6c9cd Remove SDL in qemu command for ubuntu 19 and 20
Add compatibility for ubuntu lsb versions that haven't sdl support
2021-01-19 17:02:56 +01:00
Mirco De Marchi b47110b402 Improve compatibility for Ubuntu 18.04
Disable ASM_NASM language and take only ASM language with third_party nasm tool to avoid errors.
2021-01-19 15:43:53 +01:00
Mirco De Marchi f99b9f739c Add MacOS compatibility with cross-compiler toolchain 2021-01-19 10:42:42 +01:00
Luigi Capogrosso 7d9085fecf Finish v0.3.0 2019-05-08 17:07:11 +02:00