Category: Uncategorized

  • Networking Mostly Works!

    The porting of a simple network stack to the operating system is now complete enough for simple HTTP demonstrations, and with a few differences to xv6-riscv-net:

    • The system call layer has been implemented anew, but not the driver layer (the old network driver is used for now)
    • Internal event processing is driven by a system call in a user-mode program instead of by software interrupts, this mechanism works for now but could be revised
    • UDP is not hooked up yet
    • The send/recv system calls accept larger buffer sizes (they break it into smaller buffered pieces internally)
    • The read/write system calls can also be used on sockets, except not with large buffers yet (that will mimic the new send/recv code)

    There will be some more updates soon, together with downloadables and plans for future improvements.

  • Project Status

    Kernel

    Mostly finished, still needs some cleanups but less than most kernels. A few features missing or not quite finished, but mostly working well.

    The kernel core is lean and focused, most functions have descriptive names.

    Networking

    Ahead of schedule, reasonable support for networking is expected as long as there are no huuuuuge bugs but full support like the latest protocol versions will come later.

    Drivers

    Behind schedule. Still relying on legacy drivers for emulators when doing most testing.

    GUI

    Ahead of schedule but awaiting a proper plan I hope to come up with imminently while looking into driver improvements.

    Compilers

    Usable but behind schedule, delayed while coming up with better OS demos.

    Other System Utilities

    Coming but a little behind schedule.

  • I’m Looking For Ways To Accelerate Access To Technology In Rural Areas

    This will probably be the focus of my work this year, although I expect quite a bit of pushback from the Australian authorities as they have thus far been absolutely fucking toxic to me trying to innovate here.

  • GoDaddy Wants $850 For My Domain Back

    I originally registered SecureLang.com but missed a renewal while I was getting thrown out of my rental in Narooma, now they want $850+ to get it back but I think I have other ideas.

    The American internet doesn’t really work for businesses in rural Australia because it barely allows us to run our own servers here, they just sell us consumer connections so we can buy from American sites but just getting an IP address can be a pain in the arse. The artificial housing scarcity here (which is just drugfucked landlords controlling the law and being dicks to everybody) makes it hard to get any stable internet connection at all.

    So I think I’m gonna keep working on network technologies and come up with a local alternative, hopefully as compatible as possible but making it easier to run sites locally (my current site is hosted in USA). That will probably piss some people off though, as there has been a lot of pushback against developing technologies locally, especially from people embedded in this government who serve foreign nations.

  • I Want To Raise Awareness Of The Crimes Of The Australian Government

    Many people both foreign and Aboriginal are kept hostage by this government against our will. They refuse to acknowledge their fuckups or deport me to Egypt.

    I am not an Australian, I am foreign to those people, they didn’t want me in their schools and their army treats me as an enemy race, they told me they would never hire me. I need to be returned to an African nation where I am allowed to join the army, and this land needs to be returned to Aboriginals for their own nations.

    The “whites” here are mostly backwards Jews who hate technology and despise children, I don’t know how to coexist with that race of people as they don’t have any intentions of coexisting with anyone else. Their laws are idiotic and they need to deport me, they can’t spend their whole lives trying to keep me out of industry it’s sorta pathetic.

  • Exceptional Progress Overnight

    Networking Finished

    After success porting the protocol stack itself I’ve ported the driver and ifconfig program from the xv6-riscv-net demo of microps to my new kernel and it looks like it all works.

    This makes the network system basically complete, although a few patches will be needed to enable real workloads as only basic versions of the networking system calls are implemented for now (e.g. the kqueue system hasn’t been linked to the new socket code yet).

    Nano-X Port In Progress

    The build of Nano-X to go with the system now includes a few changes leaning towards getting it to build & run in unusual circumstances.

    Aside from the new simplified build system, this involves changes to the server initialisation code to make it easier to configure it to use AF_INET sockets instead of local domain sockets (normally this is platform-dependent instead of being a separate option).

    Source code for these/other changes to Nano-X will be included when it is included in a release.

    Convenient Date For A Filesystem Epoch

    The filesystem code was mostly written a year or so ago but I didn’t add support for “real time” clock (date & time support) until right at the end of the year, so maybe the midnight just passed will be a good epoch point when adding this support to the filesystem.

    This idea is mostly just cosmetic engineering but could help distinguish the operating system as something focused on new developments.

  • Current Progress With Network Stack

    Some system calls have now been integrated with the network stack, and the system appears to initialise correctly (but without drivers).

    This means the port of microps network protocol stack is almost complete, aside from finishing some more system calls and writing or porting some drivers.

    Simple Networking Soon

    This networking implementation is mainly aimed at being simple, rather than importing a larger “full” network stack. So hopefully this network stack will continue to be easy to work with as I look at bringing up more drivers & legacy software, but it won’t fully replace the features of Linux or BSD network stacks.

    Fast Networking Later

    Improvements such as optimisations, extended protocol support or added security checks can be added to this codebase later, or could be implemented as alternative network implementations.

  • Announcement Details

    Some initial announcements for 1.1.x updates have already been posted, this post will go over their technical implementation and current integration status.

    Kernel Inet

    The network stack will be minimal but should work particularly well for testing simple drivers.

    This is based on https://github.com/pandax381/microps which conveniently already has a RISC-V demo on xv6 (which I used as a reference for the new kernel). This code is MIT licensed and is an optional module in kernel builds.

    DistNX

    Modern graphics stacks can be a nightmare compared to what is actually needed to run many business apps & classic games.

    Porting old or new desktop systems mostly used on Linux to a new platform would be a time consuming task, whereas writing a whole new system from scratch would be a waste as the old graphics systems worked fine for most apps.

    So the compromise, for now at least, will be to use a fork of Nano-X (a GUI system designed for embedded devices) but ideally scaled up a little for easy distribution as a non-bloated but general-purpose window system server.

    The fork currently is almost unmodified sources from Nano-X but with a simpler build system aimed at easy/reproducible server builds, and this will stay open source or mostly so in compliance with the original license.

  • SecureLang Will Still Offer Developer Tools

    These are just being delayed while (the rest of) the OS is pushed into a usable state, but the payoff will be worth it as this will all still feed back into compiler testing!