Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
KolibriOS (kolibrios.org)
355 points by luke2m on May 22, 2021 | hide | past | favorite | 134 comments


This is a fork of MenuetOS [0]. The author of MenuetOS (Ville M. Turjanmaa) does not appear thrilled about the fork and has put the 64bit version under a proprietary license [1].

This is not criticism, just a statement.

[0] https://en.wikipedia.org/wiki/MenuetOS [1] http://board.flatassembler.net/topic.php?p=216272#216272


> Well, they took the code and in a couple of weeks also added their own copyrights to the beginning of all kernel files, booting, multitasking, GUI, networking, drivers, all. I'm not planning to find out if it would happen again.

> Currently Menuet is the only OS written 100% in assembly with modern feature-set and it took us some time to realize this goal. This is also an easily identifiable place in the computing world.

> And like always, if somebody wants to be part of Menuet development, then just send me a message.


According to KolibriOS' site the fork happened in 2004 so it isn't like some recent move where they got the source, added the copyright and then presented everything as own work. This is mentioned in the first page of the site too.


So they released the code open source and then were mad about someone using the source?


Depending on the license (caveat: I've not checked) the issue isn't the source being used it is the apparent attempt to claim copyright of the code the fourth is derived from (slapping their copyright messages in, with little/no indication that their contribution is only a small part of the work).

Even if the original license doesn't block this, it is still a bit of a dick move IMO.


Based on a face-value reading of the text above, it paints it as copyright violation.

That doesn't imply it's [entirely] true, but it certainly warrants some analysis. It's not clear what exactly happened without digging. As of today, one of the core files (`kernel.asm`[¹]) is clear about licensing, but the history may have been "not straightforward".

¹=http://websvn.kolibrios.org/filedetails.php?repname=Kolibri+...


KolibriOS is an open-source Operating System for x86 (32-bit, 586-class and above). It is entirely written in assembly (assembled with FASM). It requires only 8MB of RAM to boot. It has a TCP/IP stack and USB support. It has a graphical user interface which is actually on par with most of the "lightweight" Linux window managers, such as LXDE (but I think LXDE is probably larger than this entire OS lol). It fits on a single floppy.


I remember when I could (and did) run Linux on a 486 with 8MB of RAM and 200MB of HD. Ran X11, fvwm, emacs, Netscape. It used to be possible. These things were done in the 90s :-)


fvwm is still updated, and it still consumes very few resources. Apart from Netscape, nothing is stopping you from recreating that experience, heh.


For anyone interested in trying, remember to cut down your kernel. The default kernel on my (64 bit, granted) laptop is 12MB, compressed, without any modules.

NetBSD is a bit easier to run on 8MB systems these days. Still not super easy, but less fat to trim off. I think you might still need to trim down the default kernel, but at least there is a premade config for that (GENERIC_TINY)

If you're daring, it should work on 4 MB machines... ;)


> remember to cut down your kernel.

yes, my Linux kernel is 3.4M, bz2 compressed. Unfortunately, some things are no more possible to get removed from the kernel, like the xattr in ext4.


How big will the kernel be in a distro like Ubuntu with all the modules?


The modern NetBSD kernel is is over 30MB and around 10 to 13 MB compressed in size on i386 and x86_64. So idk were you are getting its going to run in 8MB of memory without major swap slowdowns if it boots at all.


That's why I said you'd probably need to use a GENERIC_TINY kernel, which is "supposed" to work on 4MB systems.

Now, it's entirely possible that even with this minimal config it'll take up too much space, but it may work. I got NetBSD 8 to run on a VAX with 8MB of RAM, although that kernel has many fewer drivers/modules.


Dillo still exists, if you want a fast, lightweight browser with only vaguely 90s rendering capabilities.


8 MB (and constantly swapping)


Generally Not Used Except by Middle Aged Computer Scientists.


Indeed, my first desktop with GNU/Linux (Slackware 2.0) run on a similar configuration, just with one of the first Pentiums.


That exact setup, except s/emacs/vim, was my setup starting in 1996. Wow, 25 years ago.


I think even 4MB was possible back then


I got my start on Linux with a 386 that had 4mb of ram, but it did not run X11.


I often wished they would put a little os like this as firmware and boot menu.


Does it have any games ?



This looks really cool. The screenshot is awesome. Though I'm a bit put off by the giant Facebook logo on the homepage. I find it odd for an OS like this to organize their community on Facebook.


Sadly it's becoming more the norm to rely on other services for social interaction. The last company I worked for completely ditched forums in favor of Facebook groups for community support.


This happens a lot, but I've recently worked with a couple of clients who are trying to own the communities they built after migrating to Facebook because "that's where everybody is".

Turns out FB is capricious and has no problem pulling the rug out from under those companies and the communities they foster on Facebook without notice or recourse. Pages and groups with hundreds of thousands of followers can be wiped off FB and there's nothing your business can do about it.

If I were in their shoes, I'd just use FB as a funnel to an online property that I own and control.


Yeah even open-source projects, like HomeAssistant moved to discord :(

Matrix would be a much better choice IMO.


Just tried it with the hopes it's not just another FOSS alternative to <popular app> that gets touted everywhere as 'better', but is very clearly worse in every way.

It's worse in every way. It's not even close to something as polished as Discord.

1. "Open in browser" is a good start, but then the registration process is downright painful. Discord doesn't require you to register at all to try it out, just to pick a nickname, it's vastly better for onboarding.

2. Requires unique nicknames. A chat app with unique nicks? this has to be a joke right?

3. As usual with FOSS, the worst part is the UI/UX. The whole design is extremely confusing. At first glance it appears the app only supports 'rooms'. But it seems that there are 'communities' and 'spaces' too? I have no idea what's going on. Discord just has servers with channels and private messages and it's all clearly indicated in the UI.

Listen, I do want to use open and free alternatives if possible. But let's be realistic and stop pretending that something like Matrix is anywhere near Discord. A more reasonable alternative would be Zulip.


I see this comment on so many different threads about so many different organizations who choose something other than Matrix. Matrix is clearly not a much better choice for most orgs, or more orgs would use it. That many FOSS orgs don't suggests that even people who believe in free software don't all see Matrix as a viable alternative to commercial solutions. Nebulously insisting that Matrix is "better" (without any specifics) doesn't help address the problems that drive people away.


“Better” and “more often used” are not definitionally equivalent.


But they do have forum which seems fairly active I don't see why they need to have Facebook. I am guessing it will have pretty niche crowd which probably don't frequents to fb.

http://board.kolibrios.org/


The giant Facebook logo is probably from a time when Facebook was regarded with less suspicion than it is today. But if you want to avoid Facebook, you can use their good ol' phpBB forum. If you look at it more closely, the site is really a time capsule: forum powered by phpBB, documentation on MediaWiki, source code hosted on WebSVN, bug tracking powered by Mantis...


I can understand. The maintainers might want to focus on maintaining their project, not the social network infrastructure for their community.


Matrix.org


It seems from the past somehow.


The code is in svn. I think it's all relative.


No it's in assembler.


I mean SVN for the code repository vs a more modern alternative eg git, mercurial, fossil… I don’t know of an SVN language??

Not hating on SVN, just think the “why aren’t they using a more modern/superior X” should be taken in that context.


Whats the problem with old technology? Linux is quite old and Unix even older.

>why aren’t they using a more modern/superior X

Because no one cares if it's not superior for that case.


I'm very confused by this conversation. I am agreeing with you.

The line you quoted, I had in quotation marks because it was essentially the question of the parent thread, not because it was my stance.

"That context" meant that they started with tools like SVN for version control, and Facebook for their community. They were 'current' at the time and they probably haven't seen a reason to switch.

I have no problem with this. I use many tools people find uncool or outdated. I still use RCS in places and like it better for those particular use cases (eg Bind DNS zone files), where things like file locking and versioning files vs codebases are features and not detriments. I have shell scripts I've carried around for 10-15 years to support it (ironically kept in git now), and I don't feel like reengineering for a git/ci workflow to get back to feature parity.

You should look into the history of RCS->CVS->SVN (and revision control systems in general) to understand the nuances there.


>Not hating on SVN, just think the “why aren’t they using a more modern/superior X” should be taken in that context.

Take it into context? If there is no befit why waste your energy?

>You should look into the history of RCS->CVS->SVN (and revision control systems in general) to understand the nuances there.

I don't know what you want to say. Newer is better? Distributed is the only way to go? Mongo better then sqlite?

It's a source control system, and if it matches your organization good, if not change it.


They could be using github or gitlab for their source code repository and then use gitter.im for the community perhaps.


Gitter.im is a poor substitute for IRC, imo.


Gitter is on Matrix now, which is a great substitute for IRC.


There is no better way to get engagement than Facebook these days. People don’t sign into forums on websites like they once did,


People are downvoting this, maybe because of the fact-of-the-matter'ness, but I think this is probably true, coming from someone who despises Facebook. Especially for certain age-groups, Facebook is one of the few social networks you can assume people have logins on, and (maybe especially) niche communities need to lessen friction to get people involved.

I don't know, I've never tried to create a public forum for this kind of thing, but I'd bet you'd get more activity out of facebook than some bespoke web forum or IRC/Matrix/what have you.


Yes, it was engineered to be this way intentionally, through unregulated competition rules and systematic killing of any open alternative by way of massive pumping of capital.

We live in a disgusting scenario, we're held hostage by a racket.


I see a lot of people moving away from Facebook here in Europe though. Maybe not in the US.. But about half of my friends were either never on FB or left it recently. The other half are still there. Mainly the older people in fact. The younger ones are on other stuff (like Instagram which is of course also facebook I guess)

But I don't see it as viable as a sole outreach platform for that reason.


A lot of my friends are still there but using it much much less. Has happened over the past few years. It has kept up during our plague which I didn't expect. I figured it would pick up a bit with more people being indoors and not traveling as much. I think it's rotting from the inside out. I know accounts are one metric, but how is traffic doing?


I don't most people under 30 in the US use facebook unless they have to for something. Boomers, on the other hand...


People don't sign into FB just for this.


off topic: this anti facebook stance by some people here on HN is getting ridiculous.. sad this is a comment here that apparently gets upvotes. I would say that if you do not care about Kolibri os just don't comment..


It's just not a great fit for an open source project IMO. They go to all this trouble to build something noncommercial without tracking, and then start requiring a commercial tracking platform to collaborate?

In fact one of the reasons I use HN so much is because it's not doing any of that. And because I can choose what I read (rather than Facebook's algorithms deciding what appears on my timeline). I'm sure many people come here for that reason. This'll be a reason for the many anti-facebook sentiments. Because those sentiments are one of the reasons to come here :)


I wish the authors started a crowfunding campaign to port it to ARM. It would be a huge effort for sure (it's asm, ie rewrite just about everything from scratch) but it would pay a lot in the long run. I mean, it can be already spectacular on a mini PC, now imagine it running at these speeds on a 5x5cm $15 256MB RAM Allwinner H3, or any other similar specced, board where a Linux desktop would struggle to be useable after eating all resources. It would become an instant hit for providing ultra small systems with a fast and tight environment in which write network tools, dash boards for electronics projects with scriptable GUI primitives, etc.


Or rewrite most of it into small, quick C (or similar) - so it could be ported to other architectures easily. Overall size would be the major factor in speed and memory efficiency - rather than coding language.


Fun fact, the earliest versions of UNIX were, in fact, written in assembler, and rewritten piecewise into the bootstrapped "C" language, partially for portability (and sanity's) sake.


And then port it to RiscV too ;)


> a free open-source operating system written entirely in Assembly. The operating system weighs only about 3MB and will boot in less than 3 seconds even inside a virtual machine.

And it really is less than 3 seconds straight to desktop UI and ready to use immediately, incredible.


I have a laptop with NVMe on which if I setup Win10 to boot without password prompt and no BIOS test, I can have a working desktop from cold start under 2 seconds. I actually hate that kind of speed since if I want to change something in BIOS / have different startup (like OS recovery prompt for example) my F2 / Del / F8 pressing has a lot of misses.

Nowadays startup under 10 seconds is more of a hinder than a gain. My 2 cents


It is not a cold start. Actually, the fast start feature of Windows 10 allowed this feat. But in essential, it is just restoring a working session to the RAM.


True, the only way to make a "Cold" start in Win10 is a reboot, Shutdown is a "simulated" hibernation.


Yeah, it's cold start. I think I know my laptop better than you


You oblivious don't know your Operating-system.


Oh, please, teach me master </s>

And it's "obvious", or more correct in the context "obviously"


Shutdown and Start are NOT a Cold boot in Windows 10. There you got it young padawan.


Muhahaha, best joke of this week. You're funny, stupid, but funny. I like you :), because of people like you I get to earn big buck by straightening their fuck-up on projects. Please, stay like this, never change.


IIRC, you can use a PowerShell incantation to reboot to UEFI setup. So it's not ideal, but nevertheless manageable. Most Linux bootloaders also have this feature.


How fast is it if you disable fast startup (which is essentially hybernation)?


Still under 5 seconds, and still I don't want it that fast. That was my whole point


How long your computer waits on the BIOS screen is independent of the OS boot time, and can be set in the BIOS if you need it to be longer.


You're missing the point here. From cold boot to either desktop or password prompt I do not want that time to be less than 10 seconds. Hence why I have to hinder it by extending the BIOS by enabling all checks AND I make my Windows show me the entire list of drives it loads.


why do you want long boot times?


So I can have time to press F2 / Del / F8 (go to BIOS / go to OS boot options) and not miss because the window is too narrow.


As I said, how long your computer waits on the BIOS screen to wait for a keypress is independent of the OS boot time, and can be set in the BIOS if you need it to be longer. Booting the OS happens after waiting for DEL, and are independent events, one has nothing to do with the other.


Start playing ball games it will greatly increase your reaction time ;)


Kolibrios does this from a floppy or usb drive, not a NVMe.


How does one program something like this directly in assembly?

Do you use an IDE that makes things easier?

I remember doing very simple programs in asm during college, but it wasn't anywhere near this complex.

Any resources or articles that touch on this topic would be appreciated!



Thanks!

I'll check it out


Try learnasm.net, or the chibiakumas youtube channel.

They also released an (affordable!) book recently, covering several architectures.


People used to program big projects in assembly with no fancy IDE all the time. It's largely a matter of structure and organizational practices. A good macro assembler can go a long way.


That fancy IDE was called Turbo Assembler and DevPac.


Assembly is a skill learned through practice, much like any other language.


Check the project’s wiki. There are several examples there.


Love it, even has a web browser!

https://board.kolibrios.org/viewtopic.php?f=40&t=2315

Finally, some simple, lightweight, non-patronizing software. Definitively going to try it out soon.


Looks like it is using Netsurf Browser (http://www.netsurf-browser.org).


Nice! This might make this viable for thin client applications.

Has anyone tried this?


I believe there's a VNC client as well.



Will always upvote this whenever it pops up on HN. Bless this OS project and sincerely hope it gets the recognition it deserves. Have it installed on an Acer Aspire netbook and it just feels right! super snappy and everything mostly works.

Its my new BeOS5 :)


Have you tried Haiku?


for sure!


Cool stuff. I Love the tiny OS paradigm since i first tried puppy Linux back in 06 (?). It is super fun what you can achieve with a trimmed to the basics desktop OS. I will give it a shot sometime soon.


For those who don't want to try it, here's the boot time. - https://youtu.be/j2KKkyBIXfA


Or you can try it online: https://copy.sh/v86/?profile=kolibrios


Reminds me a bit of PC GEOS / GeoWorks Ensemble / Breadbox Ensemble from the 90s.


GEOS etc. was amazing to me when I first used it as a child — it seemed like what computing should be. I don't remember what it was like in detail, but I remember the way I felt about it then.


Interesting to see how developers are making old hardware very useful.

This will make huge impact on people who can’t afford high end devices


They should implement a WASM container.


Need to know more about the web browser.


It seems like it would be really hard to be productive developing large projects in Assembly. Adding features/bug and security fixes seems like they would be very time consuming. What are the advantages of going this low level vs C or similar?


Speed

Mental challenge


Of which only the mental challenge is a given. Higher language compilers are steadily (still, after all those years) improving with no end in sight. Are your assembly programming skills? Are you rewriting old code with recently learned tricks? And once a superoptimizer is used, it's game over for hand assembly.


I mean, sure, but probably most programs we use these days are written in Javascript/DOM and gratuitously interface with remote systems. It demonstrably isn't difficult to write decent assembly that is faster than the naive RESTful APIs called by Javascript that makes our 8 core 2-5 GHz computers feel slower than a wet week. A system written entirely in assembly is probably going to be significantly faster than a modern general purpose computer, but it probably won't be running checking your work webmail any time soon.


Someone needs to write those tools, why do you think sites like https://godbolt.org/ exist?


Unfortunately modern computing requires Chrome, which runs comfortably in 32GB.


Lots of talk about speed and size, has anyone noticed any cool aspects of the UI or basic OS metaphors? It looks pretty conventional to me, but in a little project sometimes fun ideas get put in places you wouldn't notice...

(Really I'd like to see something with the same kind of weird and divergent ideas as TempleOS but in a more accessible package)


> Have you ever dreamed of a system that boots in less than few seconds from power-on to working GUI?

You mean every OS these days with a SSD?


Working on update: 100% complete. Don’t turn off your PC. This will take a while. Your PC will restart several times. All your files are exactly where you left them ;)


Windows drives me mad with this stuff any time I have to use it.

I'm baffled by people still claiming "desktop Linux hasn't arrived" when they put up with this shit.


Except literally today I wanted to do a quick reboot of Ubuntu and I was stuck staring at "unattended-upgrade in progress during shutdown, please don't turn off the computer" for 30 minutes with no warning nor any indication of how long it would take. That managed to be far more infuriating than windows ever has with all of its update shenanigans.


Why would you enable unattended upgrades on a desktop computer (as opposed to a server)? Is this something Ubuntu enforces?

If you don't enable this feature (which isn't enabled by default in Debian) you won't have this problem.


It was enabled by default in the standard desktop install (I didn't really customize anything I'm not a heavy user of desktop Linux). Of course I'll be disabling it next time I boot that partition. Point being Linux isn't immune to this type of annoyance.


As far as I know it is only Ubuntu that does anything similar.


Probably to deal with corruption from people applying library updates and not restarting their programs because they keep running fine in memory. I have no idea how many bug reports could be ascribed to this, but if we want a user-friendly Linux we have to put up with the safer update process. It's not lengthy at all, wait less than one minute and you're set.


NixOS and GuixSD aren't user friendly because the people who use them are like GNU/Linux users circa 2000: people insane enough to install an operating system that is very particular about who its friends are.

But they do have an excellent solution to the whole updates debacle: Install them in a separate location, initialise them when booting or when they're finished installing, and delete them when they're inaccessible from a few standard locations like /boot or /proc.


I haven't ever run into that in 8 years of running a various GNU/Linux distros (MeeGo, Elementary OS, Maemo, Sailfish OS, Debian)... though I've never run Ubuntu.


Though I’ve never run the most popular by an order of magnitude distro out there…


This also happens in fedora when applying updates through the gnome-software-center.


Let’s be honest, both gnome’s and kde’s software centers are jokes. I don’t understand why, is there no interest because everyone installs things from a command line? It doesn’t seem to be such a hard problem.


> I'm baffled by people still claiming "desktop Linux hasn't arrived" when they put up with this shit.

I'm sorry, you say that as though Linux Desktop doesn't have a giant pile of its own shit to put up with. Windows definitely isn't perfect, but I'll still take its shit any day over Linux Desktop's.


Windows boots pretty fast. MacOS and iOS are dog slow and take well over a minute (dunno about M1).


iOS: booting iOS is pretty much moot since this is in fact for devices that remain on most of the time for weeks until the next upgrade.


Same with macOS for that matter. Still, it’s curious that Apple is quite behind other OSes concerning boot time. I almost never restart windows either, but when I need to (usually because waking up is still a hit or miss) it’s super fast.


At least if said OS is Solus or maybe Arch Linux, Clear Linux. These in particular can be crazy fast and literally boots in maybe three secs or so.


Assuming 'less than a few seconds' is actually accurate, that's not quite the case - I dual boot with a NVMe and SATA SSD, and even the NVMe (running Void Linux with runit) still takes about 30 seconds to power on. Absolutely 'fast enough' and not really something I think is worth the effort to lessen, but still not less than a few seconds.


That seems very extreme. My Arch install on an M.2 SSD boots to terminal in about 3 seconds, and X starts in about a second. The BIOS delay is roughly 5 seconds or so. Granted it's a fairly minimal install, but that shouldn't cause an order of magnitude difference.

I don't think runit has an equivalent for `systemd-analyze blame`, but something is probably slowing things down by a lot.


I would not put up with anything more than 10-15 seconds on my stock (but not bloated) Arch with Systemd and a cheap SSD.


I wonder what's going on.

My firewall is an AMD 5130 (pre Zen) with 4 GB RAM and a SATA SSD, running Debian stable with sysvinit. It reboots in less than 30 seconds, which means that most of the time TCP sessions passing through it stay up.


How much RAM do you have installed? That can significantly affect your boot time.


Maybe try systemd, the boot times are legitimately quicker.


So the OS doesn't have a login username/password? Seems like a non-starter for most. I'm using full-disk encryption on Linux using systemd-boot and my OS boots pretty much as fast as this too.


Well my dad could beat up your dad.

(Enjoy this for what it is)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: