You are not logged in.
Hello everybody. I found ArchHurd today (I use ArchLinux). I´m a beginner in the programming world, but I´d help in everything I can. Seems great idea make real a GNU System with a Hurd kernel, specially if it´s in Arch way .
Well, I´ll try to boot ArchHurd this night .
(Sorry about my english)
Nice avatar. Gates ist der Fuhrer?
Offline
Just an update. The improved cross build method I am working on gets most of the way to booting then fails. It looks like an issue with a missing file (although I am not sure if that is correct or what file...)
I am testing whether my downgrading gcc to a "working" version and the need patches is causing the issue by rebuilding the "old" way and seeing if that boots. I will report back tomorrow.
Offline
Just an update. The improved cross build method I am working on gets most of the way to booting then fails. It looks like an issue with a missing file (although I am not sure if that is correct or what file...)
I am testing whether my downgrading gcc to a "working" version and the need patches is causing the issue by rebuilding the "old" way and seeing if that boots. I will report back tomorrow.
Does it look like this?
Hurd server bootstrap: ext2fs.static[device:hd0s1] execext2fs.static: ../../hurd
/libdiskfs/boot-start.c:396: diskfs_execboot_fsys_startup: Unexpected error: No
such file or directory.
Offline
Does it look like this?
Hurd server bootstrap: ext2fs.static[device:hd0s1] execext2fs.static: ../../hurd /libdiskfs/boot-start.c:396: diskfs_execboot_fsys_startup: Unexpected error: No such file or directory.
Yes and no. that error is a missing /servers/exec file. My error is on line 278, which is something else...
Offline
Yes and no. that error is a missing /servers/exec file. My error is on line 278, which is something else...
Did you try:
touch /servers/exec
http://www.archhurd.org/installing.php
I guess you did
EDIT: I solved my problem with touching /servers/exec && chmod 1777 hurd/tmp
Last edited by Giselher (2010-02-04 20:57:19)
Offline
So... here is my status...
gcc-4.4 does not build a working C++ cross compiler. It gives errors such as:
<path>/lib/gcc/i586-pc-gnu/4.4.0/../../../../i586-pc-gnu/lib/libgcc_s.so: undefined reference to `__multf3'
<path>/lib/gcc/i586-pc-gnu/4.4.0/../../../../i586-pc-gnu/lib/libgcc_s.so: undefined reference to `__fixunstfsi'
<path>/lib/gcc/i586-pc-gnu/4.4.0/../../../../i586-pc-gnu/lib/libgcc_s.so: undefined reference to `__subtf3'
gcc-4.3 does not build a booting hurd. The error message is:\
Hurd server bootstrap: ext2fs.static[device:hd0s1] exec initext2fs.static: boot-start.c:278: diskfs_start_bootstrap: Unexpected error: No such file or directory.
Apart from gcc headers, there is no file difference between the gcc-4.4 and gcc-4.3 builds so that error message is misleading...
I can not find a patch for either. Taking it to the hurd-bug list.
Offline
Hey,
First of all many thanks for the great crosshurd script, great way to get started working on this fun project
So... here is my status...
gcc-4.4 does not build a working C++ cross compiler.
I switched to gcc-4.2 for that reason and I managed to compile a booting system and even get gcc-4.4 semi-working on hurd (I am missing crtbegin.o, looking into that atm)
Another problem I am having is the login shell. When I try to login I always get rejected with:
login: Authentication Failure: Operation not permitted
I was thinking that it's somehow related to file permissions but after some testing it seems to be something else.
Anybody have any ideas?
EDIT: Solved the login problem, I was missing the /hurd/password translator at /servers/password
Last edited by melpo (2010-02-07 15:19:57)
Offline
I switched to gcc-4.2 for that reason and I managed to compile a booting system
What patches do you use to get gcc-4.2 to build?
Offline
What patches do you use to get gcc-4.2 to build?
I only used the gcc-4.2-target-configuration.patch from http://git.savannah.gnu.org/gitweb/?p=h … c898b4df25
I didn't change anything else in your cross-gcc scripts except commenting out the 'make all-target-libgcc install-target-libgcc' line in cross-gcc-pass1
To build gcc-4.4 for hurd I had to set SYSTEM_HEADER_DIR manually when building.
Offline
Offline
Party time \o/
Using gcc-4.2.4 as cross-compiler I managed to get gcc-4.4.3 working on hurd (only tested with very trivial programs yet)
There are some weird problems when compiling libgcc which seem to result from the Makefile not passing the CC value correctly and creating a bad libgcc. I haven't looked into it any further yet though.
I will upload my changes to the crosscript as soon as I got everything cleaned up and tested.
Offline
I was trying to do the CLFS approach to avoid all the issues with the toolchain.
Here is the progress: http://allanmcrae.com/hurd/crosshurd-20100213.tar.gz It will require manual intervention to get the source...
Note that with gcc-4.4 it fails to build a working C++ compiler so fails cross compiling packages needed for the toolchain. gcc-4.3 works, but I can not get the image booting. A quick test with gcc-4.2 did not boot but I have no time to look further due to work commitments.
Offline
Great project! I was interested in Hurd for a while but couldn't find a starting point. I'll try it right away.
By the way, http://repo.archhurd.org/crosshurd/ currently doesn't working.
Last edited by Optln (2010-02-14 04:20:35)
Offline
Great project! I was interested in Hurd for a while but couldn't find a starting point. I'll try it right away.
By the way, http://repo.archhurd.org/crosshurd/ currently doesn't working.
Installling page fixed.
Offline
I thought there are no sound drivers on Hurd? So i expect no much fun with flash xD
Offline
Uhm, they haven't got a bootable system yet, although they are close. I don't think flash is especially high on the to-do list, or gnash as it gotta be free.
Offline
Mh I don't seem to be able to reproduce my working system in a clean environment....
I'm also experiencing some problems booting a gcc-4.2 compiled kernel. Seems that we need gcc-4.4 to compile a booting kernel, 4.2.4 to compile the toolchain.
So any ideas? In my opinion getting the gcc-4.4 c++ compiler working would be a good solution but I haven't found time yet to work on it. I'll try to make some progress on that next weekend
Offline
why not dump i686 and go straight to 64bit on this?
Offline
@brendan: That would require a bunch of coding, as right now HURD is only 32bit.
Offline
@brendan: That would require a bunch of coding, as right now HURD is only 32bit.
fair enough, I was thinking that might be the reason.
Offline
Yeah... we can not even go i686 and the kernel has issues with that.
Offline
...does hurd even work?
*hides in a corner*
Offline
Until I saw the screenshot on this page (http://www.gnu.org/software/hurd/hurd/status.html), I thought the same thing...
Offline
I was trying to do the CLFS approach to avoid all the issues with the toolchain.
Here is the progress: http://allanmcrae.com/hurd/crosshurd-20100213.tar.gz It will require manual intervention to get the source...
Note that with gcc-4.4 it fails to build a working C++ compiler so fails cross compiling packages needed for the toolchain. gcc-4.3 works, but I can not get the image booting. A quick test with gcc-4.2 did not boot but I have no time to look further due to work commitments.
Why don't build the C++ compiler with 4.3 and hurd with 4.4?
EDIT:
I get this message when compiling gnumach
/bin/sh: mig: command not found
Last edited by Giselher (2010-02-22 19:55:10)
Offline
Hey,
I found the debian patch to get a working gcc-4.4 c++ compiler built in the debian patch tracker. (http://patch-tracker.debian.org/patch/s … anges.diff)
--- a/gcc/config.gcc 2009-04-26 21:36:36.000000000 +0200
+++ b/gcc/config.gcc 2009-04-26 21:36:53.000000000 +0200
@@ -3057,7 +3057,7 @@
i[34567]86-*-darwin* | x86_64-*-darwin*)
tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp"
;;
- i[34567]86-*-linux* | x86_64-*-linux* | i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu)
+ i[34567]86-*-linux* | x86_64-*-linux* | i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | i[34567]86-*-gnu*)
tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux"
;;
ia64*-*-linux*)
--- a/libgcc/config.host 2009-04-27 02:04:10.000000000 +0200
+++ b/libgcc/config.host 2009-04-27 02:04:23.000000000 +0200
@@ -591,6 +591,7 @@
case ${host} in
i[34567]86-*-darwin* | x86_64-*-darwin* | \
i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
+ i[34567]86-*-gnu* | \
i[34567]86-*-linux* | x86_64-*-linux*)
if test "${host_address}" = 32; then
tmake_file="${tmake_file} t-softfp i386/${host_address}/t-fprules-softfp"
<3 to the debian folks for this
Next stop pacman
Offline