You are not logged in.
Some of you might remember that I mentioned my plans of making an Arch install cd for low end systems. I've come quite far with this project now.
First, I must say that it was a lot harder than I first expected. So I can say I have learned a lot in the process.
Second, before I start ramblig about where I am in the process, I'll just outline what the plan is:
The best Linux distribution is Arch Linux, because of it's speed, simplicity and elegance in design. I often get hold of some old laptops which are too old for Arch (i586 normally, but also i486). I have tried a lot of distros made for low end systems, but I always end up thinking, ah how wonderful it would have been to have Arch on this. It would have been the perfect distro for this machine.
And the more I thought about it, I realised that even though Arch is perfect for super modern systems, it would be even more perfect for old systems, because of it's speed and simplicity, and not least the choice of packages.
Some have started projects to port Arch to i586. I don't think that is the best solution. A lot of Arch isn't really useful on these machines. Therefore I decided to make a new distro based on Arch, where the main difference is the choice of packages. You don't want to run a video editor on a i586. For now I've called the distro Lowarch.
Here's what I have done so far:
1st try:
Oh, I just change the compiler flags to i486 in /etc/makepkg.conf and start compiling all the packages. That worked great. Almost everything in base compiled fine. Until I started to notice the strange i686's coming up in all the ./configure outputs, and when I tried to install some of it on my i586, a lot of Illegal instruction messages came up.
After doing some research, I understood that some programs make static links to libraries, all of which, of course, are i686 coded on my system. I realised I needed to do this differently. Of course I didn't want to do all the compiling on a 486 machine.
2nd try:
I made a Cross Linux From Scratch system, compiled for i486. Even that I had to make twice, for a lot of programs check what processor they are running on and compile for that. So the second time I used a so-called uname-hack. A small kernel module which makes the kernel report that it's running on an i486 machine.
When I had a basic build system, I compiled pacman, and started to build packages. This time I had to take care of the order for dependencies to work out. First kernel-headers, glibc, etc. I installed one package at a time into an empty directory with the pacman -r option.
After having the base system compiled, I booted it, and (using the uname-hack still) continued to compile the other packages in current, and the ones that I wanted from extra.
It was really hard, since a lot of packages just don't compile with recent glibc and gcc. I have learned a lot about writing small patches just to make gcc happy or take away symbols not used anymore etc. The dependencies in the pkgbuilds are not always correct when it comes to building packages. Sometimes, and this is the most frustrating, packages seems to build correctly, but because some library wasn't installed or whatever, a few files are missing from the package, and I have no way to know, untill something goes wrong. Often this wrong is a package not compiling because include files are missing.
Another problem was to make an installer. I decided I just wanted a simple installer, like Arch has. So I compiled busybox and made an almost exact copy of the 0.7.2 install cd, just compiled for i486, and with my package selection on it.
What's left to do:
1. Look more closely at the package selection. If there are people who are interested in this we can have some nice discussions about this. There are a lot of packages I just don't know what is for, and therefore I don't dare take them away.
2. Clean up the PKGBUILDs, e.g take away references it the i686 and 64bit arch.
3. Compile the whole set of packages again, just in case.
4. Releasing it.
I've set up a wordpress page at lowarch.linuxophic.org, which is empty now, but where I'll put out a link to the iso when it's ready.
Offline
Sounds like you're doing a great job!
I find it a little alarming that there are packages out there that won't compile on a current system, are they important ones? And those unclean ones that do underhand things with the machine architecture ... their names should be proclaimed loudly in the community, they should be chastised and be banished to never-never-land. But sort of seriously, shouldn't such unfriendly packages gradually be banged into shape or replaced?
larch: http://larch.berlios.de
Offline
Yes, I think it would be smart to check out the PKGBUILD once in a while and see if they are still able to build packages. It seems this is only done when new releases arrive.
The thing about old programs not compiling with newer glibc and gcc or other libraries is unavoidable, and there's an unending stream of patches to address this issue. If a package hasn't had a release for a year, it's quite common that a change in a library it depends on will break the compilation. When or if new releases come, they should usually fix this.
Of course, PKGBUILDs of current packages should work with a current system, not with a system from last year, if their supposed to be of any use. But it's a huge job to keep this up to date at all times, and you need some programming skills to do it, and I would rather have the devs focus on more important things, like updating packages and making everything work even better.
Offline
This is just to say
that this is sent from a Toshiba Tecra 550CDT
Pentium MMX 266 MHz
64 Mb Ram, 4Gb HD
Using Lowarch
I'm running xfce4 and firefox. It uses 35mb ram (8 in cache) and it isn't too slow. I've connected through my 3G mobile and usb bluetooth.
Then to some of the problems:
To make this machine boot, I had to force the ide-generic module to load in the mkinitcpio.conf
That was not necessary for another i586 laptop I havo nor for my i686 laptop. Does anyone have an idea why it doesn't get loaded by the ide hook?
Offline
It was really hard, since a lot of packages just don't compile with recent glibc and gcc. I have learned a lot about writing small patches just to make gcc happy or take away symbols not used anymore etc. The dependencies in the pkgbuilds are not always correct when it comes to building packages. Sometimes, and this is the most frustrating, packages seems to build correctly, but because some library wasn't installed or whatever, a few files are missing from the package, and I have no way to know, untill something goes wrong. Often this wrong is a package not compiling because include files are missing.
please file bugs for these where relevant and good luck with your project!
Offline
I love the idea!
I'm not sure what I can contribute to the project, but if you think of anything a normal i686 user could do, let me know.
I've been contemplating picking up a mini-itx system, but the fact that it couldn't run Arch turned me away. The idea of an i486 compile is a great one, the real challange is in keeping it moderately up to date as most of the previous attempts at an i386 and i586 port have failed over time.
Best of luck!
Offline
I love the idea!
The idea of an i486 compile is a great one, the real challange is in keeping it moderately up to date as most of the previous attempts at an i386 and i586 port have failed over time.
Best of luck!
Yes, that's why I decided not limit the number of packages. So far I have deciced to include xfce4 and no kde or gnome. Now I'm looking through the package set of current to find what would be quite useless on a i586 machine, and taking that away.
Some things like raid and ldap etc, that I have never used, I'm wondering if should be taken away. I'd like to hear ideas about what isn't needed on a i586.
Offline
I'd leave raid in there personally. It's usefull if someone was to look into using an older pc for a fileserver and are looking for redundency etc.
Most of my ideas are based around a mini-itx board, but I know a lot of projects set them up as small fileservers with raid arrays. That would be a good reason to leave it in there IMHO.
LDAP - never used it, so i couldnt say
Offline
I'm actually installing the i686 image on a PIII right now with 128MB RAM. It didn't work at first until I modified the boot line to ramdisk_size=90%.
Seems to be installing perfectly now. Waiting for it to finish. OK, finished. Configuring it now...
Offline
Dear sir,;)
I have an old Pentium 166 with 16MB RAM & 2GB HDD. GUI is not required. Is it possible to install and work with above stuff. How can i get it?
With thanks in advance.
mvdvarrier
mvdvarrier is a Warrior; Born to Expedite!!!
Offline
The website is lowarch.org, and it's still online. The project, however, is no longer active, and I'm sure you noticed that this thread is two years old.
Offline
Dear sir,;)
I have an old Pentium 166 with 16MB RAM & 2GB HDD. GUI is not required. Is it possible to install and work with above stuff. How can i get it?
With thanks in advance.
mvdvarrier
Sure it isn't. ;-)
Try Damn Small Linux.
Offline