Re: Reinventing the Hurd server bootstrap

2015-01-30 Thread Thomas Schmitt
Hi,

  Well, the overall question is: Is it worth an effort ?
 I guess it could.  Then we wouldn't need to make /dev a tmpfs and
 create it's content on demand.  Then again, doing so is easy enough
 (with the bootshell).

So this discussion was mainly for my curiosity.
If the need arises to implement extra features in ISO 9660
production, then don't hesitate to ask e.g. on bug-xorr...@gnu.org.


Have a nice day :)

Thomas




Re: [PATCH 8/8] startup: bind the startup server to /servers/startup

2015-01-30 Thread David Michael
On Tue, Jan 27, 2015 at 6:35 PM, Samuel Thibault
samuel.thiba...@gnu.org wrote:
 Justus Winter, le Fri 16 Jan 2015 11:15:37 +0100, a écrit :
 Quoting David Michael (2014-09-18 23:14:17)
  On Wed, Sep 3, 2014 at 8:33 AM, Justus Winter
  4win...@informatik.uni-hamburg.de wrote:
   Bind the startup server to /servers/startup instead.  Use this to
   contact the startup server.
 
  I'm trying to test this patch, and glibc appears to need an update as
  well.  Does this look okay?

 Please apply this patch to the Debian libc.

 I uploaded it to debian-ports the other day.  But as Ludo mentioned, we
 need to push patches upstream too.

I can try creating a proper patch and submitting it upstream over the
weekend, unless someone else is already planning to do so.

Thanks.

David



Re: Reinventing the Hurd server bootstrap

2015-01-30 Thread Justus Winter
Quoting Thomas Schmitt (2015-01-30 14:25:50)
 Hi,
 
 Justus Winter wrote:
  3. Remaster using `grub-mkrescue --output=my-bootshell.iso /=master'.
 
 The beauty of grub-mkrescue.

Yes, it's super nice :)
  To start an translator on demand, the file system needs to support
  storing a passive translator record somewhere.
  [...]  I don't know if it would be possible to store it on a cd.
 
 At what time would it have to be written ?
 If it's when the ISO is produced, then one just would have
 to negociate a suitable representation between xorriso and
 Hurd.

Production time.

 If it needs write capability at mount time, then it depends
 on the medium type. It would also break the model of a
 read-only filesystem.

It does not.

   I read https://www.debian.org/ports/hurd/hurd-doc-translator
  Can you be more precise, e.g. cite the paragraph in question?
 
 I mean the underlying inode the translator is attached to,
 which gets introduced in #concept, demonstrated as mount point
 in #examples, and referred to in #actpas:
 [...] the first time the passive translator is accessed,
  it is automatically read out of the inode and an active
  translator is started on top of it using the command line
  that was stored in the inode.
 
 Is this inode the mount point directory inode in the
 parent filesystem (e.g. in ext2) or is it the root directory
 of the ISO filesystem ?

The former. Though it doesn't need to be a directory node.  On the CD,
/run is a simple empty file.

 (Or does each inode of the ISO get attached a translator ?)

No.

  ext2fs stores the
  record in the operating system specific part of the ext2 ondisk
  format.  That is undesireable for ext2.
 
 Well, the System Area of ISO 9660 is playground of GRUB2 in
 this case. So it would be unwise to use it for translator
 info without coordination with GRUB2.
 
 The System Use Area of the . Directory Record in the
 extent of the ISO 9660 root directory would be a fine
 place for extra info. That's were SUSP and Rock Ridge info
 gets stored.
 One could define a new SUSP field for Hurd translators
 or use my AAIP extension, which i use to store Linux-ish
 xattr and ACL.
   http://libburnia-project.org/wiki/AAIP
 In the latter case one would define one or more variable
 names in name space isofs or system. (Depends on how
 close one wants to stay with Linux xattr habits.)
 
 
 Well, the overall question is: Is it worth an effort ?
 I.e. can the ISO stay read-only and does a passive translator
 provide advantages ?

I guess it could.  Then we wouldn't need to make /dev a tmpfs and
create it's content on demand.  Then again, doing so is easy enough
(with the bootshell).

:)
Justus



Re: FOSDEM talk?

2015-01-30 Thread Justus Winter
Quoting Samuel Thibault (2015-01-30 02:02:33)
 Hello,
 
 About the Hurd news in my slides, in recent work, I have listed:
 
 - Init system decoupled
   - Allows to use standard Debian sysvinit scripts!
   - Using dmd for Guix  such
 - Distributed mtab translator
 - Various optimizations
   - Protected payloads
   - Lockless implementations
   - Paging management

- Improved message dispatch

 - Valgrind start-of-port

- Merge of procfs/random to make life easier for downstream distros

 and in future work, I have listed the usual TODO list, plus:
 
 - Debian GNU/Hurd unofficial Jessie
 - Server startup in scheme?

Yes please :)

Justus



Re: Reinventing the Hurd server bootstrap

2015-01-30 Thread Justus Winter
Hello :)

I produced a demo live cd using my new bootshell:

http://darnassus.sceen.net/~teythoon/booting-debian-preboot.png
http://darnassus.sceen.net/~teythoon/booting-debian-boot.png
http://darnassus.sceen.net/~teythoon/bootshell0129.iso.xz

Notable features:

* Boots an unmodified Debian (debootstrap --variant=minbase) from a
  readonly filesystem that does not support passive translators
  (iso9660fs).

* Starts the Hurd console early on, and executes sysvinit in a way
  that the log messages get sent to tty1.  This looks much cleaner,
  and we do not lose any messages when the console starts up later.

* libreadline.

Cheers,
Justus



Re: Reinventing the Hurd server bootstrap

2015-01-30 Thread Thomas Schmitt
Hi,

 http://darnassus.sceen.net/~teythoon/bootshell0129.iso.xz

Was it produced by grub-mkrescue ?


 * Boots an unmodified Debian (debootstrap --variant=minbase) from a
   readonly filesystem that does not support passive translators
  (iso9660fs).

Would that support be desirable and what properties would
an ISO 9660 filesystem have to provide ?

I read https://www.debian.org/ports/hurd/hurd-doc-translator
Do i get it right that the mentioned inode is the one of
the mount point and not an inode-equivalent inside the ISO ?


Have a nice day :)

Thomas




Re: Reinventing the Hurd server bootstrap

2015-01-30 Thread Thomas Schmitt
Hi,

Justus Winter wrote:
 3. Remaster using `grub-mkrescue --output=my-bootshell.iso /=master'.

The beauty of grub-mkrescue. 
More people should use it and increase its weight in GRUB2.

Even in the simple BIOS case, it already hides these expert
options of xorriso:

  --grub2-mbr ...disk.path...
  --protective-msdos-label
  -c '/boot.catalog'
  -b '/boot/grub/i386-pc/eltorito.img'
  -no-emul-boot
  -boot-load-size 4
  -boot-info-table
  --grub2-boot-info


 To start an translator on demand, the file system needs to support
 storing a passive translator record somewhere.
 [...]  I don't know if it would be possible to store it on a cd.

At what time would it have to be written ?
If it's when the ISO is produced, then one just would have
to negociate a suitable representation between xorriso and
Hurd.
If it needs write capability at mount time, then it depends
on the medium type. It would also break the model of a
read-only filesystem.


  I read https://www.debian.org/ports/hurd/hurd-doc-translator
 Can you be more precise, e.g. cite the paragraph in question?

I mean the underlying inode the translator is attached to,
which gets introduced in #concept, demonstrated as mount point
in #examples, and referred to in #actpas:
[...] the first time the passive translator is accessed,
 it is automatically read out of the inode and an active
 translator is started on top of it using the command line
 that was stored in the inode.

Is this inode the mount point directory inode in the
parent filesystem (e.g. in ext2) or is it the root directory
of the ISO filesystem ?
(Or does each inode of the ISO get attached a translator ?)


 ext2fs stores the
 record in the operating system specific part of the ext2 ondisk
 format.  That is undesireable for ext2.

Well, the System Area of ISO 9660 is playground of GRUB2 in
this case. So it would be unwise to use it for translator
info without coordination with GRUB2.

The System Use Area of the . Directory Record in the
extent of the ISO 9660 root directory would be a fine
place for extra info. That's were SUSP and Rock Ridge info
gets stored.
One could define a new SUSP field for Hurd translators
or use my AAIP extension, which i use to store Linux-ish
xattr and ACL.
  http://libburnia-project.org/wiki/AAIP
In the latter case one would define one or more variable
names in name space isofs or system. (Depends on how
close one wants to stay with Linux xattr habits.)


Well, the overall question is: Is it worth an effort ?
I.e. can the ISO stay read-only and does a passive translator
provide advantages ?


Have a nice day :)

Thomas




Re: Reinventing the Hurd server bootstrap

2015-01-30 Thread Justus Winter
Quoting Thomas Schmitt (2015-01-30 12:04:57)
  http://darnassus.sceen.net/~teythoon/bootshell0129.iso.xz
 
 Was it produced by grub-mkrescue ?

Yes.  It is very easy to remaster:

1. Unpack bootshellXX.iso into a dir, e.g. `master'.  Use
/hurd/iso9660fs on Hurd, or fuseiso, or file-roller on Linux.
2. Hack on `master/hurd/runsystem.scm'.
3. Remaster using `grub-mkrescue --output=my-bootshell.iso /=master'.

  * Boots an unmodified Debian (debootstrap --variant=minbase) from a
readonly filesystem that does not support passive translators
   (iso9660fs).
 
 Would that support be desirable and what properties would
 an ISO 9660 filesystem have to provide ?

To start an translator on demand, the file system needs to support
storing a passive translator record somewhere.  Currently, ext2fs and
tmpfs are the only filesystems that supports that.  ext2fs stores the
record in the operating system specific part of the ext2 ondisk
format.  That is undesireable for ext2.  A better way would be to
store the record in extended attributes.  I don't know if it would be
possible to store it on a cd.

The live cd mounts a tmpfs on /dev and creates all device files.

 I read https://www.debian.org/ports/hurd/hurd-doc-translator
 Do i get it right that the mentioned inode is the one of
 the mount point and not an inode-equivalent inside the ISO ?

Can you be more precise, e.g. cite the paragraph in question?

Justus



Re: Reinventing the Hurd server bootstrap

2015-01-30 Thread Svante Signell
On Fri, 2015-01-30 at 13:02 +0100, Justus Winter wrote:
 Quoting Thomas Schmitt (2015-01-30 12:04:57)

  Would that support be desirable and what properties would
  an ISO 9660 filesystem have to provide ?
 
 To start an translator on demand, the file system needs to support
 storing a passive translator record somewhere.  Currently, ext2fs and
 tmpfs are the only filesystems that supports that.  ext2fs stores the
 record in the operating system specific part of the ext2 ondisk
 format.  That is undesireable for ext2.  A better way would be to
 store the record in extended attributes. 

Isn't there a patch available already for this?
http://savannah.gnu.org/patch/?5126

See also
http://savannah.gnu.org/task/?5503
https://lists.debian.org/debian-kernel/2014/03/msg00199.html

 I don't know if it would be possible to store it on a cd.