Submit your projects to be shown off in my weekly OSDev newsletter (RSS + website exists)
▲ 18 r/osdevel+2 crossposts

Submit your projects to be shown off in my weekly OSDev newsletter (RSS + website exists)

I decided to start a small news site dedicated to stories about OSDev published every friday, starting next week. Please submit your projects!
SUBMIT: https://forms.gle/7ZRNJ9RGSjnp3rx5A
RSS: https://news.thatosdeveloper.us/feed.xml
Website: https://news.thatosdeveloper.us

NOTE: The base site is still being revamped as its based on an old jekyll theme and of course many things are subject to change. Also for now comments use Disqus though this may be changed at some point in time.

EDIT: Though a mailing list will be setup to send out emails every Sunday at 0900 (9AM). And posts will happen at least once a week though more may happen over time.

u/TheNullDeref — 3 days ago

Got Samsung support to finally talk to me.

I am working on getting my Galaxy A10e to have its bootloader unlock (you need to have 7 whole days of uptime logged in and in prenormal without any reflashing and such to enter CHECKING state which then allows a BL unlock). I had to do ALL OF THIS talking (plus a phone call before hand) to get a person (maybe) to talk about the sboot partition and safety checks (I am scared outta my mind of bricking this device because I once bricked a device just following an LLMs instructions). God bless your soul Karl (who is likely an AI but I dont really care at this point)

u/TheNullDeref — 13 days ago

A note for Samsung Exynos Devices (this does apply to some US devices like the SM-A102U1)

To get your bootloader unlocked (check if it is supported on a hardware level with adb shell getprop ro.oem_unlock_supported), you need to log into your Google account on the device and Samsung account just to be safe, and keep the device powered on with Wi-Fi connected for 7 days straight. This changes the Knox Guard state from PRENORMAL to NORMAL, allowing you to unlock your bootloader. Note that any reboots or factory resets will restart the 7-day timer. This applies worldwide. I am just posting this because I had a (somewhat rare exception in the US) A10e which uses an Exynos (at least my model does), you do need to wait 7 days, and have a non carrier model (or a model that has ro.oem_unlock_supported set to 1) was locked for years because I never knew about this.

reddit.com
u/TheNullDeref — 13 days ago
▲ 42 r/osdevel+1 crossposts

I wish drivers had a standard

Yes I know that some attempts were made for cross OS standard drivers (UDI) but it just bugs me that everyone has to rewrite a serial driver or a driver for the BGA and so on. And I understand drivers have OS dependent standards (take Windows, macOS, or Linux) but no one really implements compatible driver loaders for them because its near impossible except for maybe Linux. I understand its very difficult and is overall a PITA, but it would still be cool for a standard to be made I guess.

reddit.com
u/TheNullDeref — 19 days ago

Stupid Game Jam idea

A game jam where the entire goal is to create a game with the most eccentric intro, menu, so have you, but the actual game have as little content as possible, while still having at least a few minutes worth of content. A walking simulator, sure, but it should be a good walking simulator. And of course, the game itself must look cool, but be boring as hell.

reddit.com
u/TheNullDeref — 1 month ago

Hackintoshing ideas and issues for ARM64

Apple silicon, while mostly ARM64, has a few custom instructions, but Inferno emulates them quite well (it's not perfect, I admit; it also lacks some of the instructions and cannot run macOS yet, but still, it's a very useful PoC). We have also gotten XNU running on a Raspberry Pi with a functional userland in the past (running on a Pi 3, I believe; I may not have had a working userland, not 100% on this though).

Now I do admit, it's going to be hard. Just drivers alone will be. The fact that Kexts are being killed off in favour of userland drivers (not too bad, but it does suck). Networking would be hard (not impossible, though), but functional graphics, maybe a framebuffer, would work. This would also likely require a custom shim kernel to act like a third-stage bootloader so we can boot into whatever or set up emulation for whatever instructions are needed (though I suppose that could be done in the kernel). But never mind what I think. What ideas do you lads have on possible ARM64 hacks? I think it's a promising idea. It's no promised land, but it's a seemingly good idea that we should at least try as a community.

reddit.com
u/TheNullDeref — 1 month ago

What rooting tool do you use?

Personally I use KernelSU-Next but I used to use Magisk (simply because it was the easiest for me to use since I was so used to it). What do you people use? Question for people who use APatch, what do you think about it? Is it better than KernelSU (if you have used that before) and or Magisk?

reddit.com
u/TheNullDeref — 2 months ago
▲ 11 r/osdev

KARM, my shitty little OS

KARM (Kernel Almost Reaching Milestones) is a small OS, I stole a LOT of code (thanks Lightweight AML Interpreter). Now I will admit, in the past I did use AI to write a lot of it (thanks to my idiocity) but I have stopped with doing this. Yes there are some remnents of me using AI in this, but I have stopped and have started to repair for my past sins.

Anyways I have been working on some fun things. I currently have:

  • A simple test userland (a small shell that attempts to spawn applications, it causes a crash right now, but hey, thats a WIP)
  • IOAPIC/LAPIC working
  • ATA DMA access
  • ATA PIO fallback (if DMA fails to initialize/is not supported on the hardware)
  • A VFS (its not very good, a rewrite is in order since I rarely ever use it, its not even good enough to launch userland apps ffs)
  • A functional PCI parser
  • Functional (for the most part) AML thanks to the LAI project, which while no longer updated was pretty easy for me to implement (I would recommend if uACPI is too hard/weird for you to implement)
  • Putting logs into RAM (able to be dumped during a kernel panic)
  • A port of FATFS
  • A HAL for disk access (three others exist but not worth mentioning)
  • Syscalls for putchar and getchar, and of course full FS IO (you can do a write(1, string, size) if you want instead though)
  • Ability to request pages from the kernel.
  • Process killing, getting your own process ID, and spawning (spawning is broken for now) in the API.
  • Unique API implementation (will explain later)
  • Able to read ELF files (static binaries only)
  • Round Robin scheduler.

The API:

Basically my API is not built around registers for every argument, but is instead built around passing a pointer to the kernel based on the standard request header, or cmd_ctx_t. cmd_ctx_t contains the standard header (size and revision) which I should really check but I never do (for now, yes its risky). Then each command parser for IO, scheduling, or memory, will then check the ctx pointer (if applicable to the command being used) or use ctx itself (say it might be a character) or ctx is not used at all. From there whatever is in the CTX/pointed to is used (for example it may be cmd_fil_t which contains info on file processes) and then things return.

Source: https://codeberg.org/KARM-Project/default

u/TheNullDeref — 2 months ago
▲ 25 r/Magisk

Why do we still use TrickyStore?

Everyone here talks about how you shouldnt use closed source modules even if the developer is trusted, so how come we all use TrickyStore despite the fact that it is closed source, are we using a fork of the original by 5ec1cff or what are we doing?

u/TheNullDeref — 2 months ago

Trying to build from source for the pixel 10a. adevtool failing.

I am trying to build from source for the pixel 10a (stallion) but when I run

adevtool generate-all -d stallion --verbose

it crashes and says:

unpacking 'stallion BD6A.251031.001.A4 factory'
unpacking 'stallion CP1A.260505.005 factory'
building adevtool dependencies: Or did you mean ["libctspermission_jni" "mcts-neuralnetworks" "mcts-webviewbootstrap" "octets_test_src_lib" "rpc_test_proto_header" "rpc_test_proto_source"]?Error: /home/owen/grapheneos-16-qpr2/vendor/adevtool/scripts/run-build.sh,sdk_phone64_x86_64,out_adevtool_deps,aapt2,apksigner,aprotoc,arsclib,debugfs,dispol,fsck.erofs,lz4,ota_extractor,sqlite3,toybox returned 1
    at ChildProcess.<anonymous> (/home/owen/grapheneos-16-qpr2/vendor/adevtool/src/util/process.ts:114:16)
    at ChildProcess.emit (node:events:508:28)
    at ChildProcess.emit (node:domain:489:12)
    at maybeClose (node:internal/child_process:1100:16)
    at Socket.<anonymous> (node:internal/child_process:457:11)
    at Socket.emit (node:events:508:28)
    at Socket.emit (node:domain:489:12)
    at Pipe.<anonymous> (node:net:346:12)

Yet I have all dependencies installed and I cannot seem to understand what it even means. Any help would be greatly appreciated.

reddit.com
u/TheNullDeref — 2 months ago
▲ 136 r/osdev

Can we stop the AI slop?

The only moderator, u/timschwartz is an active reddit user, we shouldnt let him just sit around and twiddle him thumbs! We don't want our subreddit to be flooded with AI slop, we want it to stop. We want rules, we want active moderators who CARE. We want a nice place on reddit for our hobby to EXIST peacefully without this bullshit, r/osdev has failed us. The lack of moderation and rules has led to splinter subs like r/KernelDevelopment. The outright uncare for this subreddit by its only moderator leaves us three choices, do nothing, go to another subreddit, or forcefully take it back via a reddit request.

reddit.com
u/TheNullDeref — 2 months ago

Any ROMs for the Pixel 10a?

I am going to get an unlocked Google Pixel 10a and plan to root it. I know GrapheneOS has a build for this device, but it is explicitly designed for safety and privacy. Because Magisk does not play well with GrapheneOS and often has issues with Zygisk, I am wondering if other ROMs exist. I have experience building custom Android ROMs for obscure hardware. If needed, I may attempt to build an AOSP version using GrapheneOS as a reference. This is just an idea, but it is not impossible given that I have a few months of free time as a student. Though I do understand the immense difficulty with doing so, possibly taking months to do so, maybe even half a year.

reddit.com
u/TheNullDeref — 2 months ago