Questions and answers for new developers #347
Open
opened 2026-02-25 18:53:59 +00:00 by mxlgv
·
9 comments
No Branch/Tag Specified
main
kernel-tcp-connrefused-uaf
hdaudio-irq-polling
egor00f-patch-1
opendial-update
msgbox-update
rdsave-rewrite
krn_refactoring_curr_slot_idx_1
fat-fix-stack-imbalance
kernel-tcp-socket-buffer-128k
fix_602
kernel-tcp-socket-list-locking
network/getsockname
kernel-tcp-reassembly-queue
rewrite_ide_drv
libimg-png-8-bit
apps/table-msvc-to-tcc
netsurf-4
vidmode-s3ide-clgd54xx-kms-etc
updf-1.5
pr-fs-unhardcode
kbd-busoff
webview-4
workflow-fuse
add-license-file-header-to-guide
shell-improve-cpuid
qrcodegen
ci/update
laser-tank-fix-win-height
improvement/commit-and-branch-styles
docs/libs
0.7.7.0
0.7.5.0
0.7.0.0
0.6.5.0
0.6.3.0
0.6.0.0
0.5.3.0
0.5.2.1
Labels
Clear labels
Influence/Text/TYPO
AI
Eolite
FS
GSoC
Good First PR
HLL
HardwareTested
IRCC
Influence/Settings
Lang/C
Lang/FASM
Pay for the code
Subsystem/API
Subsystem/Audio
Subsystem/Graphics
Subsystem/IPC and events
Subsystem/Memory
Subsystem/Network
Subsystem/Services(daemon)
Subsystem/Taskmanager
Subsystem/VFS
Subsystem/Window
This issue or PR in the Google Source of Code program
The issue is suitable to beginners
Paid task
infinity service, audio drivers, midi, speacker, audio programs
vesa, vga, framebuffer, cursors, blitter, and video drivers
pipes, signals, events, shared memory
virt and phys memory allocators, malloc and other
userspace and kernel(for example: serial) services
process, threads, run apps, scheduler
drivers from filesystem, fs api, blkdev, programs that work with the file system
windows, skins, buttons, mouse and keyboard code for windows (not the base code)
Category
Applications
Category
Drivers
Category
General
Category
Kernel
Category
Libraries
Kind
Breaking
Breaking change that won't be backward compatible
Kind
Bug
Something is not working
Kind
Build
Kind
Documentation
Documentation changes
Kind
Enhancement
Improve existing functionality
Kind
Feature
New functionality
Kind
Security
This is security issue
Kind
Testing
Issue or pull request related to testing
PR
Ready to merge
Pull request is ready for merge
PR
Conflicts
PR conflicts with main
PR
Dependent
This PR is dependent on another PR
PR
Request changes
Changes requested in pull request
PR
Review required
Priority
Critical
1
The priority is critical
Priority
High
2
The priority is high
Priority
Medium
3
The priority is medium
Priority
Low
4
The priority is low
Reviewed
Confirmed
Issue has been confirmed
Reviewed
Duplicate
This issue or pull request already exists
Reviewed
Invalid
Invalid issue
Reviewed
Won't Fix
This issue won't be fixed
Status
Abandoned
Somebody has started to work on this but abandoned work
Status
Blocked
Something is blocking this issue or pull request
Status
Need More Info
Feedback is required to reproduce issue or to continue work
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: KolibriOS/kolibrios#347
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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.
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
@YVishere This is probably due to lack of disk space on our server. Unfortunately, we have few resources to maintain infrastructure
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.
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?
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).
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, 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 likeinclude "../../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/toolchaindirectory... but some further explanation would be very helpful. My development machines run both macOS and Linux.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.