You are not logged in.
Suggestion: I noticed from reading the GNU/Hurd User's Guide, that Debian has a package for crosshurd available to any distro that has dpkg/apt for internet install. Would it be possible to use this to our advantage or would it not be needed?
Offline
Maybe not... we can already cross compile hurd. It just panics very early in the boot process.
Edit: although it might be helpful in figuring out what has been done differently...
Offline
Maybe not... we can already cross compile hurd. It just panics very early in the boot process.
Edit: although it might be helpful in figuring out what has been done differently...
AFAIK debian builds for i386 not i686, maybe that could be affecting it?
Offline
Allan wrote:Maybe not... we can already cross compile hurd. It just panics very early in the boot process.
Edit: although it might be helpful in figuring out what has been done differently...
AFAIK debian builds for i386 not i686, maybe that could be affecting it?
Can we compile the available source to i686 and make it work that way?
Offline
Allan wrote:Maybe not... we can already cross compile hurd. It just panics very early in the boot process.
Edit: although it might be helpful in figuring out what has been done differently...
AFAIK debian builds for i386 not i686, maybe that could be affecting it?
I believe Debian builds for i486 (or even i586) these days. i386 is not supported with newer toolchains. But as posted above, there are definite differences in i586 vs i686 booting "success". i686 gets nowhere...
@Acecero: Debian's crosshurd is a script so no compiling needed. i686 seems to not be supported but gnumach kernel yet so we should stick to i586 in the meantime.
Offline
I got a response on hurd-help:
http://lists.gnu.org/archive/html/help- … 00003.htmlThe comment about i686 does not sound so good...
This might be old info, but it doesn't sound too good either:
GNU Mach runs on IA-32 machines, and is expected to be ported to other computers.
From wikipedia
====* -- Joke
O
\|/ --- Me
/ \ Whooooosh
Offline
And I have a booting install!
http://allanmcrae.com/hurd/crosshurd-20100116.tar.gz
We needed patches for hurd and libpthread to enable TLS support.
The qemu image is slightly weird... I can not manually create one that boots. I get messages like "superblock size too small. See http://allanmcrae.com/hurd/hurd-superblock.png . So I use another qemu image (Debian hurd) and just clean the partition before copying over my cross built files.
To boot the partition need the following done:
mkdir /servers
touch /servers/exec
mkdir /tmp
chmod 1777 /tmp
Follow instructions here (http://www.debian.org/ports/hurd/hurd-install) for how to boot from grub.
If someone can figure out why my manually created .img file has issues booting, we could have an entirely independent booting Hurd image! See instructions in notes/qemu in the tarball.
Offline
And I have a booting install!
http://allanmcrae.com/hurd/crosshurd-20100116.tar.gz
*builds*
To boot the partition need the following done:
mkdir /server touch /server/exec mkdir /tmp chmod 1777 /tmp
Maybe add those to ./scripts/makeall?
Offline
Sure.... there is a lot more that needs done to get a nice system (whoami will not work because the lack of /etc/passwd, etc). So there need to be a lot more setup at the end.
Edit: also sent an email to hurd-help asking about the qemu issues. You may also want to downgrade qemu to 0.11.1-1 as I can not get network working in 0.12.1-1
Offline
When trying to boot on my manually-created .img file I get an error about some file missing:
diskfs_execboot_fsys_startup: Unexpected error: No such file or directory.
I'll recompile to see if anything went wrong, and if not, try using the Debian GNU/Hurd image.
edit: Hmm, same error with the Debian image.
Last edited by Barrucadu (2010-01-16 18:03:32)
Offline
I have booted Hurd in Qemu, using my manually-built image
Slight problem with your instructions Allan, it needs to be /servers, not /server. Also, I made the qemu image using the method that failed for you, so I'm not sure what's going wrong.
Offline
Installation instructions: http://www.archhurd.org/installing.php — covering build with crosshurd, creating a qemu image, setting up (some) devices, creating a few config files, and starting the network.
edit: Build scripts for sed, ncurses, and nano in this blog post: http://blog.barrucadu.co.uk/arch-hurd-is-bootable
edit 2: Just looking through the traffic stats on google analytics… Article on here: http://vivalinux.com.ar/distros/arch-hurd
It's using the rubbish placeholder logo
Logo contest time!
Last edited by Barrucadu (2010-01-16 23:11:51)
Offline
Installation instructions: http://www.archhurd.org/installing.php — covering build with crosshurd, creating a qemu image, setting up (some) devices, creating a few config files, and starting the network.
edit: Build scripts for sed, ncurses, and nano in this blog post: http://blog.barrucadu.co.uk/arch-hurd-is-bootable
edit 2: Just looking through the traffic stats on google analytics… Article on here: http://vivalinux.com.ar/distros/arch-hurd
It's using the rubbish placeholder logo
Logo contest time!
Partay!
Great job getting this far guys!
Offline
I have booted Hurd in Qemu, using my manually-built image
Hmmm.... I must be doing something wrong then. what commands does you use in fdisk?
Slight problem with your instructions Allan, it needs to be /servers, not /server. Also, I made the qemu image using the method that failed for you, so I'm not sure what's going wrong.
Fixed.
Offline
Hmmm.... I must be doing something wrong then. what commands does you use in fdisk?
Just trying to remember… IIRC I used gparted to make the partition table and partition in the image (sudo gparted archhurd.img), then proceeded following your instructions (as gparted couldn't format it).
Last edited by Barrucadu (2010-01-17 01:17:38)
Offline
I've tried cfdisk, gparted. ... and still not getting a working image. I must be doing something wrong!
Offline
grep script: (add "GREP_VER=2.5.4" to prepare)
#!/bin/bash
cd $SOURCE_DIR
if [ ! -f grep-$GREP_VER.tar.bz2 ]; then
wget ftp://ftp.gnu.org/gnu/grep/grep-$GREP_VER.tar.bz2
fi
cd $BUILD_DIR
rm -rf grep-$GREP_VER
tar -xf $SOURCE_DIR/grep-$GREP_VER.tar.bz2
rm -rf grep-build
mkdir -p grep-build
cd grep-build
../grep-$GREP_VER/configure \
--host=$TARGET \
--disable-perl-regexp \
--without-included-regex
make DESTDIR=$HURD_DIR install
cd $ROOT
Here is what I think still needs packaged before we can start building pacman and doing some "real" packaging.
(packages needed for working compiler)
zlib
binutils
gmp
mpfr
ppl
cloog-ppl
gcc
(packages makepkg needs)
awk
libarchive
bzip2
fakeroot
findutils
util-linux
gettext
gzip
openssl
wget
...
Offline
Updated tarball with sed, ncurses, nano and grep:
http://allanmcrae.com/hurd/crosshurd-20100117.tar.gz
Offline
grep script: (add "GREP_VER=2.5.4" to prepare)
...
Add `--prefix=/usr` to the configure line, otherwise it gets installed to /usr/local.
Here is what I think still needs packaged before we can start building pacman and doing some "real" packaging.
(packages needed for working compiler)
zlib
binutils
gmp
mpfr
ppl
cloog-ppl
gcc
(packages makepkg needs)
awk
libarchive
bzip2
fakeroot
findutils
util-linux
gettext
gzip
openssl
wget
...
I'll get working then
Last edited by Barrucadu (2010-01-17 12:07:38)
Offline
gzip:
GZIP_VER=1.3.13
#!/bin/bash
cd $SOURCE_DIR
if [ ! -f gzip-$GZIP_VER.tar.gz ]; then
wget ftp://ftp.gnu.org/pub/gnu/gzip/gzip-$GZIP_VER.tar.gz
fi
cd $BUILD_DIR
rm -rf gzip-$GZIP_VER
tar -xf $SOURCE_DIR/gzip-$GZIP_VER.tar.gz
rm -rf gzip-build
mkdir -p gzip-build
cd gzip-build
../gzip-$GZIP_VER/configure \
--host=$TARGET \
--prefix=/usr
make DESTDIR=$HURD_DIR install
cd $ROOT
Offline
Add `--prefix=/usr` to the configure line, otherwise it gets installed to /usr/local.
Good catch, but this is hurd... it should be "--prefix="
Offline
gawk:
GAWK_VER=3.1.7
#!/bin/bash
cd $SOURCE_DIR
if [ ! -f gawk-$GAWK_VER.tar.gz ]; then
wget ftp://ftp.gnu.org/gnu/gawk/gawk-$GAWK_VER.tar.gz
fi
cd $BUILD_DIR
rm -rf gawk-$GAWK_VER
tar -xf $SOURCE_DIR/gawk-$GAWK_VER.tar.gz
rm -rf gawk-build
mkdir -p gawk-build
cd gawk-build
../gawk-$GAWK_VER/configure \
--host=$TARGET \
--prefix= \
--disable-libsigsegv
make DESTDIR=$HURD_DIR install
cd $ROOT
Offline
Haha, it's just like LFS
/me wants you to detele this account... please delete it.
Offline
Wow I really like this idea. This has been the first time to read about GNU/Hurd actually and I like the idea about it.
However, I still find myself in looking up the Beginners' Guide for basic stuff and sometimes I feel the barely supressable urge of posting something linke "AAAAH it doesn't work help me!" so I'll probably not dare investing lots of time in archhurd yet
I'll keep an eye on it, though! Great idea!
Offline
bzip2:
BZIP2_VER=1.0.5
#!/bin/bash
cd $SOURCE_DIR
if [ ! -f bzip2-$BZIP2_VER.tar.gz ]; then
wget http://www.bzip.org/$BZIP2_VER/bzip2-$BZIP2_VER.tar.gz
fi
cd $BUILD_DIR
rm -rf bzip2-$BZIP2_VER
tar -xf $SOURCE_DIR/bzip2-$BZIP2_VER.tar.gz
cd bzip2-$BZIP2_VER
make CC="$CC" AR="$AR" RANLIB="$RANLIB" PREFIX="$HURD_DIR" install
cd $ROOT
Offline