Live data from Hacker News

Ask HN: Project ideas for a Linux kernel module

news.ycombinator.com

41–48 of 48 posts

Re: Ask HN: Project ideas for a Linux kernel module

#41

There is an effort to write linux drivers for peripherals in Pine Ox64 https://wiki.pine64.org/wiki/Ox64 , the chip(BL808) documentation is not that great. But would be a good exercise to write some drivers.

What kind of documentation one would normally need for this sort of project? If the documentation are not great or missing something, is there steps that could be taken to figure out the chips functions in order to implement them?

Re: Ask HN: Project ideas for a Linux kernel module

#43
post #15

Just write i2c or SPI for a baremetal firmware, not esp32 nor stm. linux is way overkill for small devices.

I know what you mean, sometimes I wonder how small is really small, what I had in mind when I posted this thread was a project that might help me gain experience in building something related to embedded/IoT devices (routers, phones, low level but not too level that it doesn't have a kernel if that makes sense).

Re: Ask HN: Project ideas for a Linux kernel module

#45
post #40

Writing or modifying an existing driver for something like an I2S DAC would suit you, I think. You'd have to figure out phandle support for the I2C configuration channel, fire up I2S streaming by enabling it in the kernel and piping audio to the DAC, then playing it into some speakers. Could expand it by adding some filtering. Many DACs have filter banks that you can populate with coefficients via I2C. There's some d…

Thank you, that does sound interesting, and I do have an interest in cybersecurity (just not IT security as in firewalls, incident response ...etc). I saw some interesting stuff being done recently from programming/writing code to emulate a microcontroller/CPU in something like qemu, to power glitching and bypassing protection on some chips to allow accessing serial/debug interface or even some of the mobile baseband…

We don't do IT cybersecurity. That stuff is boring. :)

Our work is much closer to the metal. There's a big hardware component. Based on what you describe, we have work that I strongly suspect you'd find interesting. Your intuition was correct - low level coding and OS stuff is where all the goods are at.

Shoot me an email at cushychicken@gmail.com and I can tell you about what we do in a bit more detail.

Re: Ask HN: Project ideas for a Linux kernel module

#46

Id love a way for userspace applications to leverage the MMUs memory protection to trigger user code. Let me give you an example: Lets say I have large block of memory that is encrypted. I want to random access this memory, but i don't want to decrypt the entire memory before i start using it. I may have worker threads that start decrypting the data for me, but i don't want to wait for them. Ideally, id like to set a…

Can't you catch sigsegv since forever?

Re: Ask HN: Project ideas for a Linux kernel module

#47

If you're willing to forgo Linux, there is a lot of work / interest in Zephyr.

If you're willing to forgo Linux, but want to be Linux adjacent, maybe look at getting the Linux hda drivers running on FreeBSD linuxkpi; HDMI audio on at least intel would work better with coordination between the audio driver and the video driver; FreeBSD uses Linux drivers for video, but not for audio and the coordination is missed, so the audio driver doesn't know when the video driver has reprogrammed the clocks for a different resolution and you get mistimed audio :(. Alternatively, figure out how to use the coordination hooks in the Linux video driver with the FreeBSD audio driver.

But really, to answer your question; the best thing is to find something that you actually want your computer to do that's feasible, but not possible because there's no kernel module. Then you'll be incentivized to keep going with the project, not just a resume/interview material project.

Re: Ask HN: Project ideas for a Linux kernel module

#48
post #41

There is an effort to write linux drivers for peripherals in Pine Ox64 https://wiki.pine64.org/wiki/Ox64 , the chip(BL808) documentation is not that great. But would be a good exercise to write some drivers.

What kind of documentation one would normally need for this sort of project? If the documentation are not great or missing something, is there steps that could be taken to figure out the chips functions in order to implement them?

The chip has complete-ish sdk here(https://github.com/bouffalolab/bouffalo_sdk) we use as "documentation". Datasheet and the reference manual are incomplete.
Post reply on HN