A high-schooler who goes by the online handle of ading2210 has released LinuxPDF, software that runs Linux within a PDF file. This comes after his earlier release of DoomPDF, software that runs the video game Doom within a PDF file. The demonstration version of LinuxPDF can be accessed using a Chromium-based web browser here.
Web browsers use HTML, CSS, and Javascript to create the interactive web pages we see across the Internet today. A subset of those languages are available in modern PDF browsers to execute code.
TinyEMU is a small RISC-V system emulator running Linux, and the uncompiled TinyEMU code with Linux OS can be downloaded in a 15 MB file. This is small enough to be run within a PDF browser without much difficulty, especially when viewing that PDF file within a web browser as linked above.
But operating systems like Linux are coded in C, a language that is not natively supported by web or PDF browsers. Emscripten, a cross-compiler tool, was used to convert C code into a subset of Javascript called asm.js that can run in PDF files.
Limitations in modern PDF browsers further limit what Javascript code can be run. Ading2210 overcame these in his earlier release of DoomPDF, especially for the input of text and output of the system display, and reused such code in LinuxPDF.