[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Hu, let's boot again, like it was in windows... (install part 4)


Note that bash was just uploaded, and is not installed yet.
Also, my upload of "sash" was rejected, because the version number didn't
change from my last upload (we can't upload the same version twice, so we
have to bump the version number if we use new libc. Fortunately, sash is
statically linked, so no problem).

New packages, which are worth looking at:

ncurses, readline, bash (!)

Note: If you think these installation instructions are messy, then you are
right. However, I don't have the time to clean them. If you think it is
worth, it's your job! If you think it is too complicated, it will get easier
as soon as we have the deb's collected for a base system. Currently, I am
just building a system from scratch, which is always a bit harder. However,
most steps will not be done manually later anymore. However, if someone
wants to help, following this instructions verbatim and reporting any bugs
would help! Sometimes I try first and write it down later...

PART IV  Shell and translators

To enter commands, we need a shell (very important :). I have compiled and
uploaded the following shells:

* bash *: Compiled, some things will not work.
chs :  Compiled. Needed NOFILE, MAXPATHLEN.
pdksh: Compiled
rc  : Compiled with warnings et al.
lsh : Compiled just nice.
sash: without mount/umount

Note that some shells don't work good. This is because we have no device
files etc, and some don't like such a broken situation. I only tested sash
and pdksh anyway. So you better stick with sash, because it is a nice rescue
shell. It has many bultins, accessible via "-command", for example "-ls",
"-gzip", "-tar" (!). You get a list with "help".

UPDATE: I have build bash now. bash is great, but sash has more builtins. We
will boot with bash and start sash when we need the builtins.

So, let's start. dpkg_hurd is the script I posted to this list a couple of
days ago. You can also use deb_install or your own script.

linux# mount /gnu
linux# cd /gnu

It's time to install a passwd file, just so that we have login name to uid
mapping. Please install the attached file, which is taken from a Debian
system. (edit the last user name to your favourite).

linux# cp /path/to/passwd etc/passwd

linux# ./dpkg_hurd -i sash.deb
linux# ./dpkg_hurd -i libncurses4.deb     # also the -dev package if you like
linux# ./dpkg_hurd -i ncurses-bin.deb
linux# ./dpkg_hurd -i ncurses.deb
linux# ./dpkg_hurd -i libreadlineg2.deb   # also the -dev package if you like
linux# ./dpkg_hurd -i bash.deb

Now reboot. You should get a login shell. Try to walk around a bit.
We should setup the critical hurd translators now.

     Case: If you got the message that your filesystem was not clean, and
     therefore mounted read only, you must run the following command:

     hurd# fsysopts / --writable       # equivalent to "mount -o remount,rw /" in linux


hurd# sash                          # We are in bash, but need sash for its builtins
hurd# -mkdir /servers/socket
hurd# /bin/settrans -c /servers/socket/local /hurd/pflocal

[ Note: The following does not work for me. The crash translator seems to
  be the cause for random crashes here. ]
  hurd# /bin/settrans -c /servers/crash /hurd/crash

We would like to create some devices now. But MAKEDEV is a shell script, and
we don't have a good shell currently. Therefore, we need to create them

Instead, please run the attached script which creates the files.

hurd# source /hurd-set
hurd# exit      # leave sash, back to bash

hurd# sync
hurd# sync      # paranoia
hurd# sync      # real paranoia
hurd# reboot

that's all.

"Rhubarb is no Egyptian god."        Debian GNU/Linux        finger brinkmd@ 
Marcus Brinkmann                   http://www.debian.org    master.debian.org
Marcus.Brinkmann@ruhr-uni-bochum.de                        for public  PGP Key
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/       PGP Key ID 36E7CD09
msql:*:36:36:Mini SQL Database Manager:/var/lib/msql:/bin/sh
gnats:*:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats/gnats-db:/bin/sh
alias:*:70:65534:qmail alias:/var/qmail/alias:/bin/sh
qmaild:*:71:65534:qmail daemon:/var/qmail:/bin/sh
qmails:*:72:70:qmail send:/var/qmail:/bin/sh
qmailr:*:73:70:qmail remote:/var/qmail:/bin/sh
qmailq:*:74:70:qmail queue:/var/qmail:/bin/sh
qmaill:*:75:65534:qmail log:/var/qmail:/bin/sh
qmailp:*:76:65534:qmail pw:/var/qmail:/bin/sh
brinkmds::1000:1000:Marcus Brinkmann,,,:/home/brinkmds:/bin/sh
cd /dev
settrans -cg console
-chown 0 console
-chmod 600 console
settrans console /hurd/term /dev/console device console

settrans -cg null
-chown 0 null
-chmod 666 null
settrans null /hurd/null

settrans -cg zero
-chown 0 zero
-chmod 666 zero
settrans zero /hurd/storeio -Tzero

settrans -cg tty
-chown 0 tty
-chmod 666 tty
settrans tty /hurd/magic tty

settrans -cg fd
-chown 0 fd
-chmod 666 fd
settrans fd /hurd/magic fd
-ln -s fd/0 stdin
-ln -s fd/1 stdout
-ln -s fd/2 stderr

settrans -cg time
-chown 0 time
-chmod 666 time
settrans time /hurd/storeio time

settrans -cg ptyp0
-chown 0 ptyp0
-chmod 640 ptyp0
settrans ptyp0 /hurd/term /dev/ptyp0 pty-master /dev/ttyp0
settrans -cg ttyp0
-chown 0 ttyp0
-chmod 640 ttyp0
settrans ttyp0 /hurd/term /dev/ttyp0 pty-slave  /dev/ptyp0
settrans -cg ptyp1
-chown 0 ptyp1
-chmod 640 ptyp1
settrans ptyp1 /hurd/term /dev/ptyp1 pty-master /dev/ttyp1
settrans -cg ttyp1
-chown 0 ttyp1
-chmod 640 ttyp1
settrans ttyp1 /hurd/term /dev/ttyp1 pty-slave  /dev/ptyp1
settrans -cg ptyp2
-chown 0 ptyp2
-chmod 640 ptyp2
settrans ptyp2 /hurd/term /dev/ptyp2 pty-master /dev/ttyp2
settrans -cg ttyp2
-chown 0 ttyp2
-chmod 640 ttyp2
settrans ttyp2 /hurd/term /dev/ttyp2 pty-slave  /dev/ptyp2
settrans -cg ptyp3
-chown 0 ptyp3
-chmod 640 ptyp3
settrans ptyp3 /hurd/term /dev/ptyp3 pty-master /dev/ttyp3
settrans -cg ttyp3
-chown 0 ttyp3
-chmod 640 ttyp3
settrans ttyp3 /hurd/term /dev/ttyp3 pty-slave  /dev/ptyp3
settrans -cg ptyp4
-chown 0 ptyp4
-chmod 640 ptyp4
settrans ptyp4 /hurd/term /dev/ptyp4 pty-master /dev/ttyp4
settrans -cg ttyp4
-chown 0 ttyp4
-chmod 640 ttyp4
settrans ttyp4 /hurd/term /dev/ttyp4 pty-slave  /dev/ptyp4
settrans -cg ptyp5
-chown 0 ptyp5
-chmod 640 ptyp5
settrans ptyp5 /hurd/term /dev/ptyp5 pty-master /dev/ttyp5
settrans -cg ttyp5
-chown 0 ttyp5
-chmod 640 ttyp5
settrans ttyp5 /hurd/term /dev/ttyp5 pty-slave  /dev/ptyp5
settrans -cg ptyp6
-chown 0 ptyp6
-chmod 640 ptyp6
settrans ptyp6 /hurd/term /dev/ptyp6 pty-master /dev/ttyp6
settrans -cg ttyp6
-chown 0 ttyp6
-chmod 640 ttyp6
settrans ttyp6 /hurd/term /dev/ttyp6 pty-slave  /dev/ptyp6
settrans -cg ptyp7
-chown 0 ptyp7
-chmod 640 ptyp7
settrans ptyp7 /hurd/term /dev/ptyp7 pty-master /dev/ttyp7
settrans -cg ttyp7
-chown 0 ttyp7
-chmod 640 ttyp7
settrans ttyp7 /hurd/term /dev/ttyp7 pty-slave  /dev/ptyp7
settrans -cg ptyp8
-chown 0 ptyp8
-chmod 640 ptyp8
settrans ptyp8 /hurd/term /dev/ptyp8 pty-master /dev/ttyp8
settrans -cg ttyp8
-chown 0 ttyp8
-chmod 640 ttyp8
settrans ttyp8 /hurd/term /dev/ttyp8 pty-slave  /dev/ptyp8
settrans -cg ptyp9
-chown 0 ptyp9
-chmod 640 ptyp9
settrans ptyp9 /hurd/term /dev/ptyp9 pty-master /dev/ttyp9
settrans -cg ttyp9
-chown 0 ttyp9
-chmod 640 ttyp9
settrans ttyp9 /hurd/term /dev/ttyp9 pty-slave  /dev/ptyp9
settrans -cg ptypa
-chown 0 ptypa
-chmod 640 ptypa
settrans ptypa /hurd/term /dev/ptypa pty-master /dev/ttypa
settrans -cg ttypa
-chown 0 ttypa
-chmod 640 ttypa
settrans ttypa /hurd/term /dev/ttypa pty-slave  /dev/ptypa
settrans -cg ptypb
-chown 0 ptypb
-chmod 640 ptypb
settrans ptypb /hurd/term /dev/ptypb pty-master /dev/ttypb
settrans -cg ttypb
-chown 0 ttypb
-chmod 640 ttypb
settrans ttypb /hurd/term /dev/ttypb pty-slave  /dev/ptypb
settrans -cg ptypc
-chown 0 ptypc
-chmod 640 ptypc
settrans ptypc /hurd/term /dev/ptypc pty-master /dev/ttypc
settrans -cg ttypc
-chown 0 ttypc
-chmod 640 ttypc
settrans ttypc /hurd/term /dev/ttypc pty-slave  /dev/ptypc
settrans -cg ptypd
-chown 0 ptypd
-chmod 640 ptypd
settrans ptypd /hurd/term /dev/ptypd pty-master /dev/ttypd
settrans -cg ttypd
-chown 0 ttypd
-chmod 640 ttypd
settrans ttypd /hurd/term /dev/ttypd pty-slave  /dev/ptypd
settrans -cg ptype
-chown 0 ptype
-chmod 640 ptype
settrans ptype /hurd/term /dev/ptype pty-master /dev/ttype
settrans -cg ttype
-chown 0 ttype
-chmod 640 ttype
settrans ttype /hurd/term /dev/ttype pty-slave  /dev/ptype
settrans -cg ptypf
-chown 0 ptypf
-chmod 640 ptypf
settrans ptypf /hurd/term /dev/ptypf pty-master /dev/ttypf
settrans -cg ttypf
-chown 0 ttypf
-chmod 640 ttypf
settrans ttypf /hurd/term /dev/ttypf pty-slave  /dev/ptypf

settrans -cg ptyq0
-chown 0 ptyq0
-chmod 640 ptyq0
settrans ptyq0 /hurd/term /dev/ptyq0 pty-master /dev/ttyq0
settrans -cg ttyq0
-chown 0 ttyq0
-chmod 640 ttyq0
settrans ttyq0 /hurd/term /dev/ttyq0 pty-slave  /dev/ptyq0
settrans -cg ptyq1
-chown 0 ptyq1
-chmod 640 ptyq1
settrans ptyq1 /hurd/term /dev/ptyq1 pty-master /dev/ttyq1
settrans -cg ttyq1
-chown 0 ttyq1
-chmod 640 ttyq1
settrans ttyq1 /hurd/term /dev/ttyq1 pty-slave  /dev/ptyq1
settrans -cg ptyq2
-chown 0 ptyq2
-chmod 640 ptyq2
settrans ptyq2 /hurd/term /dev/ptyq2 pty-master /dev/ttyq2
settrans -cg ttyq2
-chown 0 ttyq2
-chmod 640 ttyq2
settrans ttyq2 /hurd/term /dev/ttyq2 pty-slave  /dev/ptyq2
settrans -cg ptyq3
-chown 0 ptyq3
-chmod 640 ptyq3
settrans ptyq3 /hurd/term /dev/ptyq3 pty-master /dev/ttyq3
settrans -cg ttyq3
-chown 0 ttyq3
-chmod 640 ttyq3
settrans ttyq3 /hurd/term /dev/ttyq3 pty-slave  /dev/ptyq3
settrans -cg ptyq4
-chown 0 ptyq4
-chmod 640 ptyq4
settrans ptyq4 /hurd/term /dev/ptyq4 pty-master /dev/ttyq4
settrans -cg ttyq4
-chown 0 ttyq4
-chmod 640 ttyq4
settrans ttyq4 /hurd/term /dev/ttyq4 pty-slave  /dev/ptyq4
settrans -cg ptyq5
-chown 0 ptyq5
-chmod 640 ptyq5
settrans ptyq5 /hurd/term /dev/ptyq5 pty-master /dev/ttyq5
settrans -cg ttyq5
-chown 0 ttyq5
-chmod 640 ttyq5
settrans ttyq5 /hurd/term /dev/ttyq5 pty-slave  /dev/ptyq5
settrans -cg ptyq6
-chown 0 ptyq6
-chmod 640 ptyq6
settrans ptyq6 /hurd/term /dev/ptyq6 pty-master /dev/ttyq6
settrans -cg ttyq6
-chown 0 ttyq6
-chmod 640 ttyq6
settrans ttyq6 /hurd/term /dev/ttyq6 pty-slave  /dev/ptyq6
settrans -cg ptyq7
-chown 0 ptyq7
-chmod 640 ptyq7
settrans ptyq7 /hurd/term /dev/ptyq7 pty-master /dev/ttyq7
settrans -cg ttyq7
-chown 0 ttyq7
-chmod 640 ttyq7
settrans ttyq7 /hurd/term /dev/ttyq7 pty-slave  /dev/ptyq7
settrans -cg ptyq8
-chown 0 ptyq8
-chmod 640 ptyq8
settrans ptyq8 /hurd/term /dev/ptyq8 pty-master /dev/ttyq8
settrans -cg ttyq8
-chown 0 ttyq8
-chmod 640 ttyq8
settrans ttyq8 /hurd/term /dev/ttyq8 pty-slave  /dev/ptyq8
settrans -cg ptyq9
-chown 0 ptyq9
-chmod 640 ptyq9
settrans ptyq9 /hurd/term /dev/ptyq9 pty-master /dev/ttyq9
settrans -cg ttyq9
-chown 0 ttyq9
-chmod 640 ttyq9
settrans ttyq9 /hurd/term /dev/ttyq9 pty-slave  /dev/ptyq9
settrans -cg ptyqa
-chown 0 ptyqa
-chmod 640 ptyqa
settrans ptyqa /hurd/term /dev/ptyqa pty-master /dev/ttyqa
settrans -cg ttyqa
-chown 0 ttyqa
-chmod 640 ttyqa
settrans ttyqa /hurd/term /dev/ttyqa pty-slave  /dev/ptyqa
settrans -cg ptyqb
-chown 0 ptyqb
-chmod 640 ptyqb
settrans ptyqb /hurd/term /dev/ptyqb pty-master /dev/ttyqb
settrans -cg ttyqb
-chown 0 ttyqb
-chmod 640 ttyqb
settrans ttyqb /hurd/term /dev/ttyqb pty-slave  /dev/ptyqb
settrans -cg ptyqc
-chown 0 ptyqc
-chmod 640 ptyqc
settrans ptyqc /hurd/term /dev/ptyqc pty-master /dev/ttyqc
settrans -cg ttyqc
-chown 0 ttyqc
-chmod 640 ttyqc
settrans ttyqc /hurd/term /dev/ttyqc pty-slave  /dev/ptyqc
settrans -cg ptyqd
-chown 0 ptyqd
-chmod 640 ptyqd
settrans ptyqd /hurd/term /dev/ptyqd pty-master /dev/ttyqd
settrans -cg ttyqd
-chown 0 ttyqd
-chmod 640 ttyqd
settrans ttyqd /hurd/term /dev/ttyqd pty-slave  /dev/ptyqd
settrans -cg ptyqe
-chown 0 ptyqe
-chmod 640 ptyqe
settrans ptyqe /hurd/term /dev/ptyqe pty-master /dev/ttyqe
settrans -cg ttyqe
-chown 0 ttyqe
-chmod 640 ttyqe
settrans ttyqe /hurd/term /dev/ttyqe pty-slave  /dev/ptyqe
settrans -cg ptyqf
-chown 0 ptyqf
-chmod 640 ptyqf
settrans ptyqf /hurd/term /dev/ptyqf pty-master /dev/ttyqf
settrans -cg ttyqf
-chown 0 ttyqf
-chmod 640 ttyqf
settrans ttyqf /hurd/term /dev/ttyqf pty-slave  /dev/ptyqf

Reply to: