Questions and answers for new developers #347

Open
opened 2026-02-25 18:53:59 +00:00 by mxlgv · 9 comments
Owner

So far we do not have a detailed guide on contributing (maybe we never will...). In this article I suggest asking and answering questions for those new to KolibriOS development.

So far we do not have a detailed guide on contributing (maybe we never will...). In this article I suggest asking and answering questions for those new to KolibriOS development.
Burer pinned this 2026-02-25 19:59:16 +00:00
Contributor

What could be a possible issue for the build autocheck to fail due to disk full? I only added 2 debug/info statements in my code and I am still failing the check.

Attached a part of the error message as a text file for reference because it is fairly long

What could be a possible issue for the build autocheck to fail due to disk full? I only added 2 debug/info statements in my code and I am still failing the check. Attached a part of the error message as a text file for reference because it is fairly long
Author
Owner

@YVishere This is probably due to lack of disk space on our server. Unfortunately, we have few resources to maintain infrastructure

@YVishere This is probably due to lack of disk space on our server. Unfortunately, we have few resources to maintain infrastructure
Contributor

It's difficult to add a program to the main branch. When I merge the branch because the main one has changed due to a merge of another project, the positive commits turn gray and you have to wait for a new commit. Do you have a folder somewhere to upload finished binary program files? If anyone wants them, they can download them.

It's difficult to add a program to the main branch. When I merge the branch because the main one has changed due to a merge of another project, the positive commits turn gray and you have to wait for a new commit. Do you have a folder somewhere to upload finished binary program files? If anyone wants them, they can download them.
Contributor

What's the goal of this project? Are you insisting on a small file size, or is it always supposed to fit on a 1.44MB floppy disk? Are there no larger programs like OpenOffice because they won't fit?

What's the goal of this project? Are you insisting on a small file size, or is it always supposed to fit on a 1.44MB floppy disk? Are there no larger programs like OpenOffice because they won't fit?
Owner

Do you have a folder somewhere to upload finished binary program files? If anyone wants them, they can download them.

You can create separate repo and publish program binary there, as release, or just as commited file.
Currently, there is no any kind of app store or sowtware database for KolibriOS (but there are some plans for it).

What's the goal of this project?

First of all, it's just for fun. Secondary, yes, to fit fully pledged OS in 1.44 MB floppy. But we also have ISO releases with all heavy programs included. There are no programs like OpenOffice cause they will be very hard to port, as KolibriOS missing many relevant features, and is not fully POSIX compatible.

> Do you have a folder somewhere to upload finished binary program files? If anyone wants them, they can download them. You can create separate repo and publish program binary there, as release, or just as commited file. Currently, there is no any kind of app store or sowtware database for KolibriOS (but there are some plans for it). > What's the goal of this project? First of all, it's just for fun. Secondary, yes, to fit fully pledged OS in 1.44 MB floppy. But we also have ISO releases with all heavy programs included. There are no programs like OpenOffice cause they will be very hard to port, as KolibriOS missing many relevant features, and is not fully POSIX compatible.

Hi,

From the Kolibri OS desktop, and calling on FASM, what is the best practice for building an .asm file containing include directives? On /rd0/1/ or /hd0/1, for example, should the entire KolibriOS/kolibrios repository on Gitea be cloned to ensure that all dependencies are present?

I am not talking here about building the entire project, but merely about iteratively building modified versions of the RTL8169.asm driver alone, as progress is made on bug report #432.

Attached is the message from the FLAT assembler, which has prompted me to seek advice. 👀Thank you for your guidance.

Hi, From the Kolibri OS desktop, and calling on FASM, what is the best practice for building an .asm file containing include directives? On `/rd0/1/` or `/hd0/1`, for example, should the entire [KolibriOS/kolibrios](https://git.kolibrios.org/KolibriOS/kolibrios) repository on Gitea be cloned to ensure that all dependencies are present? I am not talking here about building the entire project, but merely about iteratively building modified versions of the RTL8169.asm driver alone, as progress is made on bug report #432. Attached is the message from the FLAT assembler, which has prompted me to seek advice. 👀Thank you for your guidance.
Owner

What is the best practice for building an .asm file containing include directives?

Hi, and sorry for the late reply, @Golffies.

In my personal experience, it doesn't really matter where to put them in KOS.
And you don't need the full repo for this.

What I usually do - download only source code and include files that are needed for my project, and put them inside KOS in such a way that actual include paths in code (e.g., include "../../proc32.inc") would be the same, as they would be when I put finished source code back in the repo folder to commit it.

E.g., if the program is programs\other\calcplus\calcplus.asm, then in the repo it has include paths like include "../../proc32.inc".
Thus, I would put all needed source code it some folder, and all needed includes - two levels higher in file tree.
Thus, I don't need to change the include paths each time I want to commit my local changes to the repo, and everything compiles properly both locally in KOS and in the repo autobuild.

> What is the best practice for building an .asm file containing include directives? Hi, and sorry for the late reply, @Golffies. In my personal experience, it doesn't really matter where to put them in KOS. And you don't need the full repo for this. What I usually do - download only source code and include files that are needed for my project, and put them inside KOS in such a way that actual include paths in code (e.g., `include "../../proc32.inc"`) would be the same, as they would be when I put finished source code back in the repo folder to commit it. E.g., if the program is `programs\other\calcplus\calcplus.asm`, then in the repo it has include paths like `include "../../proc32.inc"`. Thus, I would put all needed source code it some folder, and all needed includes - two levels higher in file tree. Thus, I don't need to change the include paths each time I want to commit my local changes to the repo, and everything compiles properly both locally in KOS and in the repo autobuild.

Thank you @Burer.

As regards the development of applications written in C, forum posts state that the standard library has been ported to Kolibri. That doesn’t include the GNU libraries, does it?

How do I cross-compile a PE32 executable for Kolibri? There is a contrib/toolchain directory... but some further explanation would be very helpful. My development machines run both macOS and Linux.

Thank you @Burer. As regards the development of applications written in C, forum posts state that the standard library has been ported to Kolibri. That doesn’t include the GNU libraries, does it? How do I cross-compile a PE32 executable for Kolibri? There is a `contrib/toolchain` directory... but some further explanation would be very helpful. My development machines run both macOS and Linux.
Owner

Hi, @Golffies

Not sure about GNU libraries.

To cross-compile app for KolibriOS, you can check my guide for compiling this ported game:
https://git.kolibrios.org/Burer/m4kc

For other apps algorithms is +- the same: get toolchain, get SDK, get all needed libs, build.

From my expirience most tricky parts are to set up toolchain + SDK properly, as it can vary for different distros, and to tweak actual app code to work properly in KOS.

Hi, @Golffies Not sure about GNU libraries. To cross-compile app for KolibriOS, you can check my guide for compiling this ported game: https://git.kolibrios.org/Burer/m4kc For other apps algorithms is +- the same: get toolchain, get SDK, get all needed libs, build. From my expirience most tricky parts are to set up toolchain + SDK properly, as it can vary for different distros, and to tweak actual app code to work properly in KOS.
Sign in to join this conversation.
5 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KolibriOS/kolibrios#347