[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tinycc-devel] [OT] Re: linux-2.4 build scripts for tinycc uploaded
From: |
Michael Ackermann |
Subject: |
Re: [Tinycc-devel] [OT] Re: linux-2.4 build scripts for tinycc uploaded - principle issues with x86 |
Date: |
Tue, 26 Nov 2024 08:29:07 +0000 |
i didn't track VSOBFS yet, nonetheless a few questions arise and concerns had to
be precisely distinguished. For example bootstrappable.org is aiming for a
system integration path for, well, bootstrapping, with the loaders/kernels/tools
that are needed. While I too intend to maintain a complete distribution that can
be driven by an alternative toolchain that tinycc offers.
Those approaches do not conflict with each other, but strictness of acceptance
criteria varies slightly with either approach.
I do not know in detail yet how VSOBFS fits into the scope of either tinycc nor
bootstrappable.org nor the regression testing against tinycc that i did.
With bootstrapping, particular circular dependencies must be avoided, such as
relying upon a gigantic dependency graph of software at a stage of bootstrapping
such software could not be available yet. Think about it carefully.
With regards to bootloaders, you wouldn't have a kernel and various utilities to
process 16bit real-mode assembly. tinycc itself wouldn't support 16bit real-mode
asm processing, yet tinycc would NOT be available during bootstrapping at the
stage 16bit x86 asm had to be processed already.Too bootstrappable.org considers
"kernel bootstrapping" an unresolved issue, although they are far ahead with
compliance with strict acceptance criteria than i would need to be by merely
trying to avoid gcc/binutils early during bootstrapping, for technical reasons
not licensing ones, to maintain a complete i486-tcc-linux-musl.iso distribution.
Otherwise, as I explained, i try to keep tinycc synced to latest HEAD, and so
far i got linux-2.4.37.11 ready with it, including usb, ioapic, highmem support,
and somewhat unstable SMP even. Hence there's a chance to hook into linux-2.4
into bootstrappable system integration path a little earlier, with a powerful
kernel and rather many software components that I succeeded with supporting with
tinycc.
With regards to musl-libc, there's not much to share other than what
bootstrappable.org (live-bootstrap) offered. To my knowledge they're using
musl-libc atop a linux-2.x ABI provided by fiwix. I haven't had time yet to
throw my i486-tcc-musl.squashfs at linux-2.4.37.11-tcc kernel, nonetheless
musl-1.1 and musl-1.2 both compiled just fine with tinycc for x86 static-linking
. And https://github.com/agg1/linux-tcc contains a few patches for linux-2.4
headers already to satisfy some latest userspace software (compile-time).
aggi
On 2024-11-26 08:10, gz8cx4@0w.se wrote:
> On Tue, Nov 26, 2024 at 12:30:22AM +0000, Michael Ackermann via Tinycc-devel
> wrote:
> > It would just be a little easier if a capable linux-2.4 kernel could be
> > booted
> > earlier without relying on gcc and/or binutils.
>
> Then why not begin from VSOBFS? [1]
>
> On Wed, May 29, 2024 at 08:36:07PM +0200, gz8cx4@0w.se wrote:
> > Today an update to the project presented a Linux[*] instance with TinyCC
> > as the only toolchain, self-hosting both the kernel and the userspace.
> [*] 2.4.26
>
> A bootloader is of course included. The tools to rebuild the bootloader
> are not included, but they are much smaller than binutils and have been
> chosen and proven to be buildable by tinycc.
>
> Since then I have made unpublished newer and better Linux setup scripts
> and a provenance-proven image (still based on 2.4.26 and an older tinycc)
> and will be happy to update the site if you are interested.
>
> Even better, given your experience, I might consider to rebase that setup
> on a newer tinycc and a newer 2.4 kernel, of course keeping the full
> source-only provenance proof, possibly also adding the bootloader build
> stuff.
>
> (Unfortunately I am still unclear on how you adjust musl to work on 2.4
> kernels, would you off-list share more details?)
>
> My 2c
>
> /tccm
>
> [1] http://rbzfp7h25zcnmxu4wnxhespe64addpopah5ckfpdfyy4qetpziitp5qd.onion
> there is also a traditional web mirror by a third party:
> https://www.zq1.de/~bernhard/mirror/rbzfp7h25zcnmxu4wnxhespe64addpopah5ckfpdfyy4qetpziitp5qd.onion/
>
>
> _______________________________________________
> Tinycc-devel mailing list
> Tinycc-devel@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel
--
signature.asc
Description: Digital signature