Linux on a 386

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Linux distribution for i386 machines only.

License

marmolak/gray386linux

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

 _______ .______ ___ ____ ____ ____ ___ __ / _____|| _ \ / \ \ \ / / |___ \ / _ \ / / | | __ | |_) | / ^ \ \ \/ / __) | | (_) | / /_ | | |_ | | / / /_\ \ \_ _/ |__ < >_ < | '_ \ | |__| | | |\ \----./ _____ \ | | ___) | | (_) | | (_) | \______| | _| `._____/__/ \__\ |__| |____/ \___/ \___/ Linux for i386 machines 

Gray386linux is single user, source based (but binary build is provided) Linux distribution with tiny but current user space ( busybox + musl ). Main target is a real i386 net-booted machines with at least 8 MB RAM (should work even with 4 MB RAM - and it should work when net-boot is out of a game).

Used Linux kernel is 3.7.10 which should be last kernel directly support i386, however in reality some patching is needed to compile it. So I think that no one ever built/tested this kernel version for/on real i386.

Additional patches & features:

  • make kernel compilable - avoid some hard coded cmpxchg in kernel source code.
  • cmpxchg, xadd, bswap instruction emulator/simulator - currently I'm not able to force gcc to not emit them. Seems like lack of cmpxchg instruction is one of reasons why Linux dropped support for real i386.
  • Skip endbr32 instruction for user space - distributions started to use CET for gcc and even for libraries. endbr32 is handled as a multinop on i686 generations of CPUs (Pentium II for example) but they are not supported on real i386 (result is CPU exception which is handled by patch - not reproducible in QEMU ). You can recompile gcc without support of CET which is one of reasons why Nix is involved.
  • Fix floppy issues - patches from Linux kernel 5.17 git.
  • Experimental support for ontrack disk manager partitions - ontrack moves real FAT to a different offset.
  • Provide Nix based build environment which allows build of Linux kernel with old gcc and perl .
Читайте также:  Linux дистрибутив on desktop

Main goal of this tiny distribution is to be able to boot via network and be used to:

  • Deployment of preconfigured DOS disk images - you can prepare basic setup on virtual machine then move it on real hardware.
  • Play around with old hardware.
  • As a proof that, with some effort, it works & to learn some old/new stuff :).

Currently, it's not possible to run gray386linux on i486 machines (but it's possible to run gray386linux on Cyrix 486DLC and similar CPUs). Are you interested in Linux for i486 machines? Take a look at gray486linux. i486 machines are still able to run actual Linux kernel (2023).

How to get a binary build?

It's easy. Just take a look at bin directory.

Two versions of build has been cancelled because fpu version doesn't add load of bytes (~24 KB) and works on both (non fpu & fpu) machines.

NOTE: gray386linux is mainly source based distribution so binaries can be older than current configuration.

How to build a gray386linux

Tested build environments:

11. Decide how to build

If you want just default build, and you have installed make and bash then you can just type make in src directory. You are done and GOTO 100 . But if you don't like make , you can just type ./graybuild.sh in src directory. In both cases, results will be placed in results directory.

In case you want to make some changes then follow next steps.

20. Get num of cpus

Nix-shell scripts take handle of it.

If you don't want to use nix-shell , just type:

28. Get kernel headers with nix-shell

28. Install kernel headers

make headers_install ARCH=i386 INSTALL_HDR_PATH=../gray386/

29. Leave nix-shell

30. Build user env with nix-shell

40. Build musl libc

CFLAGS="$CFLAGS -I$(realpath "$/../gray386/include")" ./configure --target=i386 --prefix=$(realpath "$/../gray386/")

50. Build busybox

51. (optional) Build dropbear SSH client (+~266 K)

CC="$(realpath $PWD/../gray386/bin/musl-gcc)" ./configure --enable-static --enable-bundled-libtom --disable-syslog --disable-harden --disable-zlib --disable-shadow --disable-utmp --disable-utmpx --disable-wtmpx --disable-loginfunc --prefix="$(realpath $PWD/../gray386/_install/)"

cp dbclient ../gray386/_install/bin

59. Leave nix-shell

60. Build kernel with nix-shell

61. Update .config in kernel directory

There is mapping hidden in .config and you need to change it to UID of user under you compile a kernel.

Then you can do some other changes with:

make -j"$GR_CPUS" ARCH=i386 nconfig

70. In Linux kernel directory

(optional) make -j"$GR_CPUS" ARCH=i386 nconfig

make -j"$GR_CPUS" ARCH=i386 bzImage

80. Exit nix-shell

Читайте также:  Чем создать установочную флешку линукс

81. (optional) Test build

You need to have qemu installed.

In kernel directory just run

90. Cleanup build

About

Linux distribution for i386 machines only.

Источник

Search Results for "linux i386"

YouHodler is a crypto asset-based “banking” platform that provides an alternative solution to traditional banking. Its platform provides consumers with easy-to-use growth cryptocurrency products, as well as flexibility in managing crypto/fiat financial services.

The premier cloud-based TMS software that makes logistics simple with one login for all inbound and outbound transportation management across parcel, LTL, FTL, ocean, and intl air. Seamless integration into your current tech stack (ERP/ WMS/CRM) and highly configurable to your existing workflows. With connections to 300+ carriers, brokers, & marketplaces, getting the best rates and optimizing shipping processes is easy. Trusted by Toshiba, NewEgg, Forever 21, e-commerce, and top automakers.

GHDL

. generator (LLVM, GCC or, x86_64/i386 only, a built-in one), it is much faster than any interpreted simulator. It can handle very large designs, such as leon3/grlib. GHDL runs on GNU/Linux, Windows and macOS; on x86, x86_64, armv6/armv7/aarch32, aarch64 and ppc64. You can freely download nightly assets, use OCI images (aka Docker/Podman containers), or try building it on your own machine.

gopsutil

gopsutil tag policy is almost same as Semantic Versioning but automatically increases like Ubuntu versioning. gopsutil aims to keep backward compatibility until a major version change. Tagged at the end of the month, but if there are only a few commits, it can be skipped. All works are implemented without cgo by porting C structs to golang structs.

Gotenberg

Gotenberg provides a developer-friendly API to interact with powerful tools like Chromium and LibreOffice for converting numerous document formats (HTML, Markdown, Word, Excel, etc.) into PDF files, and more! Thanks to Docker, you don't have to install each tool in your environments; drop the Docker image in your stack, and you're good to go! The webhook feature allows you to upload the output file to the destination of your choice. There are many options to fit your requirements, from the.

aptly

Aptly allows you to mirror remote repositories, manage local package repositories, take snapshots, pull new versions of packages along with dependencies, and publish as Debian repository. You can try it right now for free, aptly is available both as CLI tool and HTTP REST service. Quickly serve published snapshots over HTTP. Take and update mirrors of any Debian/Ubuntu remote repository. At any point in time, take a snapshot of the mirror to fix the current set of packages. Merge two or more.

Open LMS delivers an effective and engaging learning experience. Open LMS is Open Source at its core. Migrating to Open LMS is simple and easy.

As the largest commercial provider of hosting and support services for the open-source Moodle™ learning platform, we help organizations and institutions deliver great learning experiences without complexities

Читайте также:  Sysctl conf linux настройка

Exe GNU/Linux

Exe GNU/Linux is a complete operating system image for your PC which can be written to CD, DVD or USB and used in temporary "live" mode or as a permanent installation. Most desktop or laptop PC's can run Exe GNU/Linux as a selectable alternative to or a replacement for their current operating systems. Exe GNU/Linux contains only open-source, free, GPL-licenced software. Exe GNU/Linux live images are based on Devuan GNU/Linux and use the Trinity Desktop Environment (TDE). Versions for i386.

ryanboot

Ryanboot-offical-linux-netbooter is a minimal distribution used to remotely boot other Linux distributions over a network. Aim for more easy to Install/netboot different distribution, now OVER 50+ distro (20210723, still updating) can be boot from their offical (mirror) site or sourceforge.net by only a 50MB iPXE image(usb&iso). TUI customise for: Mirror, Release, Version, Kernel Parameter, TUI/GUI (if available), Auto detection i386/amd64 (if available)

Unofficial Apache OO Debian repository

This project intend to provide an unofficial Debian repository of Apache OpenOffice for i386 and amd64 ports while it's not in official Debian repositories.

GnoppixNG

Gnoppix is a Linux distribution based on Debian, available in for amd64 ,i386 and ARM architectures. Gnoppix is a great choice for users who want a lightweight and easy-to-use with security in mind. Gnoppix was first announced in June 2003. Currently we're working on a Gnoppix version for WSL, Mobile devices like smartphones and tablets as well.

laz4android

Laz4Android is a Lazarus for Android Package. Thanks the FreePascal team and the Lazarus team. Now Laz4Android is only run on Windows.Sorry for this! Last update:2022-08-15 FPC: 3.2.2 (win32/win64/arm-android/aarch64-android/i386-android/x86_64-android/jvm-android) Lazarus:2.2.2 Android NDK: r19c 1.Update to Lazarus 2.2.2 source + FPC 3.2.2 I recommend using laz4android + LAMW(Lazarus Android Module Wizard) to develop android apps. LAMW on this: https://github.com/jmpessoa.

Authentication Cloud faster, easier, and more user-friendly. Let customers access your online services without passwords and costly SMS fees.

Nevis lets you wow your customers, partners, and employees with excellent authentication and authorization convenience. Nevis offers a single, all-encompassing identity and access management solution for all your identity use cases. With its comprehensive CIAM functions, you can offer your privacy-minded consumers an exceptional user experience, personalized interactions, and the level of secure access to your services that is essential for today’s disruptive, digital transformation demands.

Lilidog

Welcome to Lilidog! - Lilidog Linux is a lightweight full featured distribution based on Debian with Openbox. - Versions Full - (Approx. 1300 packages), comes with everything necessary to get started without needing initial extra downloads. I would advise most folks to use the full version if looking for an 'out of the box' computing solution with everything you need. Minimal - (Approx. 1080 packages), has everything the full version does, minus most of the main packages so people can.

Источник

Оцените статью
Adblock
detector