Coder Social home page Coder Social logo

new-kot's Introduction

The New Kot

A 64-bit x86 operating system written in C/C++

C/C++ CI

Discord

Screenshots

Build it yourself

That's easy! Run make init to install all the required build tools and then run PACKAGE=all make build to start the building process. Right after, make run will start TNK in Qemu.

How to Use the Main Makefile

To effectively use the main Makefile in this project, follow these steps:

  1. Initialization: Before you can build, run, or perform any other actions, you need to initialize the project. Run the following command: make init

  2. Build a Specific Package:

To build a specific package, use the PACKAGE variable. For example, if you want to build the kernel, run: PACKAGE=kernel make build This command will also work to rebuild the specified package if necessary.

  1. Build All Packages:

To build all packages in the project, simply use the following command: PACKAGE=all make build This command will build all packages and also rebuild them if needed.

  1. Configure a Specific Package:

To configure a specific package, again use the PACKAGE variable. For instance, if you want to configure the kernel, run: PACKAGE=kernel make reconfigure This command will also work to reconfigure the specified package if necessary.

  1. Configure All Packages:

To configure all packages in the project, use the following command: PACKAGE=all make reconfigure This command will configure all packages and also reconfigure them if needed. By following these instructions, you can effectively use the main Makefile to build and configure packages in your project.

  1. Use USB key:

โš ๏ธ Kot is alpha software, use it at your own risk. To use a USB key with The New Kot, please note that this method requires a certain level of knowledge about the Linux system, as improper usage can potentially damage your system's data. To utilize this method, you need to set the BOOT_DEVICE variable with the correct USB device name. Here's an example of how to do it: BOOT_DEVICE=<device> PACKAGE=all make build Replace with the actual device name of your USB key, such as /dev/sdc. Be aware that using the USB key in this way will format it, erasing any existing data. Ensure that you have correctly identified the USB device name, as specifying the wrong device can result in data loss. This command will start The New Kot in Qemu using the specified USB key as the boot device.

  1. Use your PC:

**:warning: Kot is alpha software, use it at your own risk.**To use boot The New Kot on your PC, please note that this method requires a certain level of knowledge about the BIOS, as improper usage can potentially damage your system's data. First of all you have to run the command INSTALL=true PACKAGE=all make build, and then you can reboot your PC. Then enter into your BIOS and select EFI/limine/BOOTX64.EFI as a boot file.

new-kot's People

Contributors

0xs3b avatar konect-v avatar raphproductions avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

new-kot's Issues

Switching OS Language to English for mlibc Build Compatibility

Context:
Currently, the operating system is configured to run in a language other than English. However, this configuration can lead to issues during the building process of the C library (mlibc) due to language-specific dependencies.

Problem:
While compiling mlibc, it has been observed that certain parts of the code seem to rely on the system's language. This can result in errors and incompatibilities, especially when the OS is set to a language other than English.

Proposal:
I suggest configuring the OS to use English as the default language (if not already set), or using English locale settings during the mlibc build process. This should help mitigate issues related to language dependencies.

Steps to Reproduce the Issue:

  1. Configure the OS to use a language other than English (e.g., French).
  2. Attempt to compile mlibc following the standard steps.
  3. Observe errors or warnings related to the system's language.

Expected Results:
When the OS is configured in English or with English locale settings, the compilation of mlibc should proceed without issues.

Additional Information:

  • OS Version: [Specify the OS version you're using]
  • mlibc Version: [Specify the version of mlibc you are trying to build]
  • Other Relevant Information: [Include any other pertinent information]

I am willing to assist in resolving this issue and provide further information if needed. Thank you for considering this suggestion to enhance mlibc compatibility with different operating systems.

Kernel panic caused by having more than 1 drive/img after starting to load AHCI module. (wait nvm ignore)

what the hell just happened

When beginning to load the AHCI module, if there's more than one drive (already tested 2 and 3 drives with QEMU) connected, it would panic with this message :

[kernel] pnc: Assertion failed: load_parititons(device_partitions) == 0, file ../../source/interface.c, function add_storage_device, line 16

how to reproduce this ?

literally add one or more img to the qemu command line option thing i don't know.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.