Hi all.
I don't think I expected to ended up on this path,
but I didn't really have a path and here I am.
I have a new version of PDOS/386 that ships with
essential Linux ELF executables to provide a toolchain.
Search for "Linux" at http://pdos.org and download
pdosl.zip .
Nothing more than that. You are then in a position to
compile whatever you want so long as it is C90-compliant.
So it is sort of a public domain mini Linux clone - able
to run certain Linux executables (and build infinite more).
As an alternative to running PDOS/386 directly, I would
like to have a very minimal (real) Linux distribution.
ie a disk just containing the kernel and a shell and I
will (at least initially) need some minimal tools like
ls and more - I believe busybox is a one-stop-shop for
that?
So that's like 3 files on the entire disk.
And this would likely be run under Virtualbox, and then
I would have PDOS/386 as a second hard disk under
Virtualbox. And that's where you get the toolchain from.
I'm not actually very familiar with Linux. I have Kylin OS
successfully (to some extent) installed, and I would
basically like to replace it. I tried installing Puppy
Linux before but was not successful. Can't remember why.
I tend to "learn by doing", so I'd like to start by
creating my own distro. Mainly for developers who want
to see if their executables run under Linux. Exactly
what I was trying to do myself in fact.
Note that the toolchain is very simple with everything
being C90-compliant. I spent a lot of effort making
gcc 3.2.3 C90-compliant so that it can be compiled with
basically any C compiler instead of needing a massive
infrastructure. If you would like to see the ELF version
of gcc 3.2.3 built, you can do so under either PDOS/386
or Linux. Here are the instructions for PDOS/386:
cd \devel\pdos\pdpclib
pdmake -f makefile.lnp
pdptest abc def
cd \devel
unzip \misc\custom gcc-sta*
unzip gcc-sta* (fill this in)
del gcc-sta*
cd gcc\gcc
xcopy config\i386\genfiles\*.* /s /e /y
(don't forget that step above)
pdmake -f linuxp.mak
A very simple (if long) set of C files to build.
Instructions for Linux are basically the same except
using Linux syntax (cp instead of xcopy etc) plus a
shortcoming (hopefully resolvable with /proc/pid/environ)
in PDPCLIB means that you can't run just pdmake, you
need to use the "-n" option, like:
pdmake -n -f linuxp.mak >temp.sh
chmod 755 temp.sh
./temp.sh
Annoying (likely one of many annoying things, like
needing aliases or softlinks for the executables to
drop the .exe), but not a show-stopper in any way.
So.
How simple is it to create a minimal Linux distro?
Someone once made a comment that I need to distinguish
between "Linux" (good) and "distros" (all shit). I'm
sure my distro will be considered shit by many too,
but it will at least be minimal.
BTW, the minimal PDOS/386 distro (able to boot and
provide a (small but sufficient depending on needs)
Windows, OS/2 and Linux API, fits on a 360k floppy.
Thanks. Paul.
But one of the messages someone should pass along to you,
is the need to upgrade your hardware. (The 32-bit distros
might be looking for i686 rather than i386, some of
the applications want SSE2 or SSE4 support.)
On 19/03/24 22:32, Paul wrote:
But one of the messages someone should pass along to you,
is the need to upgrade your hardware. (The 32-bit distros
might be looking for i686 rather than i386, some of
the applications want SSE2 or SSE4 support.)
Sorry for not specifying clearly enough.
This is not a hardware question.
I'm looking for an x64 version of Linux, but I'm
initially only going to run the 32-bit software
on it (that will indeed run on an 80386 also - but
that's somewhat irrelevant).
The 32-bit software is already capable of producing
64-bit Win64 executables, but 64-bit ELF is still
pending. And that's actually one of the purposes -
to test changes to pdld to support 64-bit ELF, not
just 32-bit.
As to "some of the applications needing SSE2/4" -
I do not have a requirement to run any applications
other than those produced by the provided toolchain,
or a new toolchain that was built with the provided
toolchain (or some descendant like that).
Basically - "here's a valid Linux, here's a C90
compiler - you're on your own from here".
It's not meant to be for normal end users, it's
meant to fill a development niche (or a university
challenge niche - something along those lines).
Possibly some integrity chain - a lineage of how
to build Linux starting from "Sector C". With gaps
to be filled in.
BFN. Paul.
Is your hardware 64-bit capable ?
You seem to emit a lot of older breadcrumbs in text, implying
older equipment and environment.
I would have gladly selected a 64-bit OS for you,
if there was a sign you could actually use it. There's
You were, after all, screwing with Puppy, and that's a sign
a person has older equipment. Nobody selects Puppy for
its smooth mainstream operation. (You would use FatDog64
if sampling the Puppy ecosystem, with a capable 64-bit computer.)
I am hoping to only have FAT32 physical disks. If an
ext4 or whatever is required it can be done as a ramdisk.
If Linux needs a plethora of files to operate it can
create them in its own ramdisk (which this bzImage may be
designed to do already).
Sysop: | DaiTengu |
---|---|
Location: | Appleton, WI |
Users: | 915 |
Nodes: | 10 (2 / 8) |
Uptime: | 37:00:17 |
Calls: | 12,170 |
Calls today: | 2 |
Files: | 186,521 |
Messages: | 2,234,388 |