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

Re: [Soc-coordination] Weekly report (3rd week) - Debian GNU/Hurd Debianish initialization



Hello,

4winter@informatik.uni-hamburg.de, le Fri 05 Jul 2013 13:37:40 +0200, a écrit :
> This week was all about getting `mount` into shape, addind `umount`
> and hacking up a prototype for the `mtab` issue. With all my patches
> to `mount` the boot log looks like this::

Good :)

Perhaps you could systematically Cc debian-hurd with your report?

>     INIT: version 2.88 booting
>     Using makefile-style concurrent boot in runlevel S.
>     Activating swap...done.
>     Checking root file system...fsck from util-linux 2.20.1
>     hd2 : tray open or drive not ready
>     hd2 : tray open or drive not ready
>     hd2 : tray open or drive not ready
>     hd2 : tray open or drive not ready
>     end_request: I/O error, dev 02:00, sector 0
>     ext2fs_check_if_mount: Can't check if filesystem is mounted due to missing mtab file while determining whether /dev/hd0s1 is mounted.
>     /dev/hd0s1: clean, 44101/181056 files, 283413/723200 blocks
>     done.
>     Cleaning up temporary files... /tmp.
>     /etc/rcS.d/S06mtab.sh: 48: /etc/rcS.d/S06mtab.sh: cannot open /proc/mounts: No such file
>     Activating lvm and md swap...(default pager): Already paging to partition hd0s5!
>     done.
>     Checking file systems...fsck from util-linux 2.20.1
>     hd2 : tray open or drive not ready
>     hd2 : tray open or drive not ready
>     end_request: I/O error, dev 02:00, sector 0
>     done.
>     Mounting local filesystems...done.
>     Activating swapfile swap...(default pager): Already paging to partition hd0s5!
>     done.
>     df: Warning: cannot read table of mounted file systems: No such file or directory
>     Cleaning up temporary files....
>     Configuring network interfaces...inetutils-ifconfig: invalid arguments
>     ifup: failed to open pid file /run/network/ifup-/dev/eth0.pid: No such file or directory
>     Internet Systems Consortium DHCP Client 4.2.2
>     Copyright 2004-2011 Internet Systems Consortium.
>     All rights reserved.
>     For info, please visit https://www.isc.org/software/dhcp/
>     
>     can't create /var/lib/dhcp/dhclient./dev/eth0.leases: No such file or directory
>     Listening on Socket//dev/eth0
>     Sending on   Socket//dev/eth0
>     DHCPDISCOVER on /dev/eth0 to 255.255.255.255 port 67 interval 7
>     DHCPREQUEST on /dev/eth0 to 255.255.255.255 port 67
>     DHCPOFFER from 10.0.2.2
>     DHCPACK from 10.0.2.2
>     can't create /var/lib/dhcp/dhclient./dev/eth0.leases: No such file or directory
>     bound to 10.0.2.15 -- renewal in 42107 seconds.
>     done.
>     Cleaning up temporary files....
>     Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix.
>     INIT: Entering runlevel: 2
>     Using makefile-style concurrent boot in runlevel 2.
>     Starting enhanced syslogd: rsyslogd.
>     Starting deferred execution scheduler: atd.
>     Starting periodic command scheduler: cron.
>     Starting system message bus: dbusFailed to set socket option"/var/run/dbus/system_bus_socket": Protocol not available.
>     Starting OpenBSD Secure Shell server: sshd.
>     
>     
>     GNU 0.3 (debian) (console)
>     
>     login:
> 
> As you can see, `mountall.sh` works fine now (it's the line about
> mounting local filesystems). This is a list of issues I tackled this
> week:
> 
> * Hurds `mount` lacks some command line flags:
> 
>   * `-O`, `--test-opts`
> 
>   * `-t`, `--types`: semantic difference to what Linux' and FreeBSDs
>     mount does.
> 
> * Hurds `mount -t auto` does not work.
> 
>   * needed for fstab entries with fstype=auto
> 
>   * needed for d-i
> 
> * The `hurd` package does not provide an `umount` helper, needed for d-i.
> 
>   * also needed for `umountfs`, `umountnfs.sh`
> 
>   * required arguments `-f`, `-v`, `-r`, `-d`
> 
> * Patch series for all the issues above posted: http://lists.gnu.org/archive/html/bug-hurd/2013-07/msg00031.html
> 
> * Hurds `swapon/swapoff` lacks some command line flags:
> 
>   * `-v`, `--verbose`: set if `VERBOSE=yes` is given in `/etc/default/rcS`.
> 
>   * Patch posted: http://lists.gnu.org/archive/html/bug-hurd/2013-07/msg00055.html
> 
> Note that even though I've implemented `umount`, it doesn't actually
> work yet. That is because `umount` needs a `mtab` file or
> `/proc/mounts` to do anything, because you can either invoke `umount`
> with the mount point *or* the device and `umount` needs an `mtab`
> style file to figure out whether the argument is referring to the
> former or the latter.

Could you perhaps make the mount point alternative work for now? That is
the one which can easily work, and which is often used (and the one that
is used by the installer). It'll be better than nothing anyway.

> So the next big issue is the `mtab` issue. There is some information
> about that in the Hurd wiki, it even is a gsoc project idea of its
> own:
> http://www.gnu.org/software/hurd/community/gsoc/project_ideas/mtab.html
> 
> But I need this now, this cannot wait for another gsoc. The
> implementation outlined by that page consists roughly of:
> 
> * In every translator, keep a list of translators (active and passive)
>   being bound to nodes of the translator. Think of this as keeping a
>   list of child-translators.
> 
> * Add a RPC procedure to query this list.
> 
> * Creating a `mtab`-translator that recursively queries translators
>   starting from a given translator and collects all the information
>   required for an `mtab` file.
> 
> If this hypothetical `mtab` translator is bound to say `/proc/mounts`
> this would solve all our problems::
> 
>   % settrans -ca /proc/mounts /hurd/mtab /
> 
> As this involves adding a RPC procedure and keeping a list of passive
> and active translators, this involves some design decisions. As
> discussed in #hurd I hacked up a prototype and post it for review:
> http://lists.gnu.org/archive/html/bug-hurd/2013-07/msg00022.html
> 
> As soon as I get the necessary feedback on this issue, I will get the
> implementation up to speed. Until then, I will pick another item from
> my `status </gsoc>`_ list, most probably the `ifupdown` issue.
> 
> Speaking of feedback, all of my patches I sent last week were merged
> at the appropriate locations. That was really quick, many thanks for
> that :)
> 
> While working on the `mount` issues, I frequently looked at the
> implementation of Linux' and FreeBSD's `mount` to see how `--types` is
> handled there. I must admit that I was not to keen about the idea of
> writing `c` again, but I was positively surprised by the code I've
> seen from Hurd so far. As Hurd is the operating system of the GNU
> system, its code is free to use any GNU extension to libc and gcc
> including nice stuff like nested functions. If you look at the
> different `mount` implementations, you'll find the Hurd version to be
> the most modern and clean one imho:
> 
> Linux
>   http://sources.debian.net/src/util-linux/2.20.1-5.4/mount/mount.c
> 
> FreeBSD
>   http://sources.debian.net/src/freebsd-utils/9.0%2Bds1-11/sbin/mount/mount.c
> 
> Hurd
>   http://sources.debian.net/src/hurd/20130620-1/utils/mount.c
> 
> See you next week :)
> 
> _______________________________________________
> Soc-coordination mailing list
> Soc-coordination@lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/soc-coordination
> 

-- 
Samuel
+#if defined(__alpha__) && defined(CONFIG_PCI)
+       /*
+        * The meaning of life, the universe, and everything. Plus
+        * this makes the year come out right.
+        */
+       year -= 42;
+#endif
(From the patch for 1.3.2: (kernel/time.c), submitted by Marcus Meissner)


Reply to: