But did you make any packages for gcc and glibc? Because i'd like to test them out and see if anything does need to be recompiled. Most likely nothing will need to be recompiled because when you compile something gcc defaults to -m64. So it links against what ever is in /lib64
Creepy: Sorry to tell you this but i got glibc working WICKED fast. What i did was download the arch32 glibc and untar it manually. Then i copied the lib dir it created to my arch64 partition. It works! I know because now i can run grub which wasn't working before. But your gcc is still useful. Also updated glibc on the mirror. Ran a few more tests too. Compiled a hello world in gentoo with -m32 and then with -m64 both ran fine.
Ok I admit I was wrong. My hack doesn't fully work. I found out that pam and other things stopped working. But i'm trying to find a way to get it going since everything that is needed for a 32bit glibc is there. This is also close to what gentoo does according to the people i talked to in irc (compile it on a different system and copy it over).
PAM probably uses things in /lib which are 32bit once copied over.
a.t.m I have a working chroot native 64bit arch system. I'm going to use that to compile gcc and glibc (again )and a few other packages with abs. Using that I'm going to install that on a empty partition to see if I can bootstrap a complete arch64 system.
I know I'm taking the long way but this way I'm sure the packages can be used to bootstrap a new system without an OS installed
Once I have that I'll make a package for a i686 cross compiling gcc so I can compile a native i686 glibc.
Then the fun really starts with making a amd64 install CD and compiling stuf like X, Gnome etc
Make some packages for glibc and gcc with makepkg! Thanks! BTW i couldn't get dhcp to work but i was able to get networking to work with a static ip.
Some packages are giving me a headache.... I can't seem to compile coreutils because of unreferenced links to some pam functions. I guess this is due to PAM using a biniary cracklib when compiling from source(!). A.t.m. I cannot run and use 32 bits lib, and the precompiled cracklib is 32 bit... sigh. I really need to get some sleep now so maybe more tomorrow.
I have packages for GCC and Gblic, both multilib disabled (!) and not tested. Once I know they work I'll upload them. I have all base packages compiled except for coreutils, bin86 (needs 32bit), grub (needs 32bit), lilo (needs 32bit), iputils (kernel/user header file problems) and coreutils (pam problems).
lilo doesn't work on amd64 and with pam you need to get the unix_passwd.c file from kth5 and don't patch coreutils with the stuff in abs. I had the same problems. I think I was able to build iputils, but i'm not sure. If you want I can bring my mirror online again. Could you send me the gcc package somehow? That is mostly what I need, since I wasn't able to build it all never mind with multilib support.
I just booted a pure amd64 archlinux system
I want to use that to recompile (!) al base packages and start work on a multilib gcc and 32bit glibc libs.
Just one small problem to tackle: abs needs cvsup. cvsup is distributed as a binairy. So I need to get a (minimal) modula3 distribution running on archlinux64 just to compile cvsupd.
Pam was nice as well with a precompiled 32bit cracklib in the source And the pkgbuild was missing a patch. And probably because of that there was an error in the source. I've made a new PKGBUILD and an extra patch and a 64bit cracklib to compensate.
I'm uploading gcc and glibc now to http://www.bosselaar.net/archlinux/amd64/base
I'm bugging someone else to get a place to upload all the packages I've used to boot
Yep, thats the patch that fixes the unix_passwd.c file. Kth5 has the working stuff in his abs tree. Thanks for getting gcc to compile that was the 1 thing i was having trouble with. Also i was thinking about compiling a static grub. I can setup a server for you if you want. I have a bunch of systems. Also gonna build a mac mini cluster soon waiting for someone to buy my dual xeon system on ebay. Gonna use that for web hosting. Make sure you get a multilib glibc before you start recompiling the base. For cvsup i just used the 32bit one in pacman. I figured it can be recompiled later on.
I'm recompiling base already, just to check if my arch amd64 is correct (and self hosting ).
I've copied the abs tree from my 32bit archlinux so thats working now. I'm compiling multilib gcc a.t.m. After that the first thing for me to do is a 32bit glic. And when that is done, cvsup should be working as well (without the need for a modula3 compiler and thus a 64bit version)
Note: all packages I used install install libs in /lib. Only GCC uses /lib64 to install libs. /lib on my system is not symlinked to /lib64. It shouldn't be a problem since ld scans both dirs. I did this because this way I don't have to change every PKGBUILD
The 32bit packages for archlinux amd64 will (have to) install libs in /lib32. So only the 32bit packages on archlinux amd64 will need special care with the PKGBUILD
Great! Thanks for doing all this. I'm not gonna bother to continue since you seem to have everything under control. After you finish I can help with the extra repos. I will also become a mirror since someone made an offer for my xeon system. Mac mini cluster is gonna rock!
Cool. My own webspace is bandwith limited, but I think I'm gonna upload all packages I have anyway. Or I'll put them on my crappy home dsl line for the moment.
Anyway, the base system is ok. I've recompiled a few packages (eg glibc, gcc, binutils, coreutils, iputils). and that works ok. I haven't enabled multilib support since it needs a 3bit glibc.
I'm gonna fix a 32bit gcc crosscompiler first and then a 32bit glic.
I was thinking about putting the 32bit glibc in /opt/lib32/ or even in /opt/32/lib instead of /lib32, since 32bit support is optional. Comments?
It isn't really optional since grub needs it. Grub is the only bootloader that works on the amd64 so, it probably needs to go in /lib32 also things like flash, opera, real player, and openoffice will use it too.
can you please tell how to make the switch to amd64. I tried by myself... installed glibc and boom! restore system with boot cd.
The way i originally did it was install a 64bit distro, compile pacman, and then start compiling things with abs and installing the 64bit packages with pacman on a separate partition. ex. pacman -Ar /mnt/arch64 glibc..., I'll bring my mirror online agian after some testing. Wanna see if creepy's glibc and my packages will work together.
Not sure if i'll be able to test the stuff because my system has been suffering from a TON of random reboots. I thought i fixed by disabling machine check exception but the seem to be coming back. Not sure why. I'll try going to the darkside and see if i can test the stuff in vmware 5.
I compiled a cross compiling gcc/binutils/glibc combo.
With that I compiled a native amd64 kernel.
Then I booted into that (with a standard 32bit arch userland). and used that to compile arch packages.
Then I installed those packages on a new partition, booted into that, en rebuild the packages again.
One problem still remains: a 32bit glib. I haven't gotten it compiled yet. I have a 32bit crosscompiling gcc/binutils combo, but the glibc is giving me errors a.t.m.
And I wrecked my arch64 install yesterday, so yesterday evening I reinstalled a clean arch64 install.
On the other hand, I have a x.org package
When I have a 32bit glibc compiled from arch64 I'll make a grub package and a generic 64bit kernel. With that I'll try to make a base arch64 iso so we can use that in the future to install arch64.
Ok, I have a gnome desktop up and running now!
If someone has some room for me to upload packages ....
Now I can do some things like surfing on my pc while building packages! Next step on my todo list: 32 bit glib and grub.
Creepy, Nice work! As soon as you find space, I'll give it a shot!
Creepy talk to Maverick in the irc channel. Also, when i originally started the project, Xentac said, when it was done, the stuff would go on the offical mirrors.
Cool! Will do tomorrow, time for bed now
I have a32bit cross compiler + a 32bit glibc working now. So I'll probably have a multilib gcc + glibc tomorrow. Then it's just grub and a generic amd_64 kernel
32bit glic is compiled. I'll still have to test it and compile a multilib gcc with it. Then with that, I'll have to try to compile the 32bit glibc with the gcc multilib to ensure its self hosting.
Small update: glibc32 was compiled. But with the wrong directory (/lib and /usr/lib). And because I've been busy at work I didn't have a change to figure out what I did wrong. Just renamed the configparams file to configparms. That seems to make a difference. So a real glibc32 package is finally underway..
Too bad some posts were removed..... anyway
Packages are here: http://bosselaar.xs4all.nl/archlinux/amd64/. Note: this is on my dsl line, so don't hit it too hard
You have to install these packages from a running amd64 distro. There is no kernel package yet, and there is a small error in the pacman package which has a wrong flag set in the makepkg.conf (-march=x86_64 instead of -march=k8").
Missing packages for a basesystem are grub (can't be compiled in 64 bit mode) and cvsup which is distributed only as a binary. cvsup should be able to run with the glibc32 packages but I haven't checked that yet.
So yes, I have 32bit libs installed. But I'm not able (yet) to compile a multilib gcc with that. gcc3.3 borks on an error in its own specfile and gcc3.4 has a compile error. I'll post the real error messages here this evening. Any help would be appreciated.