The Linux Thread - The Autist's OS of Choice

  • Want to keep track of this thread?
    Accounts can bookmark posts, watch threads for updates, and jump back to where you stopped reading.
    Create account
- You will spend hours looking at your terminal compiling crap
Gentoo used to be my primary OS. Long time back now. I did spend a fair bit of time compiling stuff but it didn't hold me up. I just had it all do it in downtime. But nowadays with modern CPUs, vast amounts of fast RAM and NVME drives, does it really take that long? I don't feel like installing Gentoo just to try (maybe I'll put it on a USB) but I feel like compared to my old Athlon days, compiling everything should go like shit off a shovel in comparison.
 
I don't feel like installing Gentoo just to try (maybe I'll put it on a USB) but I feel like compared to my old Athlon days, compiling everything should go like shit off a shovel in comparison.

Hardware's gotten exponentially better now relative to where we were at 15-20 years ago. The problem is that modern software is fucking bloated as sin. Enshittification happens on FOSS too, where shit that worked 10-15 years ago gets discarded for the latest and "greatest" developer fad that still doesn't match up to the function of the old thing... and how the old thing itself was a replacement for a much better thing 20+ years ago. I'm pessimistic as fuck when it comes down to Gentoo or FreeBSD port compile times nowadays, not because the hardware sucks dog eggs but because software developers can't fucking optimise shit to save their lives.

To be clear: I'm not even remotely familiar with compiler optimisations for your specific CPU, parallel jobs, caching, and stuff along those lines. I'm sure I'm exaggerating on some measure, but only someone like @prollyanotherlurker can step in to correct me on that front. He's the only one in this thread who spent an inordinate amount of time with Gentoo in recent memory.
 
Hardware's gotten exponentially better now relative to where we were at 15-20 years ago. The problem is that modern software is fucking bloated as sin. Enshittification happens on FOSS too, where shit that worked 10-15 years ago gets discarded for the latest and "greatest" developer fad that still doesn't match up to the function of the old thing... and how the old thing itself was a replacement for a much better thing 20+ years ago. I'm pessimistic as fuck when it comes down to Gentoo or FreeBSD port compile times nowadays, not because the hardware sucks dog eggs but because software developers can't fucking optimise shit to save their lives.

To be clear: I'm not even remotely familiar with compiler optimisations for your specific CPU, parallel jobs, caching, and stuff along those lines. I'm sure I'm exaggerating on some measure, but only someone like @prollyanotherlurker can step in to correct me on that front. He's the only one in this thread who spent an inordinate amount of time with Gentoo in recent memory.
I'd try a Gentoo USB but I'm concerned about writes to USB impacting it - I guess I could set up a RAM disk. But sod it, I decided to blasphemously compile the Linux kernel (6.6) on Windows for sheer convenience. It's near maxing out 24 threads so I don't think there's much bottleneck going on there due to OS. I didn't get deep into configuration fun, just ran with all the defaults to get a ballpark. It's been running for around four minutes now Ooop - no, as I type, it's just paused, is it...? No - it was just on some big meaty binary, it's off again on all its little drivers now. Wait - just finished. Four minutes fifty seconds.

Yeah, I'm going to say it's faster than it used to be on my Athlon! :story: :feels:



EDIT: Urgh! There is a "rust" directory.
 
He doesn't need to spend more time tinkering than actually using his computer.
To be fair, for some people the tinkering helps them learn the system better, than just getting a working system right away - that's how I finally switched.
I recommend mint to most people, but when I see someone is interested in "linux" and not just "not windows" I do go into a bit more details, and one of my friends got hooked the same way - wanted to try out gentoo right away! Well, it was a bit too much for him all at once and he decided to try arch first, about halfway through the gentoo install. Now he has a working arch install and I think he's gonna be experimenting with artix, and maybe retrying gentoo, in no time.
 
@ProudSkibidiTolietAryan you gravely underestimate the sheer levels of tism in this thread. Please share. There's at least two people here who wanna know. Can we make that three?
The more people posting interesting home projects about simulating TV operating systems there are, the less of a chance of me getting threadbanned for talking about Powershell. I say go for it.
 
So which distro do you guys recommend - Mint Cinnamon or Zorin OS? Here's my situation:

I have 2 computers I regularly use right now, my shitposting rig which is a dual cpu Xeon I built a couple of years ago with a Chinesium X99 mobo running Zorin 17.3, and my gaming PC, which is a Minisforum Ryzen 9 running Win 11 which I always keep offline. I haven't been too impressed with Win 11 and I don't trust M$ not to do something fucky-wucky so I want to use Linux on the Ryzen. I'm currently playing around with Bazzite on a spare SSD, but doing some research I heard Bazzite isn't the best for a daily driver PC.

The only reason I got Win11 is I wanted to play Starfield, but I've finally come to the realization that game is never going to be worth playing. In fact, I would've switched over to Linux full time if it wasn't for Mod Organizer 2, which for the life of me I can't figure out how to get to work, and even if I did, there doesn't seem to be anyway to get it to run independent of Steam which is a necessity (I'm still running the pre next-gen version of Fallout 4). I do have a copy of Win10 on the X99, and I have a Ryzen 5 laptop that I dual boot on so if I figure if I ever get a hankerin' for some ToddSlop I could just run those games on Win10.

I like Zorin, but version 18 has that web intergration stuff I don't need, and I haven't used Mint in a few years so I'm curious.
 
I like Zorin, but version 18 has that web intergration stuff I don't need, and I haven't used Mint in a few years so I'm curious.

The only thing Zorin has going for it is it's got a pretty nice layout but it's a layer of cope meticulously painted over a retarded Android UI wannabe. Instead of just having you pay for the extended support, they also paywall cosmetics and software you can otherwise freely install, for some odd reason.

Being on Linux since 2020 it's amazing how little changes with Mint in just the past five years, even Ubuntu LTS which Canonical markets for mission-critical systems by the way, fucks your day up with things nobody asked for with each new release.
 
Last edited:
1764506112051.png

Right so I told you guys about the byte trick but basically when extracted most tv systems acutally have duplicate filesystems.(there is acutally another squash filesystem with a backup for UPDATING the tv, which is a ENTIRELY different rootfs for some reason. So really there are 4 filesystems, but I only showed 2 because it was easier to explain)
1764526176806.png
These duplicate filesystems contain a basic RootFS. Its interesting because embedded systems have such a EXTREMELY stripped down version of linux with NOTHING In the bin folder so you can not even do something as simple as ls or cd.
1764506518657.png
Now for this well lets just say agressive check to make sure that no file gets corrupted it got me wondering "Why would they put SO much effort into making sure things don't get corrupted" I mean to THIS much of a extreme is kinda insane, But I do have a theory.

Do you remember the Nintendo wii? Stay with me here ok. on the Nintendo WIi if you ever modded the console you have likely seen this screen before when making a nand backup of your console(STAY WITH ME I PROMISE THIS IS RELEVANT)
1764527817034.png
Now normally this would cause you to panic however if you check online youll see that this is perfectly normal.
"BootMii will begin backing up your NAND to the SD card, showing the progress on the screen. If your see any "bad blocks", don't worry; they're to be expected in the type of NAND chips used by the Wii."
On your X86 computer when you see a SINGLE bad block on your hard disk that typically means you should backup everything and replace it as soon as possiable. In embedded systems and similar that is not the case Its normal for blocks to be bad when they come out of the factory, Infact most chip makers say THEMSELVES that 6-12 blocks will likely be bad

The reason why there are SO many data failsafes to the point of having 4 DIFFERENT filesystems, 2 for the main Tv system and 2 for the main updater. And those backup bytes I mentioned before is because the chips that come out of the factory on the TV likely have a few bad blocks and since you can't predict which ones are bad you have to do the next best thing and failsafe it. But that is just a theory. But im pretty damn sure that is the reason why.

Anyways back to /bin/ being empty on all 4 filesystems. You actually do not need the bin folder to run the linux kernel. There can be NO programs in there and it will still work. This TV does not have any programs in /bin/ and its likely normal although I have never really done firmware extracting like this before or well at all.
As for the actual TV part, it first loads a script called startup that mounts some JFFS2 Partitions and then starts the MAIN tv operating system which is actually just a linux binary/application.

1764524073468.png

Here is something weird. On this TV there is only ONE usb port, no ethernet or even way to connect to the internet, Only ONE usb port is on there besides HDMI and composite and that USB is meant for service and cant do anything from what im aware, However there appears to be USB drivers and also usb ETHERNET ADAPTER DRIVERS??
1764524171674.png
1764524178807.png
1764524240373.png
And support for SSH, I don't think this was just leftover stuff. Considering that they were so conservative they literately deleted everything in /bin/
1764524267332.png
I tried some usb Ethernet adapters on the physical TV and my router refused to show any new devices connected so I don't think I can do anything sadly. But if there is some secert SSH that would be really cool.
Now lets talk about the JSSF2 parition that the thing tries to mount, I also learned how to extract that to.
The Jefferson Parition contains a BUNCH of config files and nothing much else.
1764525473420.png
1764523865954.png

Weirdly enough almost ALL of these are copies,
aqsettings0, aqsettings3, aqsettings4, aqsettings 13, aqsettings 12 etc are all copies.
But some are NOT copies. SO its weird. Like almost every file is a copy of another file in here, and thats the whole folder is just these config files.
K so now we have all the context needed lets go how I was able to get this environment set up.

We know its mipsel which is a 32 bit MIPS architecture with little Edian. I tried to compile a old version of linux to work with QEMU for this but it failed, But I was able to find a VMLINUX that supported this architecture online.
Now its time to build a ROOTFS, Which is just the filesystem, You can mix and match shit when it comes to this.

I took the squash folder with the phillips folder and everything in there and made a new one pasting it in there. Then Id run a command to convert that folder into a disk we can use(MAKE SURE IT DOES NOT HAVE A 64 BIT FEATURESET)

Now because the bin folder is empty I just used busybox compiled for mipsel that I got online and just put that in the bin folder so I can that as a shell.
This is my linux command arcs
"../qemu-4.2.0/mipsel-softmmu/qemu-system-mipsel -M malta -kernel vmlinux.mipsel -hda philips_rootfs32.img -hdb mtdblock6_ext2.img -hdc mtdblock7_ext2.img -append "root=/dev/sda rw console=ttyS0 init=/bin/busybox-mipsel sh" -nographic -vnc :0"
**Note the MTD blocks are the jefferson files that I converted, not sure if I would need them but its important to have.

Once were in we have to do a few things,

Reverse Engineering the program which I learned how to do it seems that it access a /proc/ folder for a device that we do not have during the startup check AND worst of all it will error if it fails and terminate the program, Luckily ALL it does it check the mem size of that device. So we can fake it
1764524662895.png
I created a folder of the same name and just made a file named mem size and then just put a bunch of random numbers.
1764526760961.png 1764526769654.png
Problem solved right? Wrong.
As it turns out it uses those numbers in mem size to CHECK IN RAM and see if the value in ram that correlates with the mem-size address is not NOP or 00000000

1764524758054.png
so its just going to read that random number as a address, see that it does not belong to anything and error out.
However I have a ACE up my sleeve.
We can make a ram region or a MMIO in qemu and recompile it so that it will return something other than NOP whenever its called upon
1764524872562.png
1764524878201.png
1764524946567.png
1764524952071.png
1764524921297.png
THEN we can just point the mem size file to that address so that it ACUTALLY will return something that is NOT 0.
1764524989614.png
Ok so I have to say this is not in order, I did not figure this all out without even starting the virtual machine. All of this was discovered through trail and error in these past 2 weeks.
Lets now start QEMU(Im using a older version from 2019 because they got rid of system emulation for mipsel after that so I had to use a older version).
1764525102934.png 1764525094601.png
We first need to have everything in /dev/. If you do not know with the base linux kernel not everything is moved to dev automatically like you think. Base linux acutally DOES not do that. We need to use busybox here to setup /dev/ram/ and our jffs2 filesystems.(Which are ext2 but we can still mount it under jffs2 without changing the names of things in the startup script)
1764525195191.png
1764525230197.png
And with that were able to get past the "bootup process" of the thing and get pretty far before it crashes with a illegal instruction.

Ill try to go further but its insane I even got this far espically since I did not even know what a vmlinux was or how to reverse engineer anything 2 weeks ago. I fear that the illegal instruction is QEMU not supporting mipsel that well and I reached a hard limit, But I have a theory that the program is executing instructions located in the ram of the device that we faked with memsize and that mmio trick, in which case ill try making it return a Actual opcode(NOP) most likely and see if it will continue from there.

Hope this was a interesting read. Any questions or experiments you want me to do in QEMU or with the actual TV that I have let me know. Interestingly despite being a SONY tv the software is almost exclusively Phillips, I also know from the MOTD that its "MontaVista(R) Linux(R) Professional Edition 4.0 (0501140)."
 

Attachments

  • 1764523793756.png
    1764523793756.png
    61.3 KB · Views: 13
Last edited:
I'll spare you the usual recommendations of Ubuntu/Debian clones, Fedora/RHEL clones, and give you some true "mess around with linucks" options. @Ferryman @prollyanotherlurker got anything else along these lines?
I think it really depends what they want. If they aren't a linux user already. I think mint is probably a good option. Or another debian based distro.

if they aren't new to it the options I would recommend would be a lot more broad.
 
Last edited:
fedora silverblue and fedora kinoite are good.

If you like an ever-shifting maze of a filesystem you're not supposed to touch and cannot diagnose worth a fuck because you're not really supposed to maintain it offline. Source? I used to maintain a Silverblue image and a fuckup with upstream BTRFS defaults required extra steps to mitigate, none of which I could use in the build process. The issue wasn't fixed and I have no faith that it is. If this cloud-native design is so revolutionary why don't we have a unified tool to test these images properly before deploying them from our Github workflows?
 
Last edited:

It finally happened. They put out the linus, and linus episode

"I am the beta linus today, so that's fine" - LTT

Hearing the real Linus talk about hardware is actually interesting. So far I'm liking the video outside of all the LTT awkwardness.

Edit. Ok, one thing really annoyed me. Ltt interupted linus when he was about to start talking about nvidia, and ai stuff, presumably with the kernel, and i guess the editor cut it too after. Wtf should have just let the man talk.
 
Last edited:
Edit. Ok, one thing really annoyed me. Ltt interupted linus when he was about to start talking about nvidia, and ai stuff, presumably with the kernel, and i guess the editor cut it too after. Wtf should have just let the man talk.
But then the pornsick zoomers watching this video might've actually learned something, and been motivated to do something other than sit on their ass and coom all day, and we can't have that!
 
https://youtube.com/watch?v=mfv0V1SxbNA
It finally happened. They put out the linus, and linus episode

"I am the beta linus today, so that's fine" - LTT

Hearing the real Linus talk about hardware is actually interesting. So far I'm liking the video outside of all the LTT awkwardness.

Edit. Ok, one thing really annoyed me. Ltt interupted linus when he was about to start talking about nvidia, and ai stuff, presumably with the kernel, and i guess the editor cut it too after. Wtf should have just let the man talk.

You can rest assured that this video will only serve to make the slop niggercattle even more obnoxious about their tech illiteracy.
 
You can rest assured that this video will only serve to make the slop niggercattle even more obnoxious about their tech illiteracy.
Oh God why did Linus have to suck the gock and now give credibility to this fucking retard.
 
Back
Top Bottom