Differences between revisions 1 and 96 (spanning 95 versions)
Revision 1 as of 2007-11-02 12:45:45
Size: 50
Editor: MichaelBanck
Comment:
Revision 96 as of 2012-02-05 20:13:25
Size: 10501
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Placeholder until top-level stuff is moved here. #language en
# Put translations here # ~-Translation(s): English - [[de/Debian_GNU/Hurd|Deutsch]]


[[Debian]] > [[Debian_GNU|Debian GNU]] > Debian GNU/Hurd
----
This page attempts to be a reference for all resources related to Debian GNU/Hurd that can be useful for users and developers. Feel free to add more stuff as you see fit.

''"In a discussion with the Debian Hurd porters it was decided that the
Hurd port stays on FTPMaster until Wheezy is released. Should they
have managed to get the port into a state that it is released together
with all the others (probably as a technology preview), it is kept in
the archive. Should they not manage this the port will be removed from
the main archive and move fully to debian-ports.org."''<<FootNote([[http://lists.debian.org/debian-devel-announce/2011/03/msg00015.html]] - Debian pushes development of the Hurd port)>>


= What is Debian GNU/Hurd ? =
''Debian GNU/Hurd'' is an operating system from Debian, but which uses [[http://www.gnu.org/software/hurd/|GNU Hurd]], which a set of servers, running on top of the GNU Mach microkernel instead of the kernel named ''Linux'' (thus the name Debian GNU/Hurd). Some day, most applications will exist both in ''Debian GNU/Hurd'' and in ''[[DebianGnuLinux|Debian GNU/Linux]]''.

== Basic info ==

 * [[http://www.debian.org/ports/hurd/|Official port site]]

 * [[http://www.gnu.org/software/hurd/|GNU's GNU Hurd]]

 * Installation and testing:
  * http://www.debian.org/ports/hurd/hurd-install
   * Debian "Sid" debian-installer images available [[http://people.debian.org/~sthibault/hurd-i386/installer/cdimage/]].
   * This is the prefered method of install.
  * [[DebianPackage:crosshurd|Cross Hurd]]
  * Pre-build image files (*.img.*) at [[http://people.debian.org/~sthibault/hurd-i386/]]

 * [[Debian_GNU/Hurd_FAQ]]

 * [[TheHurd]] page. (Merge?)

 * [[http://lists.debian.org/debian-hurd/|User/developer discussion mailing list]]

 * [[http://lists.debian.org/debian-devel-announce/2011/07/msg00002.html|Last bits from the project]]

 * IRC channel: http://www.gnu.org/software/hurd/irc.html
  * [[irc://irc.freenode.net/hurd|#hurd]] on irc.freenode.net
  * [[irc://irc.debian.org/debian-hurd|#debian-hurd]] on irc.debian.org

== Goals for releasing in wheezy ==

 * buildd
  * security
  * DSA
 * proper dhcp support in installed system
  * use ifup/ifdown instead of translators entry?
 * debian-ports packages need to be integrated in the main archive.
  * binutils
   * DebianBug:629866
   * Not critical, can live without
  * cardmgr-gnumach
   * wifi, can live without
  * console-driver-xkb
   * we should probably just integrate it in the hurd package
   * See the concerns on the mailing list archive (bug-hurd, "XKB's keymaps for the Hurd console")
  * gcc-4.4 gcc-4.6
   * DebianBug:629866
   * not critical, can live without
  * ghc6
   * Difficult hang during build
   * uninstallable in ports
  * gopherfs
   * ITP: hurdextras?
  * grub2
   * decide on partition stuff, and submit
  * (./) guile-1.8
   * linked with -lpthread, to avoid dlopen(lpthread) bug, DebianBug:646544
   * DebianBug:630415 shows that guile-2.0 will have pthread enabled anyway.
   * to remove
  * (./) hdf5
   * DebianBug:627896
   * to remove
  * hyperestraier
   * DebianBug:558586
   * for w3m.
  * icon
   * DebianBug:654381
   * for lyx.
  * ifupdown
   * TODO
  * isc-dhcp
   * DebianBug:616290
   * Need to discuss directly with upstream
  * libdrm
   * This is just a stub. integrate in the main archive?
   * Needs to be worked on!
  * libusb
   * This is just a stub. integrate in the main archive?
   * Needs to be worked on!
  * lockdev
   * TODO
  * mx
   * DebianBug:648187
  * netio
   * ITP: hurdextras?
  * parted
   * decide on partition stuff, and submit
  * pulseaudio
   * --(see https://bugs.freedesktop.org/show_bug.cgi?id=42715 )--
    * needs also SA_NOCLDWAIT
   * needs symbol fixes in the Debian packaging
   * DebianBug:573339
  * qdbm
   * make check fails due to unimplemented msync(), DebianBug:648663
   * does not honor nocheck in DEB_BUILD_OPTIONS, DebianBug:648649
  * random-egd
   * make it an alternative to Marcus' C implementation
   * can live without
  * ruby1.9.1
   * (./) Fix {{{__libc_stack_end}}} in glibc, pending
   * (./) apply patch to fix struct dirent size once upstream agreed.
   * fix PATH_MAX issue, DebianBug:648055
  * sane-backends-extras
   * can live without
  * screen
   * trivial fix on DebianBug:522689 , uploaded to experimental
  * (./) sidplay-libs, to remove
   * disable hardsid installation, DebianBug:654826
  * tarfs
   * ITP: hurdextras?
  * webkit
   * Hacked around PTHREAD_KEYS_MAX
   * DebianBug:649192
  * wireless-tools-gnumach
   * just for wifi, can live without
 * Be able to install at least the base from official mirror (should be almost done, missing grub/parted, dhcp)
 * Integrate DDE to get nowadays' network support.
 * Get Xorg + gnome/kde/xfce (xfce should work, kde is missing working dbus (due to local socket auth and bugs in select() cornercases)) + some webbrowser working (iceweasel 9 works, though not https).
 * (./) Fix ext2fs uncleanness at reboot [[http://www.gnu.org/software/hurd/open_issues/sync_but_still_unclean_filesystem.html]]
 * Switch to plain sysv startup?
 * (./) Enable console by default? (we now have proper kernel message relaying)
 * fix "su" to root discrepancy (PATH does not include sbin etc.)
 * Good archive coverage.
  * We're at 70%, kfreebsd is at 88%. Although probably not reachable, we can probably do better with
   * ghc
   * mono
   * gnat
   * (./) ruby1.9.1

== ghc ==

Follow http://hackage.haskell.org/trac/ghc/wiki/Building/Porting

Make sure to use the same path in the host and in the target for the compilation.

For the triplet, use i386-unknown-gnu. Better cross-build from an i386 host.

Don't use perl boot: the package is already "booted".

After having run make in the host, fix the offsets in ./libraries/unix/dist-install/build/System/Posix/Files.hs, they are bogus, use the following instead, and fix allocation from 96 to 128.

{{{
    deviceID (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 4))
    {-# LINE 314 "libraries/unix/./System/Posix/Files.hsc" #-}
    fileID (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 12))
    {-# LINE 316 "libraries/unix/./System/Posix/Files.hsc" #-}
    fileMode (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 28))
    {-# LINE 318 "libraries/unix/./System/Posix/Files.hsc" #-}
    linkCount (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 32))
    {-# LINE 320 "libraries/unix/./System/Posix/Files.hsc" #-}
    fileOwner (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 36))
    {-# LINE 322 "libraries/unix/./System/Posix/Files.hsc" #-}
    fileGroup (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 40))
    {-# LINE 324 "libraries/unix/./System/Posix/Files.hsc" #-}
    specialDeviceID (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 24))
    {-# LINE 326 "libraries/unix/./System/Posix/Files.hsc" #-}
    fileSize (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 44))
    {-# LINE 328 "libraries/unix/./System/Posix/Files.hsc" #-}
    accessTime (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 52))
    {-# LINE 330 "libraries/unix/./System/Posix/Files.hsc" #-}
    modificationTime (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 60))
    {-# LINE 332 "libraries/unix/./System/Posix/Files.hsc" #-}
    statusChangeTime (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 68))
    {-# LINE 334 "libraries/unix/./System/Posix/Files.hsc" #-}
}}}

And then run make again, and proceed with copying to the target.

In <T>/mk/build.mk, append -lffi to ghc_stage2_v_EXTRA_CC_OPTS and -lffi -lncurses -ltermcap to utils/ghc-pkg_dist-install_v_EXTRA_CC_OPTS

== Goals for later ==

 * IPv6 support in d-i (after it is settled for linux).

== Developer info ==

 * DD-accessible machines running GNU/Hurd:
  * hurd-i386: see [[ArchiveQualification/hurd-i386]]

 * [[ArchiveQualification/hurd-i386]]

 * [[https://alioth.debian.org/projects/debian-hurd/|Debian GNU/Hurd port on alioth]]

 * [[http://www.debian.org/ports/hurd/hurd-devel|Debian GNU/Hurd Development]]

 * --( [[https://debian-hurd.alioth.debian.org/TODO|TODO file, with all sorts tasks we need help on]] )--

 * --( [[http://debian-hurd.alioth.debian.org/NOTES.archive|NOTES about package status in official archive]] )--

 * --( [[http://alioth.debian.org/~kibi/bd-report/|Packages with uninstallable Build-Depends]] )--

 * [[http://edos.debian.net/edos-debcheck/unstable.php|Uninstallable packages (EDOS debcheck)]]

 * --( [[http://www.debian.org/ports/hurd/hurd-devel-debian|Basic porting information]] )--

 * --( [[http://alioth.debian.org/tracker/?atid=410472&group_id=30628&func=browse|Our patches directory]] )--

 * --( [[http://debian-hurd.alioth.debian.org/patches/debian-only/|Patches that are only needed for Debian]] (either because they're fixed-upstream, or because of their Debian-specific nature) )--

 * [[http://bugs.debian.org/cgi-bin/pkgreport.cgi?users=debian-hurd@lists.debian.org;tag=hurd|Patches submitted in the Debian BTS]]

 * [[http://bugs.debian.org/cgi-bin/pkgreport.cgi?submitter=dschepler@gmail.com|General FTBFS also affect us (dschepler@gmail.com)]]
 * [[http://bugs.debian.org/cgi-bin/pkgreport.cgi?submitter=lucas@lucas-nussbaum.net|General FTBFS also affect us (lucas@lucas-nussbaum.net)]]

 * [[https://buildd.debian.org/|Build logs of Debian GNU/Hurd]]

 * [[https://alioth.debian.org/projects/pkg-hurd/|Hurd package on alioth]]

 * [[https://alioth.debian.org/projects/crosshurd/|crosshurd on alioth]]


----
## This page is referenced from http://www.debian.org/ports/kfreebsd-gnu/
CategoryPermalink

Debian > Debian GNU > Debian GNU/Hurd


This page attempts to be a reference for all resources related to Debian GNU/Hurd that can be useful for users and developers. Feel free to add more stuff as you see fit.

"In a discussion with the Debian Hurd porters it was decided that the Hurd port stays on FTPMaster until Wheezy is released. Should they have managed to get the port into a state that it is released together with all the others (probably as a technology preview), it is kept in the archive. Should they not manage this the port will be removed from the main archive and move fully to debian-ports.org."1

What is Debian GNU/Hurd ?

Debian GNU/Hurd is an operating system from Debian, but which uses GNU Hurd, which a set of servers, running on top of the GNU Mach microkernel instead of the kernel named Linux (thus the name Debian GNU/Hurd). Some day, most applications will exist both in Debian GNU/Hurd and in Debian GNU/Linux.

Basic info

Goals for releasing in wheezy

  • buildd
    • security
    • DSA
  • proper dhcp support in installed system
    • use ifup/ifdown instead of translators entry?
  • debian-ports packages need to be integrated in the main archive.
    • binutils
      • 629866

      • Not critical, can live without
    • cardmgr-gnumach
      • wifi, can live without
    • console-driver-xkb
      • we should probably just integrate it in the hurd package
      • See the concerns on the mailing list archive (bug-hurd, "XKB's keymaps for the Hurd console")
    • gcc-4.4 gcc-4.6
      • 629866

      • not critical, can live without
    • ghc6
      • Difficult hang during build
      • uninstallable in ports
    • gopherfs
      • ITP: hurdextras?
    • grub2
      • decide on partition stuff, and submit
    • (./) guile-1.8

      • linked with -lpthread, to avoid dlopen(lpthread) bug, 646544

      • 630415 shows that guile-2.0 will have pthread enabled anyway.

      • to remove
    • (./) hdf5

    • hyperestraier
    • icon
    • ifupdown
      • TODO
    • isc-dhcp
      • 616290

      • Need to discuss directly with upstream
    • libdrm
      • This is just a stub. integrate in the main archive?
      • Needs to be worked on!
    • libusb
      • This is just a stub. integrate in the main archive?
      • Needs to be worked on!
    • lockdev
      • TODO
    • mx
    • netio
      • ITP: hurdextras?
    • parted
      • decide on partition stuff, and submit
    • pulseaudio
    • qdbm
      • make check fails due to unimplemented msync(), 648663

      • does not honor nocheck in DEB_BUILD_OPTIONS, 648649

    • random-egd
      • make it an alternative to Marcus' C implementation
      • can live without
    • ruby1.9.1
      • (./) Fix __libc_stack_end in glibc, pending

      • (./) apply patch to fix struct dirent size once upstream agreed.

      • fix PATH_MAX issue, 648055

    • sane-backends-extras
      • can live without
    • screen
      • trivial fix on 522689 , uploaded to experimental

    • (./) sidplay-libs, to remove

      • disable hardsid installation, 654826

    • tarfs
      • ITP: hurdextras?
    • webkit
      • Hacked around PTHREAD_KEYS_MAX
      • 649192

    • wireless-tools-gnumach
      • just for wifi, can live without
  • Be able to install at least the base from official mirror (should be almost done, missing grub/parted, dhcp)
  • Integrate DDE to get nowadays' network support.
  • Get Xorg + gnome/kde/xfce (xfce should work, kde is missing working dbus (due to local socket auth and bugs in select() cornercases)) + some webbrowser working (iceweasel 9 works, though not https).
  • (./) Fix ext2fs uncleanness at reboot http://www.gnu.org/software/hurd/open_issues/sync_but_still_unclean_filesystem.html

  • Switch to plain sysv startup?
  • (./) Enable console by default? (we now have proper kernel message relaying)

  • fix "su" to root discrepancy (PATH does not include sbin etc.)
  • Good archive coverage.
    • We're at 70%, kfreebsd is at 88%. Although probably not reachable, we can probably do better with
      • ghc
      • mono
      • gnat
      • (./) ruby1.9.1

ghc

Follow http://hackage.haskell.org/trac/ghc/wiki/Building/Porting

Make sure to use the same path in the host and in the target for the compilation.

For the triplet, use i386-unknown-gnu. Better cross-build from an i386 host.

Don't use perl boot: the package is already "booted".

After having run make in the host, fix the offsets in ./libraries/unix/dist-install/build/System/Posix/Files.hs, they are bogus, use the following instead, and fix allocation from 96 to 128.

    deviceID (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 4))
    {-# LINE 314 "libraries/unix/./System/Posix/Files.hsc" #-}
    fileID (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 12))
    {-# LINE 316 "libraries/unix/./System/Posix/Files.hsc" #-}
    fileMode (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 28))
    {-# LINE 318 "libraries/unix/./System/Posix/Files.hsc" #-}
    linkCount (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 32))
    {-# LINE 320 "libraries/unix/./System/Posix/Files.hsc" #-}
    fileOwner (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 36))
    {-# LINE 322 "libraries/unix/./System/Posix/Files.hsc" #-}
    fileGroup (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 40))
    {-# LINE 324 "libraries/unix/./System/Posix/Files.hsc" #-}
    specialDeviceID (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 24))
    {-# LINE 326 "libraries/unix/./System/Posix/Files.hsc" #-}
    fileSize (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 44))
    {-# LINE 328 "libraries/unix/./System/Posix/Files.hsc" #-}
    accessTime (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 52))
    {-# LINE 330 "libraries/unix/./System/Posix/Files.hsc" #-}
    modificationTime (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 60))
    {-# LINE 332 "libraries/unix/./System/Posix/Files.hsc" #-}
    statusChangeTime (FileStatus stat) =
      unsafePerformIO $ withForeignPtr stat $ ((\hsc_ptr -> peekByteOff hsc_ptr 68))
    {-# LINE 334 "libraries/unix/./System/Posix/Files.hsc" #-}

And then run make again, and proceed with copying to the target.

In <T>/mk/build.mk, append -lffi to ghc_stage2_v_EXTRA_CC_OPTS and -lffi -lncurses -ltermcap to utils/ghc-pkg_dist-install_v_EXTRA_CC_OPTS

Goals for later

  • IPv6 support in d-i (after it is settled for linux).

Developer info


CategoryPermalink

  1. http://lists.debian.org/debian-devel-announce/2011/03/msg00015.html - Debian pushes development of the Hurd port (1)