diff options
Diffstat (limited to 'hurd/running')
53 files changed, 1507 insertions, 298 deletions
diff --git a/hurd/running/arch_hurd.mdwn b/hurd/running/arch_hurd.mdwn new file mode 100644 index 00000000..9786d144 --- /dev/null +++ b/hurd/running/arch_hurd.mdwn @@ -0,0 +1,21 @@ +[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="Arch Hurd"]] + +Arch Hurd is a port of Arch Linux to the GNU Hurd, founded on 2010-01-04 by Michael Walker (Barrucadu) and, with input from a variety of people including Alan McRae (allan), Matthias Lanzinger (melpo), and Alexander Preisinger (giselher), the project has made excellent process. There is a livecd available on the Arch Hurd website, with which you can try or install Arch Hurd. + +### Links + +* Official Website: <http://www.archhurd.org> +* Installation Guide: <http://wiki.archhurd.org/wiki/Installation_Guide> +* Mailing Lists: <http://lists.archhurd.org> +* Forum: <http://bbs.archhurd.org> +* IRC: #archhurd on irc.freenode.net diff --git a/hurd/running/debian.mdwn b/hurd/running/debian.mdwn index 56b4fae2..97d35bd7 100644 --- a/hurd/running/debian.mdwn +++ b/hurd/running/debian.mdwn @@ -1,13 +1,28 @@ -[[img logo.png]] +[[!meta title="Debian GNU/Hurd"]] -- Debian [[FAQ]] -- Frequently Asked Questions -- [[After_install]] -- Do this to get networking, new console and X -- [Presentation](http://people.debian.org/~mbanck/talks/hurd_lt2004/html/) - *Debian GNU/Hurd* by [[MichaelBanck]], LinuxTag 2004 Karlsruhe -- [[Status]] +### Debian Resources - Official page about the Debian GNU/Hurd port: [Debian GNU/Hurd](http://www.debian.org/ports/hurd/) + +- Debian [[FAQ]] -- Frequently Asked Questions + +### Installing + - [Installation Instructions](http://www.debian.org/ports/hurd/hurd-install) - [Upgrading K11 or K14 based systems to unstable](http://lists.debian.org/debian-hurd/2007/09/msg00007.html) +- [[After_install]] -- Do this to get networking, new console and X + +### Contributing + +- [[Porting]] -- Helping with porting packages + * [[Patch_submission]] -- How to submit patches for build failures +- [[Creating_image_tarball]] + +### Additional Information + +- [Presentation](http://people.debian.org/~mbanck/talks/hurd_lt2004/html/) + *Debian GNU/Hurd* by [[MichaelBanck]], LinuxTag 2004 Karlsruhe +- [[Status]] - [Archive Qualification](http://wiki.debian.org/ArchiveQualification/hurd-i386) + diff --git a/hurd/running/debian/BtsFiling.mdwn b/hurd/running/debian/BtsFiling.mdwn deleted file mode 100644 index 90f451a8..00000000 --- a/hurd/running/debian/BtsFiling.mdwn +++ /dev/null @@ -1,52 +0,0 @@ -When you encounter any GNU/Hurd related bugs in a Debian package you can fix, please use the Debian BTS (Bug Tracking System) to report them. - -Managing Debian packages and using the BTS is quite simple. If you're new to Debian, here's a short guide: - -* first of all, check [http://bugs.debian.org/<package>](http://bugs.debian.org) to ensure the problem is not in the BTS already. This is possible for packages and bug numbers. [[TWiki/InterWikis]] is a shorthand way of linking to bugs and packages from this site. i.e. [[DebianBug]]:hurd [[DebianPackage]]:oskit -* you can fetch package sources with: - - apt-get source <package> - -note: this should unpack already - -* and unpack with: - - dpkg-source -x <package>x-y_z.dsc - -* then get all dependencies: - - apt-get -y build-dep <package> - -note: if some dependencies are missing, it most probably means you have to port them first. follow this instructions recursively until done - - :) - -* Debian packages have a makefile in debian/rules, with (at least) the following targets: <dl> - <dt> build</dt> - <dd> Yup, to build </dd> - <dt> binary</dt> - <dd> Generates deb files in <code>../</code></dd> - <dt> clean</dt> - <dd> Full clean </dd> -</dl> - -* when you have a patch, send it to the BTS using the reportbug utility (or manually as explained in <http://bugs.debian.org/)>. The following parameters should be used: - - Severity: important (when the package is unbuildable or uninstallable, lower otherwise.) - Tags: sid, patch - -* be nice to the maintainers. most are friendly and cooperative, and a few could annoy you for months before applying. Be patient. - -Read <http://bugs.debian.org/> for extensive documentation on the BTS. - --- [[Main/RobertMillan]] - 10 Jun 2002 - ----- - -Wikification & small changes. - --- [[Main/JoachimNilsson]] - 24 Jun 2002 - -Updates with the new [[TWiki/InterWikis]] rules. - --- [[Main/GrantBow]] - 15 Jan 2003 diff --git a/hurd/running/debian/CrossInstall.mdwn b/hurd/running/debian/CrossInstall.mdwn index 9a07424e..1cde150c 100644 --- a/hurd/running/debian/CrossInstall.mdwn +++ b/hurd/running/debian/CrossInstall.mdwn @@ -34,7 +34,7 @@ Now the program starts retrieving all the necessary base packages. ### <a name="Preparing_to_reboot"> Preparing to reboot </a> -When all packages have been extracted we must prepare [[GrubNotes]] for the Hurd when we reboot. Add the below entry to your `/boot/grub/menu.lst` file to boot the Hurd in single user mode (-s). Single user mode is needed only for the two reboots when running the Native Install. +When all packages have been extracted we must prepare [[GRUB]] for the Hurd when we reboot. Add the below entry to your `/boot/grub/menu.lst` file to boot the Hurd in single user mode (-s). Single user mode is needed only for the two reboots when running the Native Install. title GNU (kernel GNUmach 1.3) root (hd0,2) diff --git a/hurd/running/debian/DebianAptOffline.mdwn b/hurd/running/debian/DebianAptOffline.mdwn index 52313bf2..9596040d 100644 --- a/hurd/running/debian/DebianAptOffline.mdwn +++ b/hurd/running/debian/DebianAptOffline.mdwn @@ -1,18 +1,12 @@ -[[license text=""" -Copyright © 2005, 2007 Free Software Foundation, Inc. -Permission is granted to copy, distribute and/or modify this document under the -terms of the GNU Free Documentation License, Version 1.2 or any later version -published by the Free Software Foundation; with no Invariant Sections, no -Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included -in the section entitled [[GNU_Free_Documentation_License|/fdl.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. -"""]] +[[!meta copyright="Copyright © 2005, 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] # How to Installing Packages without a Network Connection from your Hurd Installation diff --git a/hurd/running/debian/GnuDebianRelationship.mdwn b/hurd/running/debian/GnuDebianRelationship.mdwn index ede808c8..94fd6265 100644 --- a/hurd/running/debian/GnuDebianRelationship.mdwn +++ b/hurd/running/debian/GnuDebianRelationship.mdwn @@ -2,11 +2,11 @@ I have hesitated in starting this page due to the sensitive nature of this relat This is a work in progress. Please email me directly if you have comments or suggestions. -* Debian Advantages of Hurd [[Distrib/PortingIssues]] Efforts +* Debian Advantages of Hurd [[porting/guidelines]] Efforts * One of the first ports to non-Linux system along with \*BSD and win32. * Official GNU system distribution. -* Debian Disadvantages of Hurd [[Distrib/PortingIssues]] Efforts +* Debian Disadvantages of Hurd [porting/guidelines]] Efforts * Perceived zealous GNU and FSF promotion. * Hurd Port Advantages of Debian diff --git a/hurd/running/debian/MediaPressKitDiscuss.mdwn b/hurd/running/debian/MediaPressKitDiscuss.mdwn index e8b1cfff..2bd97290 100644 --- a/hurd/running/debian/MediaPressKitDiscuss.mdwn +++ b/hurd/running/debian/MediaPressKitDiscuss.mdwn @@ -1,5 +1,3 @@ -%TOC% - # <a name="Media_Press_Kit"> Media / Press Kit </a> ## <a name="Problem"> Problem </a> diff --git a/hurd/running/debian/after_install.mdwn b/hurd/running/debian/after_install.mdwn index 5c998c94..15ca9c83 100644 --- a/hurd/running/debian/after_install.mdwn +++ b/hurd/running/debian/after_install.mdwn @@ -5,7 +5,7 @@ mode? Time to get to work. -[[toc ]] +[[!toc]] ### Get Networking Running @@ -29,12 +29,13 @@ If the NIC was detected: # settrans -fgap /servers/socket/2 /hurd/pfinet -i eth0 -a 192.168.1.3 -g 192.168.1.1 -m 255.255.255.0 +In order to use DHCP, you need to install the `dhcp-client` package and run `dhclient eth0` etc. # Setup GRUB You surely want grub to have a nice menu entry able to boot GNU, instead of typing a boring arcane. There are Debian-specific scripts that may help -you. See the [[GrubNotes]] for this. +you. See [[GRUB]]'s page for this. # Setup `apt-get` @@ -44,47 +45,22 @@ put in `/etc/apt/sources.list` are (as of Jan 2007): deb http://mirrors.kernel.org/debian unstable main contrib deb-src http://mirrors.kernel.org/debian unstable main contrib - deb http://ftp.gnuab.org/debian unreleased main - deb-src http://ftp.gnuab.org/debian unreleased main + deb http://ftp.debian-ports.org/debian unreleased main + deb-src http://ftp.debian-ports.org/debian unreleased main `apt-get` update a couple of times if some file fails to download. -<!-- As long as I am around (which is as off February 2005) I never ever had to -do such following frobbing. Should we remove this? --[[tschwinge]] --> - -If when doing your first `apt-get`, `dpkg` complains of missing programs, [try -to cheat it this -way](http://lists.debian.org/debian-hurd/1999/05/msg00187.html): - - # ln -s /sbin/ldconfig /bin/ldconfig - # ln -s /bin/true /bin/update-rc.d - # ln -s /bin/true /bin/start-stop-daemon - # ln -s /bin/true /bin/install-info - # ln -s /bin/true /bin/update-alternatives +If when doing your first `apt-get`, `dpkg` complains of missing programs, get root in a login shell (`su -`). Installing packages without having a network connection is described [[Distrib/DebianAptOffline]]. - # [[translator/Random]] -You often need `scp` and `ssh`. Sadly the Debian GNU/Hurd does not yet come -with any default random translator package installed. See -[[translator/random]] for details, the following is just a quick recap. - - cd && mkdir tmp && cd tmp - wget http://kilobug.free.fr/hurd/random-64.tar.gz - tar xvfz random-64.tar.gz - cp random /hurd/ - - settrans -c /dev/random /hurd/random \ - --seed-file /var/run/random-seed --secure - settrans -c /dev/urandom /hurd/random \ - --seed-file /var/run/urandom-seed --fast - chmod 0644 /dev/random /dev/urandom - - apt-get install ssh +You often need `scp` and `ssh`. There is now a `random-egd` package available which uses +a random translator by Ryan Hunter and the entropy gathering daemon as entropy source. +See [[Translator/random]] for more information. # [[Console]] @@ -109,7 +85,7 @@ You first must have setup the virtual console. See above. Assuming you've installed WindowMaker and have tried running `startx` already: - [/etc/X11/XF86Config-4] + [/etc/xorg.conf] Section "Module" # Load "dri" @@ -130,9 +106,6 @@ Assuming you've installed WindowMaker and have tried running `startx` already: Make sure not to have the `Emulate3Buttons` and `ZAxisMapping` settings set, as they lead to problems with e.g. dragging windows around. - [/etc/profile] - LD_LIBRARY_PATH=/X11R6/lib:$LD_LIBRARY_PATH - # What about package XYZ? See if you can find a useful tip in [[package_troubleshooting]]. diff --git a/hurd/running/debian/creating_image_tarball.mdwn b/hurd/running/debian/creating_image_tarball.mdwn new file mode 100644 index 00000000..ac91dab4 --- /dev/null +++ b/hurd/running/debian/creating_image_tarball.mdwn @@ -0,0 +1,21 @@ +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +The following [[anonftpsync-ports]] is used to create a local Debian GNU/Hurd +repo. You will need atleast 12G of disk space. Change the +"TO=/home/foo/rsync-debian-ports" to your desired target directory. + +Run it using: + + sudo sh anonftpsync-ports + +In /home/foo/rsync-debian-ports, you will find the following directories: + + base dists indices pool pool-hurd-i386 project diff --git a/hurd/running/debian/creating_image_tarball/anonftpsync-ports b/hurd/running/debian/creating_image_tarball/anonftpsync-ports new file mode 100644 index 00000000..0988dbde --- /dev/null +++ b/hurd/running/debian/creating_image_tarball/anonftpsync-ports @@ -0,0 +1,180 @@ +#! /bin/sh +set -e + +# This script originates from http://www.debian.org/mirror/anonftpsync +# modified by Martin Zobel-Helas <zobel@debian.org>, 2005-01-16 +# these modifications are published under the terms of the GNU GPL +# Modifications: +# + some more documentation about variables +# + added ARCH_EXCLUDE +# + mirror in a safe way, first /pool, then /dists and the rest +# modified by Aurelien Jarno <aurel32@debian.org>, 2007-12-02 +# these modifications are published under the terms of the GNU GPL +# + modifications to mirror debia,-ports.org +# Version: $Id: anonftpsync,v 1.18 2005/10/28 15:25:54 aba Exp $ + + +# Note: You MUST have rsync 2.0.16-1 or newer, which is available in slink +# and all newer Debian releases, or at http://rsync.samba.org/ + +# Set the variables below to fit your site. You can then use cron to have +# this script run daily to automatically update your copy of the archive. + +# Don't forget: +# chmod 744 anonftpsync + +# TO is the destination for the base of the Debian mirror directory +# (the dir that holds dists/ and ls-lR). +# (mandatory) + +TO=/home/foo/rsync-debian-ports + +# RSYNC_HOST is the site you have chosen from the mirrors file. +# (http://www.debian-ports.org/mirrors) +# (mandatory) + +RSYNC_HOST=rsync.debian-ports.org + +# RSYNC_DIR is the directory given in the "Packages over rsync:" line of +# the mirrors file for the site you have chosen to mirror. +# (mandatory) + +RSYNC_DIR=debian/ + +# LOGDIR is the directory where the logs will be written to +# (mandatory) + +LOGDIR=/var/log/rsync-debian-ports + +# ARCH_EXCLUDE can be used to exclude a complete architecture from +# mirrorring. Please use as space seperated list. +# Possible values are: +# armel hurd-i386 kfreebsd-amd64 kfreebsd-i386 +# +# There is one special value: source +# This is not an architecture but will exclude all source code in /pool +# +# eg. +# ARCH_EXCLUDE="hurd-i386" +# +# With a blank ARCH_EXCLUDE you will mirror all availible architectures +# (optional) + +ARCH_EXCLUDE="armel kfreebsd-amd64 kfreebsd-i386 m68k" + +# EXCLUDE is a list of parameters listing patterns that rsync will exclude. +# The following example would exclude mostly everything: +#EXCLUDE="\ +# --exclude binary-hurd-i386/ --exclude binary-kfreebsd-i386/ +# --exclude *_hurd-i386.deb --exclude *_knetbsd-i386.deb \ +# --exclude stable/ --exclude testing/ --exclude unstable/ \ +# --exclude source/ \ +# --exclude *.orig.tar.gz --exclude *.diff.gz --exclude *.dsc \ +# --exclude /base/ --exclude /bochs/ --exclude /obsolete/ \ +# " + +# With a blank EXCLUDE you will mirror the entire archive. +# (optional) + +EXCLUDE="--exclude binary-kfreebsd-i386/ --exclude *_knetbsd-i386.deb \ + --exclude source/ --exclude *.orig.tar.gz --exclude *.diff.gz \ + --exclude /bochs/ --exclude /obsolete/ \ + --exclude *kfreebsd* --exclude *m68* --exclude *sh* \ + " + +# MAILTO is the address to send logfiles to; +# if it is not defined, no mail will be sent +# (optional) + +MAILTO= + +# There should be no need to edit anything below this point, unless there +# are problems. + +#-----------------------------------------------------------------------------# + +# Check for some environment variables +if [ -z $TO ] || [ -z $RSYNC_HOST ] || [ -z $RSYNC_DIR ] || [ -z $LOGDIR ]; then + echo "One of the following variables seems to be empty:" + echo "TO, RSYNC_HOST, RSYNC_DIR or LOGDIR" + exit 2 +fi + +if ! [ -d ${TO}/project/trace/ ]; then + # we are running mirror script for the first time + mkdir -p ${TO}/project/trace +fi + +# Note: on some non-Debian systems, hostname doesn't accept -f option. +# If that's the case on your system, make sure hostname prints the full +# hostname, and remove the -f option. If there's no hostname command, +# explicitly replace `hostname -f` with the hostname. +HOSTNAME=`hostname -f` + +LOCK="${TO}/Archive-Update-in-Progress-${HOSTNAME}" + +# Exclude architectures defined in $ARCH_EXCLUDE +for ARCH in $ARCH_EXCLUDE; do + EXCLUDE=$EXCLUDE"\ + --exclude binary-$ARCH/ \ + --exclude disks-$ARCH/ \ + --exclude installer-$ARCH/ \ + --exclude Contents-$ARCH \ + --exclude Contents-$ARCH.gz \ + --exclude *_$ARCH.deb \ + --exclude *_$ARCH.udeb \ + --exclude pool-$ARCH/" + if [ "$ARCH" == "source" ]; then + SOURCE_EXCLUDE="\ + --exclude *.tar.gz \ + --exclude *.diff.gz \ + --exclude *.dsc " + fi +done + +# Logfile +LOGFILE=$LOGDIR/debian-mirror-ports.log + +# Get in the right directory and set the umask to be group writable +# +cd $HOME +umask 002 + +# Check to see if another sync is in progress +if lockfile -! -l 10800 -r 0 "$LOCK"; then + echo ${HOSTNAME} is unable to start rsync, lock file exists + exit 1 +fi +# Note: on some non-Debian systems, trap doesn't accept "exit" as signal +# specification. If that's the case on your system, try using "0". +trap "rm -f $LOCK > /dev/null 2>&1" exit + +set +e + +# First sync /pool-* +rsync --recursive --links --hard-links --times --verbose \ + $EXCLUDE $SOURCE_EXCLUDE \ + $RSYNC_HOST::$RSYNC_DIR/pool-* $TO >> $LOGFILE 2>&1 +result=$? + +if [ 0 = $result ]; then + # Now sync the remaining stuff + rsync --recursive --links --hard-links --times --verbose --delete-after \ + --exclude "Archive-Update-in-Progress-${HOSTNAME}" \ + --exclude "project/trace/" \ + --exclude "/pool-*/" \ + $EXCLUDE \ + $RSYNC_HOST::$RSYNC_DIR $TO >> $LOGFILE 2>&1 + + date -u > "${TO}/project/trace/${HOSTNAME}" +else + echo "ERROR: Help, something weird happened" | tee -a $LOGFILE + echo "mirroring /pool-* exited with exitcode" $result | tee -a $LOGFILE +fi + + +if ! [ -z $MAILTO ]; then + mail -s "debian ports archive synced" $MAILTO < $LOGFILE +fi + +savelog $LOGFILE diff --git a/hurd/running/debian/faq.mdwn b/hurd/running/debian/faq.mdwn index 1892d63f..8aaadf9c 100644 --- a/hurd/running/debian/faq.mdwn +++ b/hurd/running/debian/faq.mdwn @@ -1,137 +1,21 @@ -Debian GNU/Hurd FAQ. - -See also the [[Hurd_FAQ|hurd/FAQ]] and [[after_install]]. - -[[toc ]] - - -# `df` - -There is no `/etc/mtab`, so just running `df` will yield an error. Pass `df` a -path like `df /` or `df ./` to see the disk usage of that particular file -system. - - -# `sshd` - -You need to disable `PriviledgeSeperation` in `/etc/ssh/sshd\_options`. Also -make sure you have `/dev/random`, see below. - - -# `/dev/random` - -There is no random device by default as no secure implementation has been -finished yet. An easy (but very insecure) work-around is to copy a binary file -like `/bin/bash` to `/dev/random` and `/dev/urandom`. - - -# Hurd Console - -Edit `/etc/default/hurd-console` to configure the Hurd console and enable it on -bootup. See [[console]] for further information about the Hurd console. - - -# Swap - - -# 2 GiB Partition Limit - -The 2 GiB limit has been removed in Debian GNU/Hurd. - - -# Free Memory - -Run `vmstat` to see memory and swap usage. - - -# Translators - - -# 512 MiB RAM Limit - -GNU Mach does not cope well with lots of memory. Newer versions of the Debian -`gnumach` package will limit themselves to around 1 GiB of memory. If you have -an older version, or still experience problems with `vmstat` (see above) -reported much less memory than you have, the best is to limit the memory it can -see via GRUB's `upppermem` feature. Add `uppermem 786432` to GRUB's Hurd entry -in `menu.lst`. - -This should be fixed. - - -# `xserver-common` - -You need to run `dpkg-reconfigure xserver-common` and select `Anybody` for -starting X as there is no way to detect console users currently. - - -# Reporting Bugs - -Please try to reproduce bugs which are not obviously Hurd-specific on Debian -GNU/Linux and then file them there. - -If you find a genuine issue in Debian GNU/Hurd, please file it in our Alioth -bug tracker at -[http://alioth.debian.org/tracker/?atid=411594&group\_id=30628&func=browse](http://alioth.debian.org/tracker/?atid=411594&group_id=30628&func=browse) -If you find a bug in the Hurd or GNU Mach themselves, either file a bug against -the respective Debian packages, or directly at -<http://savannah.gnu.org/bugs/?group=hurd> - - -# `ps` Hangs - -If `ps` hangs, try `ps -M` which might still work. - - -# Porting Packages - - -# Debugging inside glibc - -To get [[debugging]] information for glibc, you need to install the -`libc0.3-dbg` package. At the place [[debugging/GDB]] looks for debugging -symbols by default (`/usr/lib/debug/lib/`), Debian's `libc0.3-dbg` stores only -frame unwind information. If you want to step into glibc while debugging, you -need to add `LD\_LIBRARY\_PATH=/usr/lib/debug` to GDB's environment. If that -still does not work, try `LD\_PRELOAD=/usr/lib/debug/libc.so.0.3` instead. You -can add to GDB's environment via `set env FOO bar` from the GDB command line. - -It seems that this is no longer needed with the Debian glibc 2.5 packages, but -I may as well be wrong. Have to check that again. - - -# Debugging Translators - -In order to [[debug|debugging]] translators and being able to step into glibc -during it, you need the `hurd-dbg` and `libc0.3-dbg` packages installed. Then -start the translator like `settrans -P /foo /usr/bin/env -LD\_LIBRARY\_PATH=/usr/lib/debug /hurd/foofs`. The `-P` option will make it -pause and you will be able to attach [[debugging/GDB]] to the process. - -Is starting the translator like this really needed? - - -# Other Repositories - -If you want to use the `apt-get source` facility, make sure that -`/etc/apt/sources.list` contains a line like - - deb-src http://ftp.de.debian.org/debian unstable main - -... replacing _de_ with your homeland's code. - - -# Kernel Logs - -The kernel logs are written to `/dev/klog`. Run `cat /dev/klog > foo` as root -and hit `ctrl+c` after a few seconds to catch the logs. You can do this only -once and do not do this in single-user mode (where `ctrl+c` does not work). - - -# `bad hypermeta data` - -If you get the error `bad hypermeta data` when trying to mount an ext3 -partition from GNU/Linux, that is usually because the file system has not been -unmounted cleanly (maybe GNU/Linux got suspended to disk) and the Hurd cannot -mount it as ext2 without checking. Either boot back into GNU/Linux and unmount -it or you can try to run `fsck.ext3` from GNU/Hurd directly. +[[!meta copyright="Copyright © 2007, 2009, 2010 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +[[!meta title="Debian GNU/Hurd FAQ"]] + +See also [[after_install]] instructions, and other [[/FAQ]]. + +[[!inline +pages="hurd/running/debian/faq/* and !*/discussion" +show=0 +feeds=no +actions=yes +rootpage="hurd/running/debian/faq" postformtext="Add a new item titled:"]] diff --git a/hurd/running/debian/faq/2_gib_partition_limit.mdwn b/hurd/running/debian/faq/2_gib_partition_limit.mdwn new file mode 100644 index 00000000..195191cb --- /dev/null +++ b/hurd/running/debian/faq/2_gib_partition_limit.mdwn @@ -0,0 +1,13 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +[[!meta title="2 GiB Partition Limit"]] + +The 2 GiB limit has been removed in Debian GNU/Hurd. diff --git a/hurd/running/debian/faq/512_mib_ram_limit.mdwn b/hurd/running/debian/faq/512_mib_ram_limit.mdwn new file mode 100644 index 00000000..f89a5c01 --- /dev/null +++ b/hurd/running/debian/faq/512_mib_ram_limit.mdwn @@ -0,0 +1,21 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +[[!meta title="512 MiB RAM Limit"]] + +Just like any 32bit OS without bad tricks, GNU Mach does not cope well with lots +of memory. Newer versions of the Debian `gnumach` package will limit themselves +to around 1 GiB of memory. If you want more, you can twiddle the VM_MAX_ADDRESS +limit between kernelland and userland in i386/include/mach/i386/vm_param.h. + +If you have an older version, or still experience problems with `vmstat` (see +above) reported much less memory than you have, the best is to limit the memory +it can see via GRUB's `upppermem` feature. Add `uppermem 786432` to GRUB's Hurd +entry in `menu.lst`. diff --git a/hurd/running/debian/faq/apt_umount.mdwn b/hurd/running/debian/faq/apt_umount.mdwn new file mode 100644 index 00000000..db0dbfd1 --- /dev/null +++ b/hurd/running/debian/faq/apt_umount.mdwn @@ -0,0 +1,25 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +[[!meta title="apt: unmount cdroms"]] + +You can add a shell script umount so that apt can automatically unmount cdroms. + + #!/bin/sh + # Filename: /usr/bin/umount + + settrans -fg "$@" + +Give executable permission to the script. + + # chmod +x /usr/bin/umount + +In `/etc/fstab` add a trailing `/` after cdrom like `/cdrom/` since apt uses a +trailing `/`. diff --git a/hurd/running/debian/faq/bad_hypermeta_data.mdwn b/hurd/running/debian/faq/bad_hypermeta_data.mdwn new file mode 100644 index 00000000..bc960e30 --- /dev/null +++ b/hurd/running/debian/faq/bad_hypermeta_data.mdwn @@ -0,0 +1,15 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +If you get the error `bad hypermeta data` when trying to mount an ext3 +partition from GNU/Linux, that is usually because the file system has not been +unmounted cleanly (maybe GNU/Linux got suspended to disk) and the Hurd cannot +mount it as ext2 without checking. Either boot back into GNU/Linux and unmount +it or you can try to run `fsck.ext3` from GNU/Hurd directly. diff --git a/hurd/running/debian/faq/debugging_inside_glibc.mdwn b/hurd/running/debian/faq/debugging_inside_glibc.mdwn new file mode 100644 index 00000000..91b71d64 --- /dev/null +++ b/hurd/running/debian/faq/debugging_inside_glibc.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +To get [[debugging]] information for glibc, you need to install the +`libc0.3-dbg` package. At the place [[debugging/GDB]] looks for debugging +symbols by default (`/usr/lib/debug/lib/`), Debian's `libc0.3-dbg` stores only +the frame unwind information used for backtracing. If you want to step into +glibc while debugging, you need to add `LD_LIBRARY_PATH=/usr/lib/debug` to +debugged program's environment (`set env VAR value` from the GDB command line). +If that still does not work, try `LD_PRELOAD=/usr/lib/debug/libc.so.0.3` +instead. diff --git a/hurd/running/debian/faq/debugging_translators.mdwn b/hurd/running/debian/faq/debugging_translators.mdwn new file mode 100644 index 00000000..b55484e1 --- /dev/null +++ b/hurd/running/debian/faq/debugging_translators.mdwn @@ -0,0 +1,15 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +In order to [[debug|debugging]] translators and being able to step into glibc +during it, you need the `hurd-dbg` and `libc0.3-dbg` packages installed. If you need to debug the initialization of the translator, +start the translator like `settrans -P /foo /usr/bin/env +LD\_LIBRARY\_PATH=/usr/lib/debug /hurd/foofs`. The `-P` option will make it +pause and you will be able to attach [[debugging/GDB]] to the process. diff --git a/hurd/running/debian/faq/dev_random.mdwn b/hurd/running/debian/faq/dev_random.mdwn new file mode 100644 index 00000000..3b5fdffe --- /dev/null +++ b/hurd/running/debian/faq/dev_random.mdwn @@ -0,0 +1,17 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +[[!meta title="/dev/random"]] + +There is no random device by default as no secure implementation has been +finished yet. An easy (but very insecure) work-around is to copy a binary file +like `/bin/bash` to `/dev/random` and `/dev/urandom`. A slightly more secure +alternative is installing the `random-egd` from the `debian-ports` repository. + diff --git a/hurd/running/debian/faq/df.mdwn b/hurd/running/debian/faq/df.mdwn new file mode 100644 index 00000000..4de232da --- /dev/null +++ b/hurd/running/debian/faq/df.mdwn @@ -0,0 +1,13 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +There is no `/etc/mtab`, so just running `df` will yield an error. Pass `df` a +path like `df /` or `df ./` to see the disk usage of that particular file +system. diff --git a/hurd/running/debian/faq/eata.mdwn b/hurd/running/debian/faq/eata.mdwn new file mode 100644 index 00000000..fa7dbdec --- /dev/null +++ b/hurd/running/debian/faq/eata.mdwn @@ -0,0 +1,13 @@ +[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +In some virtual machines (e.g. VirtualBox), "probing eata on XXX" may be +quite long. This is apparently due to poor efficiency of the virtualizer, not +Mach. There is no such issue on real hardware or using qemu/kvm. diff --git a/hurd/running/debian/faq/free_memory.mdwn b/hurd/running/debian/faq/free_memory.mdwn new file mode 100644 index 00000000..c1c0a83c --- /dev/null +++ b/hurd/running/debian/faq/free_memory.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +Run `vmstat` to see memory and swap usage. diff --git a/hurd/running/debian/faq/hurd_console.mdwn b/hurd/running/debian/faq/hurd_console.mdwn new file mode 100644 index 00000000..c4a619a1 --- /dev/null +++ b/hurd/running/debian/faq/hurd_console.mdwn @@ -0,0 +1,12 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +Edit `/etc/default/hurd-console` to configure the Hurd console and enable it on +bootup. See [[console]] for further information about the Hurd console. diff --git a/hurd/running/debian/faq/kernel_logs.mdwn b/hurd/running/debian/faq/kernel_logs.mdwn new file mode 100644 index 00000000..ff14ce5f --- /dev/null +++ b/hurd/running/debian/faq/kernel_logs.mdwn @@ -0,0 +1,13 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +The kernel logs are written to `/dev/klog`. Run `cat /dev/klog > foo` as root +and hit `ctrl+c` after a few seconds to catch the logs. You can do this only +once and do not do this in single-user mode (where `ctrl+c` does not work). diff --git a/hurd/running/debian/faq/other_repositories.mdwn b/hurd/running/debian/faq/other_repositories.mdwn new file mode 100644 index 00000000..88781d46 --- /dev/null +++ b/hurd/running/debian/faq/other_repositories.mdwn @@ -0,0 +1,16 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +If you want to use the `apt-get source` facility, make sure that +`/etc/apt/sources.list` contains a line like + + deb-src http://ftp.de.debian.org/debian unstable main + +... replacing _de_ with your homeland's code. diff --git a/hurd/running/debian/faq/ps_hangs.mdwn b/hurd/running/debian/faq/ps_hangs.mdwn new file mode 100644 index 00000000..febfeb59 --- /dev/null +++ b/hurd/running/debian/faq/ps_hangs.mdwn @@ -0,0 +1,12 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +If `ps` hangs, try `ps -M` which might still work by not getting detailed +information from processes. diff --git a/hurd/running/debian/faq/reporting_bugs.mdwn b/hurd/running/debian/faq/reporting_bugs.mdwn new file mode 100644 index 00000000..40781ab0 --- /dev/null +++ b/hurd/running/debian/faq/reporting_bugs.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +Please try to reproduce bugs which are not obviously Hurd-specific on Debian +GNU/Linux and then file them there. + +If you find a genuine issue in Debian GNU/Hurd, please file it in our Alioth +bug tracker at +<http://alioth.debian.org/tracker/?atid=411594&group_id=30628&func=browse> +If you find a bug in the Hurd or GNU Mach themselves, either file a bug against +the respective Debian packages, or directly at +<http://savannah.gnu.org/bugs/?group=hurd> diff --git a/hurd/running/debian/faq/sata_disk_drives.mdwn b/hurd/running/debian/faq/sata_disk_drives.mdwn new file mode 100644 index 00000000..dad10cb9 --- /dev/null +++ b/hurd/running/debian/faq/sata_disk_drives.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +GNU Mach does not support SATA disk drives (/dev/sda etc. in GNU/Linux) natively, so using device:sd0s1 will not work, sd* devices are for SCSI drives only. The only way to get those drives to work is to put them into compatibility mode in the BIOS, if such an option exists. GNU Mach will then recognize them as hda etc. diff --git a/hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn b/hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn new file mode 100644 index 00000000..1a3c46e1 --- /dev/null +++ b/hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn @@ -0,0 +1,20 @@ +[[!meta copyright="Copyright © 2007, 2008, 2010 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +This isssue has been fixed in the Debian hurd / libc0.3 packages as of 2010-11. +Retire this item sometime after 2011. + +--- + +Privilege seperation does not work with Hurd currently. You need to explicitely +set `PrivilegeSeparation` to `no` in `/etc/ssh/sshd_options`, just commenting out +the entry will not work as it is on by default. Also make sure you have +`/dev/random`, see below. diff --git a/hurd/running/debian/faq/xserver-common.mdwn b/hurd/running/debian/faq/xserver-common.mdwn new file mode 100644 index 00000000..09fbc902 --- /dev/null +++ b/hurd/running/debian/faq/xserver-common.mdwn @@ -0,0 +1,12 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +You need to run `dpkg-reconfigure xserver-common` and select `Anybody` for +starting X as there is no way to detect console users currently. diff --git a/hurd/running/debian/logo.png b/hurd/running/debian/logo.png Binary files differdeleted file mode 100644 index 068d9584..00000000 --- a/hurd/running/debian/logo.png +++ /dev/null diff --git a/hurd/running/debian/package_troubleshooting.mdwn b/hurd/running/debian/package_troubleshooting.mdwn index 829af8e3..c6236c2f 100644 --- a/hurd/running/debian/package_troubleshooting.mdwn +++ b/hurd/running/debian/package_troubleshooting.mdwn @@ -1,9 +1,5 @@ This page reports known Hurd-specific bugs, quirks and corresponding solutions and workarounds with Debian GNU/Hurd package installation and working. -## <a name="Table_of_Contents"> Table of Contents </a> - -%TOC% - ## <a name="Dpkg_wants_external_programs_"> Dpkg wants external programs? </a> It may be that dpkg wants external GNU/Linux-specific programs that it can't found or that just don't exist on the Hurd. You can trick dpkg by copying and running this script as root: @@ -21,7 +17,8 @@ You must set up the [[translator/random]] device first. ## <a name="An_X_package_hangs_at_startup_wi"> An X package hangs at startup without error messages </a> -Observed with GTK programs like xchat, synaptic, inkscape. It is an issue with libpthread that (as of 04 Feb 2007) is still unresolved. Sorry. +Observed with GTK programs like xchat, synaptic, inkscape. It is an issue with +[[libpthread]] that (as of 04 Feb 2007) is still unresolved. Sorry. ## <a name="Borked_fonts_on_GTK_app"> </a> Borked fonts on GTK app diff --git a/hurd/running/debian/patch_submission.mdwn b/hurd/running/debian/patch_submission.mdwn new file mode 100644 index 00000000..66348dd9 --- /dev/null +++ b/hurd/running/debian/patch_submission.mdwn @@ -0,0 +1,55 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +If you fixed a Debian package which *FTBFS* (fails to build from source), you +should submit the patch so that all users can profit from your work. + +If it is not a Debian-specific patch, you should strongly consider submitting +the patch upstream for inclusion. This applies even more so if it is a GNU +package, or otherwise frequently used package, or you know upstream anyway. + +If you had to change the code considerably and are not 100% sure you did not +introduce a regression, or are not very experienced with these kinds of code +changes, you should first submit your patch for review to the [Debian alioth +patch +tracker](http://alioth.debian.org/tracker/?atid=410472&group_id=30628&func=browse). + +If the patch is trivial, or one of the Debian porters approved your patch for +submission, submit the patch to the Debian BTS (bug tracking system). You can +either use the reportbug tool, or just simple mail. In any case, you should +follow these guidelines: + + * The submission address is <submit@bugs.debian.org>. + * The mail's subject (which will become the bug's title) should be + `SOURCE-PACKAGE: FTBFS on hurd-i386: REASON`. + * The first lines of the mail's body (the so-called *pseudo-header*): + * `Severity: important` -- not *serious*. + * `Version: VERSION` -- the version of the source package in unstable. + * `Tags: patch` -- as/if you include a ready-to-be-applied patch. + * `User: debian-hurd@lists.debian.org` + * `Usertags: hurd` + +In the bug description, mention that the package fails to build on hurd-i386 +and (if possible) quote the failure. If possible, point to the failing build +log from <http://buildd.debian-ports.org/build.php> or elsewhere. + +Then, explain the failure (Debian maintainers usually do not know much about +Hurd-specific failures), and attach the patch. + +The patch should be in unidiff form. + +If the package uses a patch system, it is preferable to submit the patch in a +ready-to-use form (e.g. as a *dpatch*), but this is not required. Also, try to +keep the patch small, e.g., do not submit a 100 KiB autotools diff for a +one-line change in `configure.in` or a `Makefile.am`, but in this case mention +that autotools need to be rerun and let the maintainer choose (you can suggest +you would file a complete diff if the maintainer prefers). + +Last but not least, try to be courteous. diff --git a/hurd/running/debian/porting.mdwn b/hurd/running/debian/porting.mdwn new file mode 100644 index 00000000..0eb15465 --- /dev/null +++ b/hurd/running/debian/porting.mdwn @@ -0,0 +1,54 @@ +[[!meta copyright="Copyright © 2007, 2008, 2009, 2010 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +[[!meta title="Debian packages that need porting"]] + +More than half of the Debian archive has been compiled successfully on the +Hurd, however, many programs fail to build for various reasons. + +A [list of build failures including error +messages](http://unstable.buildd.net/buildd/hurd-i386_Failed.html) can be +found, as well as a [preliminary +analysis](http://lists.debian.org/debian-hurd/2007/07/msg00000.html) of them and [solutions](http://lists.debian.org/debian-hurd/2007/07/msg00001.html), and some more details in [[hurd/porting/guidelines]]. [Graphs and statistics](http://people.debian.org/~sthibault/) about the consequence in terms of build dependencies are available. + +There is a mailing list, +[debian-hurd-build-logs](http://lists.alioth.debian.org/mailman/listinfo/debian-hurd-build-logs), +where *builds logs from the Debian GNU/Hurd autobuilders* are posted. It is a +high-traffic and high-volume list, and for that reason *not* archived, so you +have to subscribe to see the messages. + +It might be a good idea to record your intention to port something either in +the list below or in the [Alioth task +tracker](http://alioth.debian.org/pm/task.php?group_project_id=34&group_id=30628&func=browse) +so other people do not do duplicated work. + +Also, the [[community/HurdFr]] guys maintain their own [liste des travaux de +packaging](http://wiki.hurdfr.org/index.php/Liste_des_travaux_de_packaging). + +Aside from the Alioth task tracker, here is a list of some packages (the +important ones, as they're, e.g., blocking other packages from being built) +that need someone to work on them. + +When you have a patch to submit, please adhere to the [[patch_submission]] +guidelines. + +There is also further information available about [[hurd/porting]]. + +[[!map +pages="tagged(open_issue_porting) and !tagged(fixed_in_debian) and !*/discussion" +show=title]] + +[[!inline +pages="tagged(open_issue_porting) and !tagged(fixed_in_debian) and !*/discussion" +show=0 +feeds=no +actions=yes +rootpage="open_issues" postformtext="Add a new item titled:"]] diff --git a/hurd/running/distrib.mdwn b/hurd/running/distrib.mdwn index a373062c..c197ad0e 100644 --- a/hurd/running/distrib.mdwn +++ b/hurd/running/distrib.mdwn @@ -1,8 +1,16 @@ +Working distributions of GNU/Hurd: + * [[Debian]] + +GNU/Hurd distributions in early stages of development: + +* [[Arch|arch_hurd]] (features a LiveCD) * [[Gentoo]] -* [[Bee]] * [[GNU]] +<!-- Bee GNU/Hurd doesn't seem to exist anymore. +* [[Bee]] +--> # Issues @@ -30,8 +38,8 @@ </dl> <dl> - <dt>[[GrubNotes]]</dt> - <dd> A quick reference and explanation. There's also a topic for the new [[GrubConf]]. </dd> + <dt>[[GRUB]]</dt> + <dd> A quick reference and explanation. </dd> </dl> <dl> @@ -64,11 +72,11 @@ about getting applications to work (if possible). <dl> <dt>[[SavannahProjects]]</dt> - <dd> Savannah is a CVS &amp; Bug system evolved from a free version of the code that powers <a href="http://sf.net" target="_top">sourceforge.net</a>. It has forked and been slightly modified for use by FSF, GNU and non-GNU projects. Actual Development takes place here. There is also a <a href="http://savannah.gnu.org/people/?group=hurd" target="_top">help wanted</a> list. </dd> + <dd> Savannah is a CVS & Bug system evolved from a free version of the code that powers <a href="http://sf.net" target="_top">sourceforge.net</a>. It has forked and been slightly modified for use by FSF, GNU and non-GNU projects. Actual Development takes place here. There is also a <a href="http://savannah.gnu.org/people/?group=hurd" target="_top">help wanted</a> list. </dd> </dl> <dl> - <dt>[[PortingIssues]] FAQ</dt> + <dt>[[porting/guidelines]] FAQ</dt> <dd> What does it take to move a piece of Debian packaged software to the GNU/Hurd port? </dd> </dl> @@ -78,8 +86,8 @@ about getting applications to work (if possible). </dl> <dl> - <dt> Debain Infrastructure</dt> - <dd> Testing is critical in helping the development effort. Bugs (defect reports) can be filed against the Debian software package in which they are found. [[BtsFiling]] tells how to file a Debian bug report. [[DebianPackages]] has some information about how Debian splits the software into packages and some references. There is a buildd autobuilder compiling the Debian Sid archive software for the GNU/Hurd port. [[BuilddStatus]] includes information on the buildd &amp; turtle efforts. </dd> + <dt> Debian Infrastructure</dt> + <dd> Testing is critical in helping the development effort. Bugs (defect reports) can be filed against the Debian software package in which they are found. [[debian/patch_submission]] tells how to file a Debian bug report. [[DebianPackages]] has some information about how Debian splits the software into packages and some references. There is a buildd autobuilder compiling the Debian Sid archive software for the GNU/Hurd port. [[BuilddStatus]] includes information on the buildd & turtle efforts. </dd> </dl> <dl> @@ -94,9 +102,8 @@ about getting applications to work (if possible). * GNU [Coding Standards](http://www.gnu.org/prep/standards.html) * [[TestSuites]] - Posix, Perl, results feedback, etc. -* [docs and papers](http://www.gnu.org/software/hurd/docs.html) -* [[SystemAPILimits]] -* [[Hurd/HurdSpecificGlibcApi]] +* [[Documentation]] +* [[System_API_Limitations]] * [[CodeAnnouncements]] - Recent coding projects related to the Hurd <dl> diff --git a/hurd/running/faq.mdwn b/hurd/running/faq.mdwn new file mode 100644 index 00000000..2746a20a --- /dev/null +++ b/hurd/running/faq.mdwn @@ -0,0 +1,20 @@ +[[!meta copyright="Copyright © 2009, 2010 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="General FAQ About Running GNU/Hurd"]] + +See also other [[/FAQ]]. + +[[!inline +pages="hurd/running/faq/* and !*/discussion" +show=0 +feeds=no +actions=yes +rootpage="hurd/running/faq" postformtext="Add a new item titled:"]] diff --git a/hurd/running/faq/native-install_doesnt_finish.mdwn b/hurd/running/faq/native-install_doesnt_finish.mdwn new file mode 100644 index 00000000..a852e1dd --- /dev/null +++ b/hurd/running/faq/native-install_doesnt_finish.mdwn @@ -0,0 +1,24 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +Copying baseGNU to the virtual disk works. Even booting got through but when I +try to run native-install it never gets to the very end. First time it froze on +*sed* package, the other time on *sysv-rc*. + +> How much memory did you configure for the [[QEMU]] system? It may simply be +> -- I've seen this myself -- that the system runs out of memory, as at the +> native-install stage (I think at least) swap is not yet configured and +> enabled. What I've been doing is: boot (with -s), MAKEDEV hdWHATEVER in +> /dev/ for the swap device, run /hurd/mach-defpager, followed by swapon +> /dev/hdWHATEVER. Does this help? + +>> Thank You very much, more memory solved the freezing. + +[[!tag open_issue_hurd]] diff --git a/hurd/running/gentoo.mdwn b/hurd/running/gentoo.mdwn index b49e5bcc..ef72bfad 100644 --- a/hurd/running/gentoo.mdwn +++ b/hurd/running/gentoo.mdwn @@ -1,8 +1,34 @@ -[Gentoo-Hurd](http://hurd.rustedhalo.net/) +* [Archived try at a Gentoo GNU/Hurd](http://www.mundurat.net/ggh/) Unofficial port to Gentoo and the portage system. It was [announced](http://forums.gentoo.org/viewtopic.php?t=41939&postdays=0&postorder=asc&start=0) -March 17, 2003 in the Gentoo forums. There's a #gentoo-irc channel similar to -[[IRC]]. At present (May 2005), there's no activity and Eric Olinger has not -the time to maintain this distri. +March 17, 2003 in the Gentoo forums. There's a #gentoo and a #gentoo-hurd IRC channel similar to +[[IRC]]. +### State of the GGH, 2009-05 + +> *Did you work a bit more on the Gentoo GNU/Hurd?* + +I tried to resume my work 3-4 months ago but I found some problems with +portage and python functions not implemented on Hurd so I stopped. I think +that back in 2006 with portage 2.0.54 those functiones weren't necessary. + +> *And do you have some information which might help others advance what you began?* + +I just have all the ebuilds and binary packages I merged online on +[http://www.mundurat.net/ggh/portage](http://www.mundurat.net/ggh/portage). + +To continue my work just take a Debian/Hurd and install portage by hand. + +Once there take the profile and start bootstraping portage and all the +ebuild it needs (patch, python, bzip2...). + +The major problems are: + +- combine the perfect gcc/binutils/glibc/gnumach/hurd and to be able to boot +- lack of development on gnumach/hurd and current 'degraded' status. + +I don't think I can help much right now, but if you have any other +question just write me. + +MiKeL diff --git a/hurd/running/gnu.mdwn b/hurd/running/gnu.mdwn index 6b94ed25..94012ef5 100644 --- a/hurd/running/gnu.mdwn +++ b/hurd/running/gnu.mdwn @@ -1,39 +1,51 @@ -[[img logo.png]] - # <a name="The_GNU_Operating_System"> </a> The GNU Operating System +The GNU Operating System, or GNU System as it is more commonly known, will be a +complete [[Unix]]-like operating system composed entirely of [free +software](http://www.gnu.org/philosophy/free-sw.html). The creation of the GNU +System is one of the goals of the [GNU Project](http://www.gnu.org/), which was +[launched in 1983](http://www.gnu.org/gnu/initial-announcement.html) by +[Richard Stallman](http://www.stallman.org/). + + + [[gnu/GNU]]. It is our wish and goal to establish a new direction for the GNU system distribution. To that end, this page will begin setting some direction. This was spawned by several discussions over a few days on the Hurd mailing lists and IRC. This is not intended to detract from Debian GNU/Hurd and we should help them where we can. -I really want this to be more of a community driven effort in the spirit of say Ubuntu. We all have different motivations and skill levels but we need a common goal to get this system going. +I really want this to be more of a community driven effort in the spirit of say, Ubuntu. We all have different motivations and skill levels but we need a common goal to get this system going. -These are just some quick notes I am making late at night. Lets clean this up. +These are just some quick notes I am making late at night. Let's clean this up. ## <a name="Motivations"> Motivations </a> 1. There is a possibility that Debian drops support for GNU/Hurd. 2. Other GNU/Linux distributions do not support the Hurd infrastructure well. -3. Benefitting from the Hurd design and using a microkernel. +3. Benefiting from the Hurd design and using a microkernel. 4. Freedom. ## <a name="Community"> Community </a> -1. Lets establish some ground rules. +1. Let's establish some ground rules. 2. We need infrastructure * Wiki for community documentation * Mailing lists like gnu-system-discuss exists for mostly technical items * IRC channels like #hug and ##hurd * Perhaps less formal and less intimidating channels and mailing lists would involve broader parts of the community 3. We need a community vision and direction. - * Lets work together for a common goal - * Lets establish goals and priorities and get resources on them. (More later) + * Let's work together for a common goal + * Let's establish goals and priorities and get resources on them. (More later) * Major goal to create a system making full use of Hurd features? * We should never hesitate to throw away existing stuff whenever it hinders us to make good use of Hurd features * However, we should try to reuse existing stuff (from Debian for example) as long as it doesn't limit our possibilities or impose considerable overhead - * Lets have fun. It's GNU and it's important but let's enjoy ourselves. + * Let's have fun. It's GNU and it's important but let's enjoy ourselves. + +## Download + + * Official GNU snapshot <http://www.update.uu.se/~ams/GNU> + * Extended GNU distribution <http://i-hug.sarovar.org/downloads/GNU/extended/> ## <a name="Tools"> Tools </a> @@ -49,6 +61,12 @@ These are just some quick notes I am making late at night. Lets clean this up. * Probably we should set up a Savannah project * How to handle experimental patches to the core packages (Hurd, Mach, libc etc.) that are not in official CVS yet? +## Resources + + * [[Universal_package_manager]] + * How to [[set_up_GNU|setup]] and archiver for GNU + * [[Create_an_image]] + ## <a name="Todo"> Todo </a> 1. AMS had made a GNU release. We can try it and test it to good use. We can fix broken things in it, and enhance it. diff --git a/hurd/running/gnu/create_an_image.mdwn b/hurd/running/gnu/create_an_image.mdwn new file mode 100644 index 00000000..c7a97a4e --- /dev/null +++ b/hurd/running/gnu/create_an_image.mdwn @@ -0,0 +1,97 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +Creating a bootable qemu image from a root filesystem and bootloader + +1. Create a hard disk image + + qemu-img create -f qcow <imagename.img> <size>G + +2. Use a live CD (better to have a lighter OS like system rescue CD to make the + process faster) and the image created to boot. + + qemu -cdrom /dev/cdrom -hda <imagename.img> -boot d + +3. Once system is booted use a partition editing tool (like fdisk, cfdisk, + parted, gparted, qtparted ...) to partition the image. + + cfdisk + + create the necessary partitions (root and swap partitions boot, home ... if + required) + +4. Create a file system for the root partition + + mke2fs /dev/hda1 + +5. Mount the partition + + mkdir disk + mount /dev/hda1 disk + +6. Copy the file system from the host machine to the mounted directory (use a + compressed file system to make the copying faster) + + Grab the GNU snapshot from ams' site + <http://www.update.uu.se/~ams/home/slask/GNU/> + + scp <user>@<host>:<path to the compressed file system> disk + +7. Uncompress the files + + cd disk + tar -jxvf <compressed filesystem> + +8. Unmount the mounted partition + + cd .. + umount disk + +9. power off the guest OS. + + poweroff + +10. To make the file system bootable download a grub floppy image + + <http://hurd.in/pub/Hurd/HurdOnVMware/grub.img> + +11. Run qemu to boot into your brand new system + + qemu -hda <hard disk image.img> -fda grub.img -boot a + +Happy Hacking !! + + +Make your new system boot from the hard disk + +1. Mount your grub image + + mkdir floppy + mount -t ext2 -o loop grub.img floppy + +2. Use previous steps 2 and 5 to boot from a liveCD and mount the partition + + cd disk/boot + scp -r <user>@<host>:<path to mounted floppy image directory>/boot/grub + +3. Poweroff the guest + + poweroff + +4. Boot new system using floppy image previous step 11 + + use install to hard disk option if you used the above grub image + + or go to grub command line and type + + root (hd0,0) + setup (hd0) + + Now you have a bootable system image. Enjoy Maadi !! diff --git a/hurd/running/gnu/gnu.mdwn b/hurd/running/gnu/gnu.mdwn index 22bb5161..3ee5f657 100644 --- a/hurd/running/gnu/gnu.mdwn +++ b/hurd/running/gnu/gnu.mdwn @@ -1,8 +1,11 @@ -[[img logo.png]] - ## <a name="GNU_FSF_amp_RMS"> </a> GNU, FSF & RMS -GNU stands for GNU's Not Unix. It is a project announced in 1983 by [[RichardStallman]] (RMS). The Free Software Foundation ([FSF](http://www.fsf.org/fsf/fsf.html)) was founded in 1985 to act as a parent organization for GNU and many other projects. GNU and some non-GNU projects are now hosted on the [Savannah](http://savannah.gnu.org) platform similar to SourceForge.net. +GNU stands for GNU's Not [[Unix]]. It is a project announced in 1983 by +[[RichardStallman]] (RMS). The Free Software Foundation +([FSF](http://www.fsf.org/fsf/fsf.html)) was founded in 1985 to act as a parent +organization for GNU and many other projects. GNU and some non-GNU projects +are now hosted on the [Savannah](http://savannah.gnu.org) platform similar to +SourceForge.net. <dl> <dt>[[History]]</dt> diff --git a/hurd/running/gnu/logo.png b/hurd/running/gnu/logo.png Binary files differdeleted file mode 100644 index 50c392cf..00000000 --- a/hurd/running/gnu/logo.png +++ /dev/null diff --git a/hurd/running/gnu/names.mdwn b/hurd/running/gnu/names.mdwn index d470a632..fcab6a11 100644 --- a/hurd/running/gnu/names.mdwn +++ b/hurd/running/gnu/names.mdwn @@ -1,4 +1,4 @@ -The GNU stands for GNU's Not Unix. It is a project as described in [[GNU]]. +The GNU stands for GNU's Not [[Unix]]. It is a project as described in [[GNU]]. What can be confusing is the usage. GNU can stand for: diff --git a/hurd/running/gnu/setup.mdwn b/hurd/running/gnu/setup.mdwn new file mode 100644 index 00000000..2fb30c7b --- /dev/null +++ b/hurd/running/gnu/setup.mdwn @@ -0,0 +1,84 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +Setup is very easy (You need a GNU/Linux system to install GNU, we are developing an installer for GNU and if you want to help us join us on [gnu-system-discuss](http://lists.gnu.org/mailman/listinfo/gnu-system-discuss)), just follow these steps ... + +## Step 1: Find a home for GNU + +create a partition with minimum of 800 MB (if you want to install programs later you might need to allocate more space) + +It comes with GNU Emacs 21.4, gcc 4.0, gdb 6.3, parted, wget and many more + +Note: 2GB limit for partitions is no more there, it is fixed + +## Step 2: Create GNU Hurd filesystem on the partition + + # mke2fs -o hurd /dev/hdd6 + +## Step 3: Grab a snapshot of the GNU + +from <http://www.update.uu.se/~ams/home/slask/GNU/> or Extended GNU from <http://i-hug.sarovar.org/downloads/GNU/extended/> + +## Step 4: Extract the snapshot to the newly created partition + + # mount /dev/hdd6 /mnt + # cd /mnt + # tar -jxvf <path to downloaded location>/GNU--2006-01-08.tar.bz2 + +Wait for the extraction to complete, depending on the system configuration the time varies. The compressed image is 178MB and it uncompresses to about 750MB + +## Step 5: Configure grub to boot GNU + +This can be tricky since the partition naming is different for linux, grub and hurd + +My configuration look like this ... + + title GNU (also known as GNU/Hurd)(Single user) + root (hd0,5) + kernel /boot/gnumach.gz root=device:hd3s6 -s + module /hurd/ext2fs.static --multiboot-command-line=${kernel-command-line} --host-priv-port=${host-port} --device-master-port=${device-port} --exec-server-task=${exec-task} -T typed ${root} $(task-create) $(task-resume) + module /lib/ld.so.1 /hurd/exec $(exec-task=task-create) + + title GNU (also known as GNU/Hurd)(Multi-user) + root (hd0,5) + kernel /boot/gnumach.gz root=device:hd3s6 + module /hurd/ext2fs.static --multiboot-command-line=${kernel-command-line} --host-priv-port=${host-port} --device-master-port=${device-port} --exec-server-task=${exec-task} -T typed ${root} $(task-create) $(task-resume) + module /lib/ld.so.1 /hurd/exec $(exec-task=task-create) + + grub linux hurd + hd0,5 hdd6 hd3s6 + +If you have only one harddisk it will be hd0 for grub wherever you connect it. +But linux and hurd names depend on whether you connect it as primary master +(hda or hd0), primary slave (hdb or hd1) [this is my cdrom drive], secondary + master (hdc or hd2) or secondary slave (hdd or hd3) [this is my precious +Maxtor 2GB hard disk]. + +The partition naming of hurd is similar to BSD slices. hda1 is hd0s1, hda2 is + hd0s2 ... + +In my case the root device is hd0s6 (hdd6) + +## Step 6: Now boot into your brand new GNU System. + +It will do some initial setup and you will get a prompt. +Now reboot into your configured GNU System. + + # reboot + +## Step 7: Start using your GNU system + +Here is the GNU/Hurd users guide. It starts from the basics. <http://www.gnu.org/software/hurd/users-guide/using_gnuhurd.html> + +*Warning! : It is not yet ready for normal use, it is a developer's release.* + +So when you encounter bugs report it to bug-hurd@gnu.org + +Join us on gnu-system-discuss <http://lists.gnu.org/mailman/listinfo/gnu-system-discuss> to help finish the GNU System. diff --git a/hurd/running/gnu/softwareprojects.mdwn b/hurd/running/gnu/softwareprojects.mdwn index 54a92030..4790c5c9 100644 --- a/hurd/running/gnu/softwareprojects.mdwn +++ b/hurd/running/gnu/softwareprojects.mdwn @@ -4,3 +4,5 @@ Some of the GNU software effects the Hurd development directly or indirectly. He <dt> GCC</dt> <dd> deb packages of gcc-{3.2,3.3} are available for testing from <a href="http://people.debian.org/~mbanck/hurd-gcc-4.0/" target="_top">http://people.debian.org/~mbanck/hurd-gcc-4.0/</a> ./ </dd> </dl> + +* [[Universal_package_manager]] and archiver for GNU diff --git a/hurd/running/gnu/universal_package_manager.mdwn b/hurd/running/gnu/universal_package_manager.mdwn new file mode 100644 index 00000000..e58a2058 --- /dev/null +++ b/hurd/running/gnu/universal_package_manager.mdwn @@ -0,0 +1,156 @@ +[[!meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +## Mission + +"To enable the GNU System to install packages of any format like rpm, deb, +ebuild... so that GNU System will be able to use softwares packaged by projects like Debian and Gentoo" + +## Features + +Basically all package management schemes follow similar approach, it will have a single binary archive containing the actual software and some metadata like packages it requires, what all it provides ... So when we install an rpm package this tool will help rpm tool to recognise the packages installed by stow and it will be stowed instead of the normal rpm way of installing in /usr. + +There can be both aproaches + + * Re-implement rpm, dpkg... to recognise stow as backend instead of its own data store. In that case we will have to re-implement, apt-rpm, yum ... + * Implement a translator which reads stow and show it as an rpm data store for yum, deb data store for apt-get ... + +One goal is obviously choice of packaging and hence availability of more packages. Also this gives maintainers a choice to continue building packages for GNU in the format they are already familiar with. The second goal is to demonstrate the flexibility GNU offers in implementing functionality in filesystems (open/read/write interface). + +## Why? + + * The GNU Hurd provides a lot of advanced features and functionalities. We aim to exploit those features. + * Combining translators with UnionFS gives a very exciting package manager. + * We could use the good features of existing packaging systems like deb, rpm, ebuilds, ports ... plus unionfs and hurd translator is a compelling combination. + +With the increased flexibility in implementing filesystems as per the requirements, we can implement the functionality similar to apt-get, emerge or yum... (dependency tracking, versions tracking...) in the filesystem itself. + +## What? + + * Have a basic filesystem based package manager + * Write translators to convert between GNU's packaging format and the existing one's like rpm, deb ... + +## How? + + * Installation of a package is just drag the package (be it a tgz, rpm, deb or an exe) and drop it to the package manager. + + * apt-cache search vim --> ls -al /packages/meta/ |grep vim + * apt-get install vim --> install vim + +Just a sample script. + + $ cd /packages/meta/vim/current/depends + $ for i in `ls *` + $ do + $ if [ -f /packages/binary/$i ] + $ then + $ echo "$i is installed" + $ else + $ install $i + $ fi + $ done + +The same can be achieved using any of the languages or front ends or even manual copying. + +If all the dependencies are there + + $ cp -r /ftp/ftp.gnu.org/packages/binary/vim/7.0 /packages/binary/vim/7.0 + +## Implementation Details + +Lets take the example of rpm, it is simply a cpio archive with software and +meta data as its contents. Just extract it to stow directory with a name +package-version. When apt-get or yum asks for information about already +installed packages read the stow tree and return back the requested data. + +Same case for ebuild. We can provide these details to any packaging system +in the way it wants using a translator. So support for a new format is +just writing the new translator. + +## Initial idea + +A bit more complex than the earlier scheme but it is more exciting and we can look at this scheme seriously once we have the simple scheme working. + +All packages are installed at +`/packages/binary/<packagename>/<packageversion>`. + +For example vim 6.4 version can be installed from source like + + # cd vim64 + # ./configure --prefix=/packages/binary/vim/6.4 + # make + # make install + +Now if you have another vim version, say 7.0 then just follow the steps + + # cd /packages/source/vim + # CP /<pathtovimtarball>/vim-7.0.tar.bz2 + # tar -jxvf vim-7.0.tar.bz2 + # mv vim70 7.0 + # ./configure --prefix=/packages/binary/vim/7.0 + # make + # make install + +You have 2 versions of vim and how can you specify which one is the current version? You can symlink the current version to select the version you would like to see as default + + # ln -s /packages/binary/vim/7.0 /packages/vim/current + +## Metadata: /packages/meta + +Dependency information is stored as a symbolic link to the required packages in a subdirectory called depends. + +## Requirement + +We will require unionfs support if we chose to go through path 2 (which is what I like because we can really show off with translators.) + + * Developing status - planning + * Near term goal - implement stow backend for dpkg + * High priority task - make unionfs work on boot. Mail from AMS to gnu-system-discuss on problem statement <http://www.mail-archive.com/gnu-system-discuss@gnu.org/msg00198.html> + +## Developer Guidelines. + + * GNU coding standards <http://www.gnu.org/prep/standards/> + + +## FAQ - Frequently asked questions + + 1. How can I join this project? + +OK. I will give you steps. + +i. Install a GNU System by folowing [[these_instructions|setup]] + +ii. Read about GNU Design: [[Towards_a_New_Strategy_of_OS_Design|hurd-paper]] + +iii. Read about translators <http://www.debian.org/ports/hurd/hurd-doc-translator> + +iv. Try out these cool [[translator_examples|translator/examples]] + +v. Add your name below and give a shout in the list. + + +## Comments?? + +Add your comments here + +## Interested? + +To join the project just list your name below. + + 1. PraveenA + 2. IsaacPraveen + 3. VikramVincent + 4. MaheshM + 5. Nidhin Raghavan + 6. Ajish.B + 7. Ambili.B + 8. Abhradip Mukherjee + 9. Ermenegildo Fiorito diff --git a/hurd/running/live_cd.mdwn b/hurd/running/live_cd.mdwn new file mode 100644 index 00000000..42d85c5b --- /dev/null +++ b/hurd/running/live_cd.mdwn @@ -0,0 +1,25 @@ +You can download a gzipped iso of a Hurd Live CD at +<http://www.superunprivileged.org/hurd/live-cd/>. + +The Superunpriveleged crew also offers a tiny Hurd Live CD that is under 10 +MiB: <http://www.superunprivileged.org/hurd/tiny-cd/> + +Use it like this: + + $ qemu -cdrom hurd-tiny-cd-20060722.iso + +A more recent Live CD can be found at <http://teythoon.cryptobitch.de/hurd/livecd/hurd-live-install-1273300101.iso.xz>. + +It can be run with qemu via + + $ wget http://teythoon.cryptobitch.de/hurd/livecd/hurd-live-install-1273300101.iso.xz + $ xz -d hurd-live-install-1273300101.iso.xz + $ qemu -cdrom hurd-live-install-1273300101.iso + +These [[!wikipedia LiveCD]]s should be useful for those who want to try out the +Hurd before they commit to installing it on their hard disks. In addition to +that, the bootable Hurd CDs should enable us to have a native installer instead +of relying on Linux. + +* [[RequirementsForLiveCD]] +* [[BuildingHurdLiveCD]] diff --git a/hurd/running/qemu.mdwn b/hurd/running/qemu.mdwn index f40d71d8..6989cf72 100644 --- a/hurd/running/qemu.mdwn +++ b/hurd/running/qemu.mdwn @@ -1,39 +1,68 @@ +This page discusses things for [[Unix]] systems, there is a separate page for +[[Microsoft_Windows]] systems. + + # Readily Available Images -(!) Note that these are unofficial images: they have been prepared by +To try out the Hurd you can use the image of the Debian GNU/Hurd: + +* [Official Debian GNU/Hurd QEMU image](http://ftp.debian-ports.org/debian-cd/K16/debian-hurd-k16-qemu.img.tar.gz) + +(!) Note that the following are unofficial images: they have been prepared by volunteers and may not have been tested extensively. -* [Disk image](http://www.numenor.art.pl/balrog/hurd/) with an installation of - [[Debian_GNU/Hurd|running/debian]]. -* [Announcement](http://lists.debian.org/debian-hurd/2007/09/msg00000.html) of - another image. +<!--* [Disk image](http://www.numenor.art.pl/balrog/hurd/) with an installation of + [[Debian_GNU/Hurd|running/debian]].--> + +* [Disk image](http://draketo.de/dateien/hurd/bab-hurd-qemu-2008-10-29.img.tar.bz2) + with a short intro on translators. Just start it with 'qemu *disk_image.img*'. + It should work without any of the configuration below. If you want to know what you can do + with it, please have a look at [[its_wikipage|hurd/running/qemu/babhurd_image]]. And when + you use it, please [tell me your experience with it](http://draketo.de/contact)! - [[community/weblogs/ArneBab]] +Also you can use qemu to easily try one of our [[Hurd_LiveCDs|hurd/running/live_cd/]]. -# What is Needed +<!--* [Announcement](http://lists.debian.org/debian-hurd/2007/09/msg00000.html) of another image. - The link in the email doesn't work anymore, too old. //--> -1. First thing is to install [[QEMU]]. -2. A [grub](http://www.gnu.org/software/grub/) boot disk for the floppy disk image needed for booting. The [0\.97 version](ftp://alpha.gnu.org/gnu/grub/grub-0.97-i386-pc.ext2fs) works fine. I downloaded it an renamed to `floppy.img`. -3. You will need a [Debian/Hurd installation CD](http://www.debian.org/ports/hurd/hurd-cd). K14 works fine. + +# What is Needed to create a QEMU image + +1. First thing is to install [[/QEMU]]. +2. A [[grub]] boot disk for the floppy disk image needed for booting. The [0\.97 version](ftp://alpha.gnu.org/gnu/grub/grub-0.97-i386-pc.ext2fs) works fine. I downloaded it and renamed to `floppy.img`. Alternatively, the Debian grub-disk package (up till version 0.97-28) is fine as well. +3. You will need a [Debian/Hurd installation CD](http://www.debian.org/ports/hurd/hurd-cd). K16 works fine. # Installing Debian/Hurd with QEMU -First off you will need to create a disk image using `qemu-img`. I have set mine to 2 gigabytes, although you should be able to get away with less. +First off you will need to create a disk image using `qemu-img`. I have set mine to 2 gigabytes, although you should be able to get away with less(Currently, the maximum disk image size one can create with QEMU is 4.5G). $ qemu-img create hd0.img 2G Next you will want to start up QEMU and begin the installation process. The first time you run it you will want to use the `-boot d` option to boot off the cdrom. - $ qemu -hda hd0.img -cdrom debian-K14-hurd-i386-CD1.iso -fda floppy.img -boot d + $ qemu -hda hd0.img -cdrom debian-K16-hurd-i386-CD1.iso -fda floppy.img -boot d Now at his point do the regular install using `hd0` as your harddrive. Partition it and install the base system. Once you have finished installing the base system select the reboot option as this will ensure the disk is properly un-mounted. When the Debian CD menu comes up again simply close QEMU. Now run your image with floppy booting (`-boot a`) and finish the install (`./native-install` .. etc). +You'll want to add more memory or activate swap for `./native-install` or it will hang. +Starting qemu with `-m 512` worked for me. +Swap can be activated like this (replace hd0s2 with your swap partition): + + $ cd /dev/ + $ MAKEDEV hd0s2 + $ /hurd/mach-defpager + $ swapon /dev/hd0s2 **Important:** Older versions on gnumach needed that the `-M isapc` was passed to qemu. This is not needed anymore. +Also see another text about how to [[gnu/create_an_image]] for the +[[GNU_system|gnu]]. + + +# Transferring Files -# Mounting Disk Image on Host +## Mounting Disk Image on Host You may wish to mount your disk image on your host system to transfer files. To do this you will first need to find the offset of the partition you wish to mount. @@ -50,18 +79,42 @@ Now take the number of sectors for the beginning of the partition and multiply i # mount -o loop,offset=32256 hd0.img /mnt/diskimage +## Having QEMU create *virtual FAT disk images* + +[Manual](http://www.nongnu.org/qemu/qemu-doc.html#SEC25). + +QEMU has a facility to create FAT file systems on-the-fly: + + qemu [...] -hdc fat:[somewhere] + +The Hurd [[`fatfs`_translator|translator/fatfs]] currently is read-only, but +for testing executables (etc.) that is enough. And it is much easier than +loop-mounting the file systems images. (Also you don't need `root' rights.) + +However, note that there is a bug in [[translator/fatfs]]: [[!GNU_Savannah_bug +25961]]. + # Networking in QEMU +Some further notes about [[networking]] and home hints about +[[networking/sharing_files]]. + ## Internet Access If you just want to access the internet from within QEMU, you can setup pfinet for QEMU's user-networking: # settrans -afgp /servers/socket/2 /hurd/pfinet -i eth0 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0 + # echo "nameserver 10.0.2.3" > /etc/resolv.conf -(See also <http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC30>.) +(See also <http://www.nongnu.org/qemu/qemu-doc.html#SEC32>.) -Outgoing internet connections should just work then, although you might have to setup nameservers in `/etc/resolv.conf` as well. +Outgoing internet connections should just work then. +Testing it can be difficult with a minimal installation, +but `apt-get update` should work after you have filled out +`/etc/apt/sources.list`. +After that you should be able to install other network packages, +but note that `ping` doesn't work with QEMU's user-networking stack. If you want to connect from the host system to the Hurd system running in QEMU, you need to setup something more advanced, like bridged networking. @@ -117,6 +170,8 @@ system after installation. [[Image_for_L4]] -- a QEMU image for the Hurd/L4 project. +<http://eyeside.net/hurd/Hurd-on-QEMU.html> + # TODO @@ -143,3 +198,4 @@ system after installation. <tschwinge> Yes. The problem is actually that the linux block cache doesn't make any consistency between /dev/hda and /dev/hda6, so if you give /dev/hda to qemu, qemu writings won't be consistent with mounting /dev/hda6 in linux. You can give /dev/hda6 directly to qemu and it will be fine. + diff --git a/hurd/running/qemu/babhurd_image.mdwn b/hurd/running/qemu/babhurd_image.mdwn new file mode 100644 index 00000000..c0952fcf --- /dev/null +++ b/hurd/running/qemu/babhurd_image.mdwn @@ -0,0 +1,67 @@ +What this little Hurd image can do +---------------------------------- + +### About this text + +This is the README file accompanying a +[disk\_image](http://draketo.de/dateien/hurd/bab-hurd-qemu-2008-10-29.img.tar.bz2) for +[[running_the_GNU/Hurd_via_qemu|hurd/running/qemu]]. To run the disk image, just use *'qemu +disk_image.img'*. + +You can find the custom *.bashrc* used to tell the user about it as well as this text itself +in the Mercurial repository [hurd_intro](http://bitbucket.org/ArneBab/hurd_intro). + +### Intro + +The Hurd has some unique capabilities, and we created this simple image +to enable you to easily try two of them: + +* The simplest of translators: Hello World! +* Transparent FTP + +### Hello World + +To try out the simplest of translators, you can go the following simple steps: + + $ cat hello + $ setrans hello /hurd/hello + $ cat hello + "Hello World!" + $ settrans -g hello + $ cat hello + +What you do with these steps is first verifying that the file "hello" is empty. + +Then you setup the translator /hurd/hello in the file/node hello. + +After that you check the contents of the file, and the translator returns "Hello World!". + +To finish it, you tell the translator to go away from the file "hello" via "settrans -g hello" and verify that now the file is empty again. + +### Transparent FTP + +We already setup a a transparent FTP translator for you at /ftp: + +With it you can easily access public FTP via the file system, for example the one from the GNU project: + + $ ls /ftp://ftp.gnu.org/ + +But you can also do this very easily yourself: + + $ # Setup the translator on the node ftp: + $ settrans -c ftp: /hurd/hostmux /hurd/ftpfs / + +and you can access FTP sites via the pseudo-directory ftp:, for example with + + $ ls ftp://ftp.gnu.org/ + +What you do here is setting up the translator /hurd/hostmux on ftp: and passing it the translator /hurd/ftpfs to use for resolving accesses as well as / as additional path component. + + +These were only two basic usages of translators on the Hurd. We're sure you'll quickly see many other ways to use this. + +As a last comment: You can setup a translator on any node you have access to, so you can for example mount any filesystems as normal user. + +You might currently be logged in as root, but you could just as well do the same as normal user. + +Why don't you try it out? diff --git a/hurd/running/qemu/microsoft_windows.mdwn b/hurd/running/qemu/microsoft_windows.mdwn new file mode 100644 index 00000000..832b4bef --- /dev/null +++ b/hurd/running/qemu/microsoft_windows.mdwn @@ -0,0 +1,52 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +Welcome, This document is for getting you started in a few minutes. + +1. Install Qemu for Windows + + The executable can be downloaded from + <http://free.oszoo.org/ftp/qemu/win32/release/> Doble click on the + installer and follow the instructions. + +2. Obtain Qemu image + + * Debian GNU/Hurd qemu image can be downloaded from + <http://www.numenor.art.pl/balrog/hurd/>, but also see the main + [[QEMU]] page. + * Uncompress the image and rename it to debian-hurd-for-qemu.img (.img is + the only thing that matters, you can chose any name) Note: .img is for + QEMUMenu.bat, which saves you from remembering the command line options + of qemu and helps you change the settings (like chosing different + images, allocating RAM for the guest OS ...) interactivly. + * Copy this file to the directory where you installed Qemu. + +3. Start Qemu + + Double click the QEMUMenu.bat and enter the number to chose between images. + +4. Qemu short cuts + + * ctrl alt - to exit grab from qemu, get mouse cursor out from the qemu + window + * ctrl alt f - full screen + * ctrl alt 2 - qemu contrl console, use this to change devices + (eg. changing cdrom), send keys to the guest (for example if you want + to send ctrl alt del to the guest type "sendkey ctrl-alt-del" ... type + "help" for a listing of all the options. + * ctrl alt 1 - Hurd login console + +## QEmu Image Hangs on Boot +The Debian GNU/Hurd K16 QEmu image hangs during the boot process. You may have better luck by converting the image to qcow format + + ..\qemu-0.9.0-x86\qemu-img.exe convert debian-hurd-k16-qemu.img -O + qcow debian-hurd-k16-qemu.qcow + ..\qemu-0.9.0-x86\qemu.exe -L ..\qemu-0.9.0-x86 -m 512 -hda + debian-hurd-k16-qemu.qcow -localtime -M pc diff --git a/hurd/running/qemu/networking.mdwn b/hurd/running/qemu/networking.mdwn new file mode 100644 index 00000000..71daa576 --- /dev/null +++ b/hurd/running/qemu/networking.mdwn @@ -0,0 +1,43 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +## User mode network + +This is the default networking option for qemu. This does not require root +previleges. If you have DHCP running it will take the ip as 10.0.2.15 + +You can setup an ip 10.0.2.* +Gateway is 10.0.2.2 +Name server is 10.0.2.3 +Netmask is 255.255.255.0 + +You can setup the pfinet translator with the command + + $ settrans -fgap /servers/socket/2 /hurd/pfinet -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0 + +Configure nameserver in /etc/resolve.conf + + nameserver 10.0.2.3 + +Setup a proxy with the command + + $ export http_proxy="http://<proxy.com>:<port>" + +Note: you can add this to your /etc/profile file so that every time you don't +have to setup this. + +If you are using a direct connection to internet install a proxy server on the +host os and use this. (I was not able to use it without proxy) + +You might be able to do it using iptables, some clues +<http://sujith-h.livejournal.com/9520.html> + +Use scp,ftp... to transfer files (also see +[[hurd/running/debian/faq#index2h1]]), read about [[sharing_files]]. diff --git a/hurd/running/qemu/networking/sharing_files.mdwn b/hurd/running/qemu/networking/sharing_files.mdwn new file mode 100644 index 00000000..5bdec5f1 --- /dev/null +++ b/hurd/running/qemu/networking/sharing_files.mdwn @@ -0,0 +1,38 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +# SCP + +Setup OpenSSH server on host system. + +* Copying files from Guest to Host + + $ scp <file> <user>@<host>: + +* Copying files from Host to Guest. + + $ scp <user>@<host>:<file> + +Use scp -r for copying directories. + + +# FTP + +Setup ftp server (like proftpd) on the host. + +* Use ftp client from GNU inetutils + + $ ftp <host> + + Use mget to copy files from host and mput to copy files to the host. + +* The GNU way - setup an ftp translator + + $ settrans -ac ftp/<host> /hurd/ftpfs <username>:<password>@<host>:<path> diff --git a/hurd/running/vmware.mdwn b/hurd/running/vmware.mdwn new file mode 100644 index 00000000..1f99e247 --- /dev/null +++ b/hurd/running/vmware.mdwn @@ -0,0 +1,56 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +## Installation + +Use <http://www.easyvmx.com/> web based tool to create vmx configuration files +which can be used with VMware player (which is a freeware). If you have a +VMware workstation or server you don't have to do this step. + +Note: I have tried it with K10 version of Debian GNU/Hurd on VMware running on +a Debian GNU/Linux machine. + +You can get more information about obtaining Debain GNU/Hurd CDROMS from +<http://www.us.debian.org/ports/hurd/hurd-cd>. + +Insert the first cdrom and proceed with the installation as per the +installation guide <http://www.us.debian.org/ports/hurd/hurd-install>. + +## VMware specific notes: + +You will need a grub floppy image to boot GNU/Hurd. I have attached a copy of +it with this document. You can also download it from here +<http://www.update.uu.se/~ams/home/slask/GNU/grub.img>. + +When you reboot the machine after the base tar ball is extracted (first reboot) +press 'Esc' key while VMware start up and set removable devices as the fisrt +boot device. + +Select "GNU (Also known as GNU/Hurd)" ie, the first option and press 'e' to +edit the grub menu and go to second line and press 'e' again to change +/boot/gnumach to /boot/gnumach.gz. + +Add a link to /boot/gnumach from /boot/gnumach.gz so that you don't have to +edit grub every time you boot. + + # ln -s /boot/gnumach.gz /boot/gnumach + +Or mount the floppy image and change it. + + # mkdir /media/floppy + # mount -o loop <path-to-grub.img> /media/floppy + +Edit /media/floppy/boot/grub/menu.lst with your favorite text editor and change +/boot/gnumach to /boot/gnumach.gz. + +## After install tweaks + +Start using GNU, here is +<http://www.gnu.org/software/hurd/users-guide/using_gnuhurd.html>. diff --git a/hurd/running/vmware/discussion.mdwn b/hurd/running/vmware/discussion.mdwn new file mode 100644 index 00000000..2db08654 --- /dev/null +++ b/hurd/running/vmware/discussion.mdwn @@ -0,0 +1,18 @@ +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +I find that this is all quite quick to try and that I can run through the +./native-install and reboot cycle twice OK. However, at that point the +installed Hurd boots up but fails to display a login prompt. This is the case +for both K10 and K14 using VMware Workstation 5.0.0 under Windows XP. Maybe +I'm doing something wrong but it is hard to see what. I'd be interested to +know more precisely what other people find does work. + +--IanMiller - 01 Apr 2007 |