Commit Graph

40 Commits

Author SHA1 Message Date
Bananymous f792976d6d BuildSystem: Don't fill mount dir if mounting fails 2024-06-29 22:12:36 +03:00
Bananymous fd3cf5d2b1 BuildSystem: Allow running qemu without kvm
If you set QEMU_ACCEL to empty string, build system won't try to look
for kvm support.
2024-06-29 19:00:10 +03:00
Bananymous 9e1b5cbaab BuildSystem: Cleanup CMake code to allow libc only installation
There was no way to just install libc which is required for stdlibc++
2024-06-21 01:45:14 +03:00
Bananymous ad6d95ba52 BuildSystem: Rework the whole cmake build system
Now files are installed using the install() command instead of manually
copying files to their destinations. This allows automatic recompilation
of headers that did not work previously
2024-06-19 09:40:03 +03:00
Bananymous 7bb1a3906d BuildSystem: Run kvm-ok to determine kvm access 2024-06-10 16:10:05 +03:00
Bananymous 7db7cfe20f BuildSystem: Only use kvm if user has rw access 2024-05-24 11:09:04 +03:00
Bananymous af8fa4014f BuildSystem: Always download cmake instead of using host's
If cmake was installed from snap, build system would cause an error
because some libfakeroot GLIBC requirement.
2024-05-20 20:11:13 +03:00
Bananymous d255141bd4 BuildSystem: Cleanup image creation 2024-04-24 01:27:59 +03:00
Bananymous bd69cf599b Ports: Add doom port
This patch contains simple infrastructure for porting software for
banan-os. I added a doom as the first port. Doom needs a wad file
that you have to aquire yourself. I am not sure if I am allowed to
redistribute doom1.wad (shareware) version so I decided not to.
2024-04-03 19:20:15 +03:00
Bananymous b35cad0c2e Bootloader allow installation when BANAN_ARCH=i686 2024-04-02 12:48:35 +03:00
Bananymous 84ef2161a1 BuildSystem: Allow running qemu with i686 target 2024-03-26 03:18:54 +02:00
Bananymous c035d3c82c Kernel: Start all processors on kernel boot
Processors don't do anything, except print hello message and halt.
2024-03-03 02:19:43 +02:00
Bananymous 102aa50a41 BuildSystem: Use E1000E network controller in qemu 2024-02-03 02:40:15 +02:00
Bananymous dfe5a2d665 All: Cleanup all files
Add newline to end of files and remove whitespace from end of lines
2024-01-24 15:53:38 +02:00
Bananymous 54a92293da Kernel: Implement NVMe driver
I'm  actually able to boot this os fine on own laptop now!
2024-01-17 08:26:58 +01:00
Bananymous 8e31ab2de8 BuildSystem: clean target now deletes disk image 2024-01-11 13:27:02 +02:00
Bananymous ccaa159a73 Bootloader: Add support for ext2 blocks up to 4 KiB
This should work with blocks bigger than that, but my linux system
only supports up to 4 KiB, so I cannot test this.

This allows getting rid of forced block size in mkfs and let the
program select appropriately sized blocks.
2024-01-03 18:26:03 +02:00
Bananymous 9fafafb17e BuildSystem: Add instructions + fixes to build system
You can now easily build with clean ubuntu install
2023-12-28 21:37:18 +02:00
Bananymous 93a72ebd06 BuildSystem: Download cmake only if needed 2023-12-28 19:50:22 +02:00
Bananymous 5d83ab2289 BuildSystem: Download correct cmake if it is not available 2023-12-28 19:13:27 +02:00
Bananymous af80bad87a BuildSystem: Allow running custom version of cmake
You can now set the environment variable CMAKE_COMMAND to use custom
cmake version.
2023-12-27 13:01:11 +02:00
Bananymous 3939da4fb0 BuildSystem: Increase image size 50MiB -> 500 MiB 2023-12-26 15:01:12 +02:00
Bananymous 2f8759d2d3 Kernel: Make ext2 fs work with block sizes != 1024 2023-12-10 01:32:30 +02:00
Bananymous d08e876319 BuildSystem: Check value of BANAN_UEFI_BOOT with `if ((...)); then` 2023-11-21 11:53:50 +02:00
Bananymous f2a6f213dd BuildSystem: Add missing bootloader install script 2023-11-20 14:19:07 +02:00
Sinipelto 6624821f55 BuildSystem: image sh
mount in build dir

Signed-off-by: Sinipelto <sinipelto@noreply.bananymous.com>
2023-11-20 14:12:35 +02:00
Sinipelto 328acd894f BuildSystem: image create sh
use banan build dir

Signed-off-by: Sinipelto <sinipelto@noreply.bananymous.com>
2023-11-20 14:11:29 +02:00
Sinipelto 01b17eaadc Update script/image.sh
mount dir default value

Signed-off-by: Sinipelto <sinipelto@noreply.bananymous.com>
2023-11-20 13:28:53 +02:00
Sinipelto fd16d6802c Update script/image-create.sh
custom mount dir

Signed-off-by: Sinipelto <sinipelto@noreply.bananymous.com>
2023-11-20 13:28:10 +02:00
Sinipelto fed2738805 Update script/image.sh
handle custom mount dir

Signed-off-by: Sinipelto <sinipelto@noreply.bananymous.com>
2023-11-20 13:24:15 +02:00
Bananymous f8f7e2208f BuildSystem: Remove old bootloader target
And creating image now builds the bootloader
2023-11-20 00:56:06 +02:00
Bananymous 8630f71f0c Toolchain: Build full toolchain with one call to toolchain/build.sh 2023-11-20 00:56:06 +02:00
Bananymous 9e44e8be75 Buildsystem: default bootloader is not my custom one
You can set BANAN_BOOTLOADER=GRUB to use grub instead. Image creation
does not convert disk image now automatically between bootloaders and
calling ./bos image-full is now required.
2023-11-18 17:18:03 +02:00
Bananymous c791a1c200 Bootloader: Build with cmake instead of custom script 2023-11-14 03:44:47 +02:00
Bananymous d5aa08baa5 BuildSystem: add bootloader target
Use this target to run banan-os with custom bootloader
2023-11-12 01:50:30 +02:00
Bananymous 5362962d9a BuildSystem: add proper clean target 2023-11-12 01:14:42 +02:00
Bananymous f6c312a6b3 BuildSystem: using sysroot doesn't need root privileges anymore!
Sysroot is now created with fakeroot. This allows root access to be
only needed for disk image creation, since it uses loopback devices.
2023-11-04 17:50:43 +02:00
Bananymous 2d34b2b8a3 BuildSystem: Add bos short hand for building with zsh completions :) 2023-10-28 22:23:29 +03:00
Bananymous c71ac588b2 BuildSystem: Fix bugs in new build system
I had not tested the new build system with clean toolchain build
but it seems to work now.
2023-10-24 16:48:46 +03:00
Bananymous ce87e0a605 BuildSystem: Rewrite whole build system structure
Now you have to use script/build.sh for building and running banan-os
2023-10-24 11:56:00 +03:00