I took a bunch of stuff from work that was gonna get recycled including a decent laptop and a flash drive. I work in network admin and IT if that narrows it down. Never used Linux before though.
Edit: Thanks everyone! I'm down for some problem solving so I think I'm gonna go the Arch/Manjaro direction so I can learn my way around Linux generally.
Gentoo
Fedora is a pretty good starting point IMO. It has a pretty quick release cadence at roughly 9 months. This means the software is both fairly up-to-date, yet fairly well tested. The distro has a lot of polish, and the updates have been pretty robust in my experience, not breaking shit. Anybody I know personally who asks me to set them up on Linux I usually set up on Fedora, and they more or less are set.
Fedora doesn't include proprietary software in its repositories, so you should head over to RPM Fusion to get things like Steam, Nvidia drivers, additional media codecs, etc.
Fedora serves more or less as a testbed for Red Hat (recently acquired by IBM :doomjak: ). As a result, they tend to push the bleeding edge. There is corporate funding behind R&D going on here, but this has also lead to controversy over the years. (At least Red Hat isn't run by a South African :joker-gaming: ).
Debian is also fucking solid, (I run matapacos.dog on it) but its release cadence is much slower (2-3 years, with regular security updates and some backports along the way), which can sometimes be a nuisance for desktop users. Basically, you get much more testing, much more stability, but you have to give up the latest bells and whistles (unless you run testing or unstable). If you are running very new consumer hardware, you will want a more bleeding-edge distro. If you have had your machine for a while, this bleeding edge stuff is less important.
Debian probably has the biggest variety of out-of-the-box CPU architecture support as well. If you are trying to run Linux on old / weird systems, Debian is the GOAT. It is the basis for the official Raspberry Pi distribution, for instance.
Debian isolates proprietary software into its non-free repository, which you will need to enable for additional firmware, Nvidia drivers, Steam, etc.
Mint is based on Debian and inherits much of its traits, but has a faster release cadence (biannual) and some additional user-facing polish. I haven't used it in a long time though. :shrug-outta-hecks:
I run Gentoo personally, but I've been fucking around with this shit for nearly 20 years and am very opinionated. Gentoo is an operating system for people who enjoy reading manuals and setting things up in unorthodox ways.
Gentoo is for casuals, use the Linux kernel documentation as a setup guide and write your own kernel from scratch.
I did LFS once sometime around 2008. It certainly is an experience, but much of it boils down to downloading a tarball, extracting it, compiling it, then installing it. Then doing that again for 60 other packages. It is a great learning tool, but we invented package managers for this. There is no practical way to keep an LFS system up to date.Sorry I misread your post. I hung out in an IRC channel some time back. Probably earlier, around 2006-2007. We decided one day we wanted to make an OS from scratch. Personally, I got no farther then fucking around with bootsectors. A BIOS system will load the first 512 bytes from the boot media into memory, and then it is up to that half-kilobyte of code to start the rest of everything. The partition table is also stored in this sector, so you actually get less memory than that.
I managed to write a boot sector which was capable of loading the second sector from a floppy disk into memory (you do this by sending interrupts to the keyboard controller 🙃) , as well as one which would draw a bunch of lines on the screen. That is about as far as I got.
All x86 processors (including modern ones) boot in 16 bit real mode. DOS shit. The UEFI firmware takes the responsibility of transferring the machine into 64 bit protected mode and loading an ELF image, but if you are booting from BIOS, this is also a thing you need to do from scratch. You basically get maybe 300 bytes to write a minimally functional filesystem driver and disk IO layer. On the bright side, the opcodes and pointers are only 16 bits long.
At the time I was fucking around with this, you could order print (and delivered to your door) x86 architecture manuals from Intel at no charge. I was 16 and was able to order them without even having a credit card number. The manuals spanned 5 volumes, and two of them were dedicated to just the instruction set alone.
Under communism, all CISC CPUs will be destroyed and their creators will be sent to the gulag.
this has the same vibe of having cern send you the particle data group's "Review of Particle Physics." it's 2000 pages long. this thing has over 200 authors and i hate some of them personally.
Hell yes.
When I did something similar it was on a PowerPC machine I found at a thrift store in Mexico city, and PPC is at least a lot nicer to work with on account of Open Firmware being nicer to use and supporting things like loading from a filesystem.
I also just get pain from looking at x86 assembly in a way that's even worse than other CISC architectures like 68k.
:data-laughing:
gentoo is an operating system for people that realize that most of what they're installing through pkgbuilds and yay/paru is compiled on their local machine and pulled off github anyway, so why not make it official and compile every goddamn thing
I believe this will not be true beginning with the next release of Debian, and the nonfree packages will be rolled into the free release. I mean, nvidia and steam and stuff like that will be not be from the debian repos, but proprietary firmware will be accessible.