diff options
Diffstat (limited to 'release/INSTALL-binary')
-rw-r--r-- | release/INSTALL-binary | 107 |
1 files changed, 60 insertions, 47 deletions
diff --git a/release/INSTALL-binary b/release/INSTALL-binary index e3416437..d13beb8c 100644 --- a/release/INSTALL-binary +++ b/release/INSTALL-binary @@ -1,6 +1,6 @@ -*- Text -*- Instructions for bootstrapping the Hurd from binary images (i386). -GNU Version 0.0 +GNU Version 0.2 This is the Hurd. Welcome. @@ -15,10 +15,9 @@ Library General Public when distributing this binary snapshot. See licenses. If you have noticed that these steps are rather long and a bit too -complex, you are right. But we didn't want to delay the release just -in order to make the installation prettier. You can rest assured, -however: Making it prettier and easier is one of our more important -priorities. +complex, you are right. One of our upcoming tasks is to develop a +convenient package mechanism and more streamlined installation +procedure. Bug reports for programs in this distribution should be sent to the maintainer of the program. For a complete list of which mailing lists @@ -36,9 +35,6 @@ In addition, bug reports or requests for help in using the system as a connected whole (as opposed to for particular programs) should be sent to the hurd mailing lists. -If any of these mailing address should fail, send your message to -`tower@gnu.ai.mit.edu' and ask him to forward it properly. - STEP I: @@ -50,10 +46,7 @@ file onto a fresh floppy with the command: This is your `grub boot floppy', referred to below. Unpack the binary distribution onto a fresh disk partition, which -needs to be BSD FFS format. We have not prepared instructions for -setting up the system from an existing Linux-based system because of -time pressures. But all the tools and pieces should work for the more -stalwart souls to try it. +needs to be BSD FFS format or Linux ext2fs format. Start with a system already running BSD: @@ -66,15 +59,31 @@ Start with a system already running BSD: entire Hurd image into it. Make sure you do this as root, and remember to give tar the `p' option. -If you do not have a system running BSD, you can install using the -NetBSD boot floppies: +Start with a system already running a GNU/Linux system: + + Again, we suggest using a fresh disk. But you can also use an + existing partition. Make it big enough to hold the entire Hurd + binary image, and then some. Make sure you have a partition for + swap too. Extract the binary image onto the new partition using + tar; make sure you sue the `p' option to tar. + + You need to set the "owning OS" field for this filesystem to "hurd"; + otherwise you will not be able to use Hurd-related extensions on + it. (And using those extensions is required on the root + filesystem.) Run the command `e2os DEVICE hurd' after the + filesystem is unmounted in order to accomplish this. + +If you do not have a system running BSD or a GNU/Linux system, you can +install using the NetBSD boot floppies. To do this, you do NOT need +to install NetBSD; you will just be using their boot floppies +briefly. Unpack the entire Hurd image somewhere accessible by NFS. Then see the instruction subroutine in this file labelled `Installing from NetBSD boot floppies' and follow them. -We plan to have our own boot floppies soon, which will make this all a -fair bit easier. +We plan to have our own boot floppies, which will make this all a fair +bit easier. @@ -91,6 +100,11 @@ name (this is a mach partition name), or comment out the line if you don't want paging. Note that you don't have to do anything to initialize swap partitions, unlike Linux. +If your filesystem is an ext2fs filesystem (if you are starting with a +system already running a GNU/Linux system, for example), then you also +should change the reference to /hurd/ufs.static into a reference to +/hurd/ext2fs.static. + (If you did STEP I using NetBSD boot floppies, then this file should be /mnt/boot/servers.boot.) @@ -126,17 +140,12 @@ and you may notice that pipes don't work. In order to set up the translators for this to be a fully functional Hurd system, say - /bin/sh /SETUP disk - -where `disk' is the name of the disk to install the boot block on, -without partition name, for example `sd0' or `hd0'. (If you give no -arg, it will ask you for the device to install the boot block on in -case you forgot. If you really don't want a boot block, just hit RET -when it asks.) + /bin/sh /SETUP This will set up some initial translators so that the system runs -normally, and then offer to reboot the system. When it comes back up, -boot it single-user again, so that you can do step V. +normally, and then offer to reboot the system. When you get to the +GRUB menu, do step V. + NOTE: Do NOT RUN BSD FSCK on a Hurd FFS! @@ -157,10 +166,11 @@ NOTE: Do NOT RUN BSD FSCK on a Hurd FFS! STEP V: -Now boot from the floppy again. This time, select the "grub install" -option. (If your disk isn't known as hd0 to grub, then you will need -to edit the commands accordingly.) Reset your PC and take the floppy -disk out of the drive. The hard disk should now boot successfully. +Now boot from the floppy again. This time, select the option to +install grub from the floppy. (If your disk isn't known as hd0 to +grub, then you will need to edit the commands accordingly.) Reset +your PC and take the floppy disk out of the drive. The hard disk +should now boot successfully. Select the single-user boot menu option, and proceed to STEP VI. @@ -185,10 +195,8 @@ Say `./MAKEDEV dev1 dev2 dev3 ...'. Supported devices are: o any hard disk device you have; you must specify both unit number *and* - partition. Something like `sd0a' or `rd1f' is called for. Unit - number without any partition names the entire disk. (SETUP has - already created a device for the entire disk holding your boot - block, if you gave it that information.) + partition. Something like `sd0a' or `hd1f' is called for. Unit + number without any partition names the entire disk. o floppy disk drives, give something like `fd0' or `fd1'. o hardwired terminals, something like `com0' or `com1'. @@ -223,25 +231,20 @@ nameserver to work properly. You can mount a partition (say hd0a) by saying: - settrans /mnt /hurd/ufs /dev/rhd0a + settrans /mnt /hurd/ufs /dev/hd0a -The name `/dev/rhd0a' must have been created using `./MAKEDEV hd0a' in +The name `/dev/hd0a' must have been created using `./MAKEDEV hd0a' in the /dev directory. (This is equivalent to Unixy `mount /dev/hd0a /mnt'.) - -(Note that you are using the *RAW* device here. In theory, it's -irrelevant [and this is really only being used to get a name in a -clever but strange way], but there are minor bugs in the non-raw -versions, so don't try and use them.) If it's a Linux ext2 format disk, just do - settrans /mnt /hurd/ext2fs /dev/rhd0a + settrans /mnt /hurd/ext2fs /dev/hd0a You can make it readonly thus: - settrans /mnt /hurd/ufs -r /dev/rhd0a + settrans /mnt /hurd/ufs -r /dev/hd0a For more information on settrans, see the end of this file. @@ -261,7 +264,7 @@ automatically fscked, you'll have to make entries in /etc/fstab (see A temporary mount (which lasts only until the filesystem program is killed or the system is rebooted) can be accomplished by giving the -a -option to settrans thus: `settrans -a /mnt /hurd/ufs /dev/rsd0a'. +option to settrans thus: `settrans -a /mnt /hurd/ufs /dev/sd0a'. (Note the placement of this option, as an arg to settrans, is different from the -r options you might give to the filesystem.) `showtrans' does not display these temporary mounts. @@ -295,6 +298,16 @@ Edit resolv.conf to provide for name service appropriate to your location. +*** build a smaller kernel + +As an optional step, you can build a smaller kernel. The distributed +kernel is quite large, because it includes a great many device +drivers. If you fetch the gnumach distribution, you can build a +kernel with only the device drivers you actually need. This will make +bootstrapping faster, and also take less memory when the system is +running, and result in a faster system in general. + + Once you've completed these steps, you can reboot the system multi user. Enjoy! @@ -385,7 +398,7 @@ Subroutine: Installing from NetBSD boot floppies If you do not have a system running BSD, the NetBSD 2-floppy install set contains enough tools to make a new filesystem using newfs and copy to it from nfs. You can fetch these floppies from ftp.netbsd.org -in the directory /pub/NetBSD/arch/i386/floppies. The NetBSD install +in the directory /pub/NetBSD/NetBSD-1.1/floppies. The NetBSD install script will start automatically when you boot from the floppies, and we suggest you use it in order to partition and set up your disk. @@ -403,7 +416,7 @@ because your nfs server probably has more convenient editors than the NetBSD boot floppies. The boot floppies have only ed. A. Fetch the netbsd boot floppies from - ftp://ftp.netbsd.org/pub/NetBSD/arch/i386/floppies. Put the + ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.1/i386/floppies. Put the images onto floppy disks using the instructions found on the FTP site. @@ -449,8 +462,8 @@ K. Initialize the network with `ifconfig DEV MY-ADDR'. DEV was if you want to see those messages again. (Sometimes ifconfig says that something is "offline". Ignore it.) -L. Mount the NFS server partition with the conveniente command - `mount SERVER-ADDR:SERVER-DIR /mnt2'. +L. Mount the NFS server partition with the convenient command + `mount -o -P SERVER-ADDR:SERVER-DIR /mnt2'. M. Copy the Hurd onto your disk with the command (cd /mnt2; tar cf - .) | (cd mnt; tar xfpv -) |