@drewdevault@fosstodon.org
@drewdevault@fosstodon.org avatar

drewdevault

@drewdevault@fosstodon.org

I write code

Natural language proficiency:
★★★★★ 🇺🇸
★★★☆☆ 🇯🇵
★★☆☆☆ 🇳🇱
★★☆☆☆ 🤟
★☆☆☆☆ 🇫🇷

Does not want to talk to you about cryptocurrency or AI

This profile is from a federated server and may be incomplete. Browse more on the original instance.

drewdevault, to random
@drewdevault@fosstodon.org avatar

Anyone know where I can get my hands on one of these?

https://www.thinkwiki.org/wiki/Serial_Port

drewdevault, (edited )
@drewdevault@fosstodon.org avatar

@MadMike77 I need an x86-64 laptop with a serial port

drewdevault,
@drewdevault@fosstodon.org avatar
drewdevault,
@drewdevault@fosstodon.org avatar

@herag 220 or X220? Only the former has a serial port

drewdevault, to random
@drewdevault@fosstodon.org avatar

Is there a version of fortune(1) whose database is not maintained by That Guy

drewdevault, to random
@drewdevault@fosstodon.org avatar

All this bias against nagels algorithm makes me feel like not enough people grok good systems programming fundamentals

drewdevault, to random
@drewdevault@fosstodon.org avatar

I needed a break from Real Work, so I'm speedrunning writing a Unix-ish operating system

Day 3

drewdevault,
@drewdevault@fosstodon.org avatar

I think tomorrow's goals are:

  1. Implement sbrk (I've been avoiding it) and switch from my buggy malloc to musl's malloc
  2. Get working tcc, binutils, and Hare toolchains, plus make, into the base distribution
drewdevault,
@drewdevault@fosstodon.org avatar

@puppygirlhornypost C11. The gcc port does not work natively yet but I added a Bunnix target to gcc and built a cross compiler

drewdevault,
@drewdevault@fosstodon.org avatar

@dalias hot take: malloc-ng should use mmap, not sbrk

drewdevault,
@drewdevault@fosstodon.org avatar
drewdevault,
@drewdevault@fosstodon.org avatar

Bunnix says good morning

drewdevault,
@drewdevault@fosstodon.org avatar

Implemented brk(2) so I could drop in malloc-ng from musl (rather than my buggy hand-made malloc), C toolchain is much more stable now

I also implemented clock_gettime as shown in the last screenshot, so make doesn't bitch about the clock anymore.

drewdevault,
@drewdevault@fosstodon.org avatar

Got GCC working

(Fixed the readlink issue separately)

g++ also works, but adding libstdc++ to the initrd makes it too big and some stuff breaks. Could run it off of ext4 but there's some issues with the ext4 implementation (namely that binutils depends on lseeking beyond the end of the file to create a hole)

drewdevault,
@drewdevault@fosstodon.org avatar

Just messing around, anyway. I don't intend to ship gcc in the base system (going with tcc instead). I do intend to ship binutils, though, so that you can have a working Hare toolchain, but that'll depend on fixing this lseek issue

drewdevault,
@drewdevault@fosstodon.org avatar

@dalias according to my reading it needed it to return the initial break, but not change it, so I just implemented that much.

drewdevault,
@drewdevault@fosstodon.org avatar

@dalias yeah, on a second reading I see the ENOSYS case. Cheers!

drewdevault,
@drewdevault@fosstodon.org avatar

Built out a small system for packaging ports in .tar.gz files and dumping them in /dist, plus a small script to automate their installation -- so I can ship some optional package sets.

First one is "devel", which includes make and tcc.

drewdevault,
@drewdevault@fosstodon.org avatar
drewdevault,
@drewdevault@fosstodon.org avatar

Why do these blasted serial ports never generate interrupts

drewdevault,
@drewdevault@fosstodon.org avatar

There we go

drewdevault,
@drewdevault@fosstodon.org avatar

@katzenmann write only access to the kernel console

drewdevault,
@drewdevault@fosstodon.org avatar

@katzenmann see /dev/console on Linux

Eventually you'll be able to read the kernel logs ring buffer from it ala dmesg

drewdevault,
@drewdevault@fosstodon.org avatar

Day 24 of building a Unix from scratch

It's official

Video of Doom being played on Bunnix

drewdevault,
@drewdevault@fosstodon.org avatar

So, tomorrow-ish I bundle this all up and put it in the base distribution

Today:

  • New syscalls: ioctl, mmap supports mapping files (namely /dev/fb0)
  • Serial TTY
  • VT overhauled, early fbcons split from runtime vt
  • some termios support
  • Framebuffer device (/dev/fb0)
  • Controlling tty (via /dev/tty)

Getting married tomorrow, no further updates for a while 🎉

drewdevault,
@drewdevault@fosstodon.org avatar

My goal was low-key to get doom working before the wedding

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • mdbf
  • thenastyranch
  • tacticalgear
  • khanakhh
  • Youngstown
  • rosin
  • slotface
  • everett
  • vwfavf
  • ngwrru68w68
  • kavyap
  • ethstaker
  • DreamBathrooms
  • Leos
  • magazineikmin
  • Durango
  • modclub
  • InstantRegret
  • osvaldo12
  • GTA5RPClips
  • normalnudes
  • anitta
  • cubers
  • tester
  • cisconetworking
  • provamag3
  • JUstTest
  • All magazines