summaryrefslogtreecommitdiff
path: root/community/gsoc/project_ideas/debian_installer.mdwn
blob: 7edc20dea156ebd7f034376051e3c2088fdbd761 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
[[!meta copyright="Copyright © 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]]."]]"""]]

[[!meta title="Port the Debian Installer to the Hurd"]]

[[!template id=highlight text="""/!\ Obsolete /!\

---

Jérémie Koenig has been working on this as a [[Google Summer of Code
2010|2010]] project."""]]


The primary means of distributing the Hurd is through Debian GNU/Hurd.
However, the installation CDs presently use an ancient, non-native installer.
The situation could be much improved by making sure that the newer *Debian
Installer* works on the Hurd.

Some preliminary work has been done, see
<http://wiki.debian.org/DebianInstaller/Hurd>.

The goal is to have the Debian Installer fully working on the Hurd.  It
requires relatively little Hurd-specific knowledge.

A lot of the "non-Linux support" part of the project has already been done thanks to a previous GSoC, so at least no ground reason should bar the project. A lot of the required udebs are already in Debian or are pending upload, so that building an image and booting it does already work. A preliminary list of what remains is

 * Add initrd support to GNU Mach, unless youpi does it before :) This should not be very complicated by re-using the iopl driver code.
 * hurdify genext2fs to handle 4096 block size by default (see bug #562999) and support translator entries.
 * Port busybox. This needs to be synchronized with kfreebsd people, who have probably already done some work, but that seemingly still hasn't been merged. In the meanwhile, youpi has a version with most of it disabled so a d-i image can actually be built.
 * Port keyboard-setup to configure the xkb driver of the Hurd console

As a starting point to get a grasp at how the debian installer is built, students might wish to look at the current Debian installer source and build process on Linux:

 * svn co svn://svn.debian.org/d-i/trunk/installer/
 * cd installer/build
 * make build_monolithic

The same can be done on hurd-i386 but a few non-uploaded packages are needed, see http://people.debian.org/~sthibault/hurd-i386/README-d-i

Possible mentors: Samuel Thibault (youpi)

Exercise: Fix a couple of Hurd issues in busybox.