Cross installation package
It's a pity, that
a) The official Hurd Site does not mention "The easy guide to installing
Hurd on a Linux box.". I found it until the bottom of Neal Walfields
official "The GNU/Hurd installation guide" (which by the way helped
me bootstrap gladly my first Hurd)
b) The Debian Web site does not even mention how to install The Hurd
from within Debian, (http://www.debian.org/ports/hurd/) while the
respective install scripts are at the same place! corss-install,
Matthew Vernon's description seems easily be able to be scripted,
provided a Debian Installation and maybe a very simple debian package,
which I want to propose right now:
It would depend on grub, dpkg, sharutils, patch, e2fsprogs, etc. minus
what is in the essential packages
It would contain the scripts/files:
and in /usr/share/doc/hurd-installer Neal Walfields Document, Matthew's
Document, et al.
As in a running Debian System lot's of things to be known for the
installation are already given, the installation could be preconfigured
easily and a great deal of it could be done bye script, which could be
either provided to be used manually, or canned into a postinstall
I have practically no experience with debconf and/or dialog, so I feel a
cannot reasonable do it in a nice way. However find at the bottom a
description of how this script could behave.
Although there are plans to integrate the Hurd installation into the
debian-installer or elsewhere, this plans will maybe not realized in the
near to middle future. This package could help spread the Hurd in the
meanwhile, and at almost no cost.
There would be at least to typical aplications for it:
a) somebody wants to check out the Hurd for curiosity, and installs the
Hurd along with his/her Debian installation.
b) To install only the Hurd on a computer, one could install a minimal
Debian installation on either:
- the future swap partition
- the future /tmp partition or
- on a to be "rescue/Debian" partition
As less as 150 MBytes should be required for the "install-partition".
After the standard Debian installation just skip Tasksel and dselect,
and run apt-get install hurd-installer.
Now my notes on the script:
* Find partitions
fdisk -l |grep ^/dev/
check for each partition whether it is mounted and whether it is
mentioned in fstab.
take into account also /proc/mdstat and /proc/raidtab
is there a utility to find free space?
this gives lists of available partitions, of probably mountable or trashable
partitions, and of swap-partitions
sort and show a list with: type, size, mountpoint, eventually (not
needed) their Hurd partition name
1) the root partition
2) swap partition/s
3) partitions which should be mounted aditionally
For batch processing: be able to specify one --root <dev> and various
--swap <dev> command line options
* Format and prepare root partition
The selected one
mount it at /gnu
create specified mount points
mount eventually other partitions (/var, /tmp),but probably not /home
* Cross Install the Hurd
We can get the actual the used Debian mirror from /etc/apt/sources.list
Than we offer:
1) install from the standard location
2) Specify a local mirror
3) Specify a directory where the packages can be found
add alpha.gnu.org, if there is a "deb http://" line in the selected source
** Configure Grub
Is there a script to "convert" lilo.conf to menu.lst?
The grub package provides a reasonable menu.lst for booting hurd in
create a menu.lst with at least Gnu/Hurd entry according to the root
Let the user specify wether to boot from other partitions/operating
systems too and add them.
Let the user specify where to boot The Hurd from:
- Hurd root partition
- Master Boot Record
run grub-install acordingly
Why can't we fumble with /libexec/rc so it runs native-install
automatically this time?
Can we make native-install create device files for all to-be mounted
partitions, not only root ?
Can we make the new Gnu reboot in single user mode and rerun
Can we have the network configuration automatically migrated from
/etc/network/interfaces to The Hurd and activated in the first reboot?
** Restart the system
Of course tell the user we want to do so. If we did not install Grub
to the MBR tell user to insert and/or select the proper boot device.