The Nintendo Entertainment System or NES was arguably the system that kickstarted the videogame industry as we know it today - with many of Nintendo's iconic franchises like Super Mario, The Legend of Zelda, Metroid, and many more making their debut on this 8-bit system. As a piece of hardware, though, the NES is pretty ancient compared to the devices we have today - with only 2KB of RAM and an additional 2KB of VRAM.
So, "Can it run Linux?" is an interesting question because the answer is no. However, that hasn't stopped the YouTube channel DeCrAzYo from trying to find a way. Relying purely on the aging Nintendo hardware without slapping a Raspberry Pi into a cartridge led him to a Linux-adjacent operating system called LUnix, or 'Little Unix,' created for the Commodore 64.
As the Commodore 64 has 64KB of RAM compared to the NES's 2KB, a lot of work was required to get it up and running natively on an NES console.
Including, writing custom drivers for how the NES's Japanese disk system functioned. In Japan, the NES was released as the Famicom or Family Computer, with the option to buy a disk drive, a keyboard, and other peripherals in addition to controllers and cartridges. The key to getting a Unix-like operating system similar to Linux running on NES hardware was adapting the operating system to run with the Disk System, which comes with an extra 32KB of RAM.
The informative and entertaining video goes through all the steps to get it working, which it does in the end. And in an impressive state. Is there a need for Linux or a Unix-like operating system for the NES? Certainly not - this is simply one of those programming exercises that's all about making it happen.
And as a nice little bonus, DeCrAzYo has put up his 'Famicom Disk System port of LUnix' on GitHub.