News for hackers. Stuff that matters.
Re:Guix Reduces Bootstrap Seed by Half by reacweb on Wednesday October 09, 2019 @07:31AM (#21202122)
I do not understand. When I have started on linux, 25 floppies were enough for a full installation (including latex and X) on my big HD (120MB). How a striped down version of bash, coreutils&co and guile could require 120MB ?
Re:Guix Reduces Bootstrap Seed by Half by sideeffffect on Wednesday October 09, 2019 @08:33AM (#21202516)
I suspect that the big part of that 120MB is bootstrap-guile (Guile is a Scheme implementation)

if you want to go really minimalistic, see stage0, it's like 500 Bytes

https://github.com/oriansj/stage0

details are in the article

Re:Guix Reduces Bootstrap Seed by Half by nrclark on Wednesday October 09, 2019 @03:59PM (#21207313)
Out of curiosity, what makes Guile take up so much space?

I considered using Guile as the scripting/extension language in some of our tools, but I couldn't get over the large size and the number of additional dependencies it introduced.

There's a certain irony to the idea that Guile was designed to be a TCL killer, and wound up being larger and harder to deploy.

Re:Guix Reduces Bootstrap Seed by Half by pera on Wednesday October 09, 2019 @01:24PM (#21205469)
That's likely the case: at least in Arch Linux, Guile+deps is about 50MB.
Re:Guix Reduces Bootstrap Seed by Half by bArray on Wednesday October 09, 2019 @12:00PM (#21204444)
Can you elaborate on what stage0 does? I'm not sure I understand what it means by "bootstrap".
Re:Guix Reduces Bootstrap Seed by Half by markjenkinswpg on Wednesday October 09, 2019 @01:00PM (#21205177)
Stage0's binary seed is a monitor, a program that lets you twiddle data in hex into memory addresses (in hex).

Code injected into the monitor can do the next best thing, a similar program that loads text files with hex into binaries and skips ends of lines after a comment marker starts.

As such, the initial stuff in the stage0 project is further programs that are still in my view blobs, but instead of binary blobs they're plain text hex blobs with comments documenting the assembler equivalent and what's going on.

From there there are iterations of having hex files (hex 1 and hex2) with increasing complexity of symbol tables so references can be made to addresses and relative jumps by symbols.

From there stage0 project makes the leap to "stage1" and there are things like basic editors, file concatenation tools, macro based assembler and so . It all ends with a C-subset (M2-planet) compiler written in assembler.

Work is in progress to rewrite the scheme interpreter mes in M2-planet instead of normal C. The c compiler mescc (written in scheme) can build tcc and onward to gcc.

There's bootstraps along these lines for a fantasy machine called knight and there's x86 versions and maybe some other archs in the works.

My stalled side project is interpreting the knight stuff in python: https://github.com/markjenkins/knightpies

I'm excited by the idea that I could use really old GNU/Linux distro CDs that I trust with python2.3+ as a bootstrap path and eventually with some other work even use old power macs with MacOS X that included python2.3+ as another cool place to bootstrap the free world.

Re:Guix Reduces Bootstrap Seed by Half by mhd on Wednesday October 09, 2019 @09:16AM (#21202843)
| Bootstrapping in this context refers to how the distribution gets built from nothing.

The GNU build system was huge since about forever.

Re:Guix Reduces Bootstrap Seed by Half by swiley on Wednesday October 09, 2019 @08:26AM (#21202478)
If it bothers you, try alpine. I think the minimal rootfs on their site is 3MB or so.
Re:Guix Reduces Bootstrap Seed by Half by MayeulC on Wednesday October 09, 2019 @08:36AM (#21202538)
Though the kernel itself might sit at ~60 MB (depending on compile-time options), and you might need to addd another 120MB for the firmware.

Of course, this can be stripped down a lot if you decide to taylor the kernel to your system (less drivers, etc).

To answer GP, a full texlive installation takes around 2GB on my system. That's mostly fonts, but also packages, tools and documentation. I take the bloat for convenience, because I can afford a few extra GBs nowadays. If you want to go for minimalism, you still can (and even reach smaller footprints than back then), but that's no longer the mainstream option. Not when a GB is a few cents.

Re:Guix Reduces Bootstrap Seed by Half by djsumdog on Wednesday October 09, 2019 @09:25AM (#21202936)
Does Guix use the Linux kernel or Hurd? In any case, I can understand kernel growth. There are a lot of new drivers, new and old architectures (386 machines were supported in Linux until a few years back; and there's still a fork that does), all the new file systems, all the new networking and cgroup isolation. You can build a minimal kernel without a lot of that stuff, and it will still run on older embedded hardware. But just having a large kernel source and large default kernels/initrds isn't bloat so much as supporting a lot of hardware possibilities.
Re:Guix Reduces Bootstrap Seed by Half by Sean1708 on Wednesday October 09, 2019 @09:50AM (#21203186)
From here: https://guix.gnu.org/manual/en/guix.html#GNU-Distribution

> Our goal is to provide a practical 100% free software distribution of Linux-based and other variants of GNU, with a focus on the promotion and tight integration of GNU components, and an emphasis on programs and tools that help users exert that freedom.

Re:Guix Reduces Bootstrap Seed by Half by brirec on Wednesday October 09, 2019 @10:54AM (#21203811)
Not trying to sound snarky here: does _anything_ use Hurd?
Re:Guix Reduces Bootstrap Seed by Half by MayeulC on Wednesday October 09, 2019 @07:53PM (#21209469)
Well, there's that (former?) Debian project, an Arch variant as well, and I think there is a GUIX variant as well[1]. But they still share the same limitations: 32 bits, no USB, etc.

Hurd itself has interesting concepts, like translators. And it might be useful in some specific cases where robustness is needed. But you might as well try MINIX 3.

Hurd is on my list of things to try, just like Plan 9.

[1] (edit): https://en.wikipedia.org/wiki/GNU_Hurd#GNU_distributions_run...

Re:Guix Reduces Bootstrap Seed by Half by danudey on Wednesday October 09, 2019 @11:27AM (#21204106)
It's "supported" by some people, but it's not ready for prime time, and never will be.
Re:Guix Reduces Bootstrap Seed by Half by brirec on Wednesday October 09, 2019 @04:08PM (#21207416)
I can't help but laugh at the irony that one of the most popular and most proprietary operating systems in the world uses a forked Mach kernel called XNU, for "X's Not Unix."

Anyone at Apple have a beef with the FSF back when they named that?

Re:Guix Reduces Bootstrap Seed by Half by MuffinFlavored on Wednesday October 09, 2019 @11:34AM (#21204174)
> Of course, this can be stripped down a lot if you decide to tailor the kernel to your system (less drivers, etc).

Is there not a tool that does this for you automatically? That'd be kind of neat! Like a webservice that takes your lspsci/lsusb output, then gives you a compiled kernel just for you back?

Re:Guix Reduces Bootstrap Seed by Half by jcelerier on Wednesday October 09, 2019 @12:30PM (#21204791)
the kernel itself is able to do it with `make localmodconfig`. you'll need a rebuild if you buy a new usb toy though...
Re:Guix Reduces Bootstrap Seed by Half by davexunit on Wednesday October 09, 2019 @09:32AM (#21203008)
There's a significant difference between bootstrap binaries and the actual distro binaries and this thread seems to be conflating the two. Out of curiosity, does anyone know how big Alpine's set of bootstrap binaries are? This article estimated Debian's to be ~550MB. It would be interesting to know which distro has the least amount of stuff taken for granted.
Re:Guix Reduces Bootstrap Seed by Half by swiley on Wednesday October 09, 2019 @06:57PM (#21209091)
Unless you enable module loading then you can probably just build the module.
Re:Guix Reduces Bootstrap Seed by Half by asutekku on Wednesday October 09, 2019 @07:48AM (#21202246)
There’s a bunch of more stuff available on it nowadays.
Re:Guix Reduces Bootstrap Seed by Half by giancarlostoro on Wednesday October 09, 2019 @08:52AM (#21202673)
And lots of hardware drivers, for lots of potential hardware I assume as well. I bet Gentoo could be setup to be entirely minimal by removing uneeded things from the distro, not sure if it's known for that.
Re:Guix Reduces Bootstrap Seed by Half by secraetomani on Wednesday October 09, 2019 @08:15AM (#21202415)
And a typical install of Windows 95 was 55 MB. Which included a bunch of images, sounds, ...
Re:Guix Reduces Bootstrap Seed by Half by oblio on Wednesday October 09, 2019 @08:47AM (#21202635)
> images

800x600 16 bit backgrounds and 16x16 16 bit icons...

> sounds

MIDI sounds...

We're not living in 1995, anymore.

Re:Guix Reduces Bootstrap Seed by Half by Fnoord on Wednesday October 09, 2019 @04:31PM (#21207694)
Weren't (the) BMPs large in size?
Re:Guix Reduces Bootstrap Seed by Half by oblio on Thursday October 10, 2019 @07:48AM (#21213333)
I'm pretty sure that even at that time compressed formats were used :-)

JPG was released in 1992, GIF in 1987.

Re:Guix Reduces Bootstrap Seed by Half by Fnoord on Thursday October 10, 2019 @09:11AM (#21213982)
These were used, yes. I am pretty sure Windows in most of 90s used BMPs, e.g. for backgrounds and in MS Paint. [1] Also, GIF is no replacement for BMP.

[1] https://www.fileformat.info/format/bmp/egff.htm

Re:Guix Reduces Bootstrap Seed by Half by secraetomani on Wednesday October 09, 2019 @09:48AM (#21203147)
What, your C compiler includes high-definition image and audio files? What times to be alive...
Re:Guix Reduces Bootstrap Seed by Half by oblio on Wednesday October 09, 2019 @10:35AM (#21203657)
He was comparing Win 95 to modern software.

Also, as far as I know even stuff like compilers (if they want to support Unicode fully) have to pull in dependencies like ICU, which because of its symbol DB weighs about 30MB.

That's another problem Win 95-era software didn't have to care about...

Re:Guix Reduces Bootstrap Seed by Half by AnIdiotOnTheNet on Wednesday October 09, 2019 @01:37PM (#21205643)
ICU is a problem of our own making. Computers worked with other languages all the time before Unicode. You could say the same for pretty much any modern dependency.
Re:Guix Reduces Bootstrap Seed by Half by yjftsjthsd-h on Wednesday October 09, 2019 @09:43AM (#21203108)
But crucially, it didn't ship any compiler chain capable of building itself; I know compilers were smaller then, but apples-apples...
Re:Guix Reduces Bootstrap Seed by Half by folkrav on Wednesday October 09, 2019 @09:28AM (#21202964)
I'd be curious about comparing the resolution, color depth and compression levels of those images, and the bitrate/compression levels/codec of those sounds. Let's take one wallpaper. Win95 must have included a what, max 1024x768 wallpaper size? Assuming identical compression and color depths, that's still 786432 pixels total, compared to the 4K wallpapers we get today with 8294400 pixels - a larger than 10x increase. That's vastly oversimplifying, as a 10x pixel count doesn't directly translate to a 10x file size, but still, that's just for one image.

Pretty sure sounds in Win95 were MIDI, which aren't even actual audio files.

Re:Guix Reduces Bootstrap Seed by Half by secraetomani on Wednesday October 09, 2019 @09:47AM (#21203138)
We are comparing here a full graphical OS with kernel & drivers versus a bunch of command line tools.

And no, Win95 did include real audio files (if small).

Re:Guix Reduces Bootstrap Seed by Half by nitrogen on Wednesday October 09, 2019 @05:23PM (#21208251)
Don't make the mistake of assuming a GUI is automatically more complex or more advanced than command line tools.