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

Re: cross-debootstraped rootfs is failing to boot



On Mon, Oct 01, 2007 at 10:30:56PM +0200, Thomas Schwinge wrote:
> Hello!
> 
> On Tue, Oct 02, 2007 at 12:29:57AM +0530, Praveen A wrote:
> > start /hurd/ext2fs.static: ext2fs: device:hd0s3: warning: FILESYSTEM
> > NOT UNMOUNTED CLEANLY; PLEASE fsck
> > 
> > (well I did fsck and this message was gone)
> > 
> > Hurd server bootstrap: ext2fs.static [device:hd0s3] exec init proc
> > auth/libexec/console-run: /dev/console: No such file or directory
> > /libexec/console-run: /tmp/console: Read-only filesystem
> 
> Richt, obviously that node can't be created if the file system is
> read-only.  How do ``normal'' Debian GNU/Hurd installations currently
> handle this?

Well, for crosshurd, makehurddir.sh, does this:

if [ "$DEB_TARGET_GNU_SYSTEM" = "gnu" ] ; then
        x_feign_install hurd

        ##############################
        # Prepare initial translator.
        ##############################
        # FIXME: Should be done in the Hurd preinst.
        install -d -m 755 -o root -g root $TARGET/servers/socket
        touch $TARGET/servers/exec

        #####################################
        # Make sure libexec/runsystem exists
        #####################################
        # Explanation: It is managed by update-alternatives.
        #
        if [ ! -e $TARGET/libexec/runsystem -a -e $TARGET/libexec/runsystem.gnu ] ; then
                cp $TARGET/libexec/runsystem.gnu $TARGET/libexec/runsystem
        fi

so, it sort of second-guesses stuff.

> > /libexec/console-run: /hurd/term: Read-only filesystem
> > /libexec/console-run: using temporary console /tmp
> > /libexec/console-run: cannot execute /libexec/runsystem
> > No such file or directory
> > 
> > (this indeed was the probelm /libexec contained runsystem.gnu after
> > renaming it to runsystem it booted correctly)
> 
> This is usually handled the Debian way via the ``alternatives'' switch:
> 
> #v+
> lrwxr-xr-x 1 root root   27 2006-04-25 18:41 /libexec/runsystem -> /etc/alternatives/runsystem
> lrwxr-xr-x 1 root root   22 2007-09-20 03:41 /etc/alternatives/runsystem -> /libexec/runsystem.gnu
> -rwxr-xr-x 1 root root 3927 2007-08-11 17:01 /libexec/runsystem.gnu
> #v-
> 
> But I suppose that mechanism has not yet been configured in the
> partly-installed system you're booting into.  Again, how do ``normal''
> Debian GNU/Hurd installations currently handle this?

see above.

> > sh: start-pipeline: pgrppipe: Protocol family not supported
> 
> This is where the `native-install' script (or equivalent) needs to be
> run, to set up passive translators and the like; `/servers/socket/1' in
> that case, but also the all the stuff in `/dev/'.

In crosshurd, this is either done before reboot (if Linux knows about
passive translators, i.e. the user has patched in Roland's work), or
right after reboot natively.


Michael



Reply to: