Not stable code / tools on wiki

All about the OSDev Wiki. Discussions about the organization and general structure of articles and how to use the wiki. Request changes here if you don't know how to use the wiki.
Post Reply
nexos
Member
Member
Posts: 1078
Joined: Tue Feb 18, 2020 3:29 pm
Libera.chat IRC: nexos

Not stable code / tools on wiki

Post by nexos »

Hello,
I have been looking through the wiki, and noticed a trend where people slap up some code and leave it for others to debug. There have been countless higher half kernel threads, presumably because the existing the tutorial just does it wrong. The Rapsberry Pi tutorial had a blatantly obvious error (maybe it was a copytrap. Who knows?) I think it should be known that all code that gets put on the wiki should get tested beforehand. We are trying to make this friendly for new OSDevers :) The other concern I've had is people promoting their unstable projects on the wiki, recommending that people use them. I have seen some month old and year old projects be promoted on the wiki. In the system level world, even if something works on QEMU, Bochs, and your machines, it probably doesn't work on 40% of real machines out there. Hence, potentially unstable things should not get put on the wiki IMO.
This is just a trend I've seen recently that I think should be known about.
nexos
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg
User avatar
iansjack
Member
Member
Posts: 4683
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: Not stable code / tools on wiki

Post by iansjack »

Are you volunteering to check code?
nexos
Member
Member
Posts: 1078
Joined: Tue Feb 18, 2020 3:29 pm
Libera.chat IRC: nexos

Re: Not stable code / tools on wiki

Post by nexos »

iansjack wrote:Are you volunteering to check code?
I mean, if it would make the wiki a better place, once I get my build system set up, I certainly would check some code that would get used very often (like the Higher Half bare bones).
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg
User avatar
bzt
Member
Member
Posts: 1584
Joined: Thu Oct 13, 2016 4:55 pm
Contact:

Re: Not stable code / tools on wiki

Post by bzt »

nexos wrote:Hello,
I have been looking through the wiki, and noticed a trend where people slap up some code and leave it for others to debug. There have been countless higher half kernel threads, presumably because the existing the tutorial just does it wrong.
Could be.
nexos wrote:The Rapsberry Pi tutorial had a blatantly obvious error (maybe it was a copytrap. Who knows?)
If I recall correctly, I have been distracted by my little boy when I was writing that page, sorry about that. Wasn't bad for copytrap either BTW ;-) As far as I know the Raspberry Pi Bare Bones page has been fixed several months ago, but if by any chance not, let me know.
nexos wrote:I think it should be known that all code that gets put on the wiki should get tested beforehand.
As @iansjack said, if you volunteer for that, you'll get all the help from us. It's a noble and quite a big task to test EVERYTHING on the wiki.
nexos wrote:The other concern I've had is people promoting their unstable projects on the wiki, recommending that people use them.
Agreed. I had the same concern about Limine, and removed it (causing a little fiasco because people didn't understand that unstable projects has no place on the wiki). I'm glad to see that it finally had a stable release and was put back on the wiki, however I still have concerns about how well tested it is.
nexos wrote:I have seen some month old and year old projects be promoted on the wiki.
Agreed. For example I had issues with getting the tools for C#, because it lead to a dead link. (If I remember correctly has been fixed since, but still not sure if that old tool works with the latest toolchains. Maybe someone developing on Win can confirm that.)
nexos wrote:In the system level world, even if something works on QEMU, Bochs, and your machines, it probably doesn't work on 40% of real machines out there. Hence, potentially unstable things should not get put on the wiki IMO.
I share your concern. I've spent years with a lot help from many many contributors to get BOOTBOOT tested on as many real machines as possible. I'd say this was a much bigger task than to write the loader itself, and I take the opportunity to say thanks to all contributors and testers here too. I'm still not convinced that Limine or BootProg for example has that kind of test coverage, but I better not edit their wiki pages because people wouldn't understand why I did it (not everybody share our concerns, keep that in mind). That being said I think they deserve a place on the wiki, we shouldn't remove them just because we're not sure how much testing their creators put in them, but we should distinguish untested software from tested ones somehow.

Cheers,
bzt
nexos
Member
Member
Posts: 1078
Joined: Tue Feb 18, 2020 3:29 pm
Libera.chat IRC: nexos

Re: Not stable code / tools on wiki

Post by nexos »

bzt wrote: I'm still not convinced that Limine or BootProg for example has that kind of test coverage
Well, Limine actually worked on all my machines! I have to say, the team over there has done a great job. Give it a few more tests, and I'd be all for promoting it on the wiki! BOOTBOOT, I haven't tested it yet, I probably will soon. BOOTBOOT has been around for awhile, so it has enough tests to be stable, IMO.
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg
nexos
Member
Member
Posts: 1078
Joined: Tue Feb 18, 2020 3:29 pm
Libera.chat IRC: nexos

Re: Not stable code / tools on wiki

Post by nexos »

I just tested the x86 Higher Half Barebones, and there was a problem in it. I was getting an error from GRUB stating "entry point isn't in a segment". I set the early text and data section to be allocatable, and that fixed it! I will go change the wiki now.
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg
Korona
Member
Member
Posts: 1000
Joined: Thu May 17, 2007 1:27 pm
Contact:

Re: Not stable code / tools on wiki

Post by Korona »

Limine is pretty stable, it's in Arch Linux' AUR and people actually use it to boot their day-to-day OSes (not only hobby ones, see here.

There are also various other bootloaders available that replicated Limine's boot protocol on platforms other than x86 (e.g., Sabaton has PinePhone and experimental iPhone support).
managarm: Microkernel-based OS capable of running a Wayland desktop (Discord: https://discord.gg/7WB6Ur3). My OS-dev projects: [mlibc: Portable C library for managarm, qword, Linux, Sigma, ...] [LAI: AML interpreter] [xbstrap: Build system for OS distributions].
nexos
Member
Member
Posts: 1078
Joined: Tue Feb 18, 2020 3:29 pm
Libera.chat IRC: nexos

Re: Not stable code / tools on wiki

Post by nexos »

Yes, Limine is fine, but I am having a problem with POSIX-UEFI being on the wiki. Its been out for only a couple months, has had several issues on the forum, not to mention that all the UEFI wiki pages practically market it. Hence, for this reason, I don't think that there should be links all over the wiki for it.
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg
Post Reply