"jbra...@dismail.de" <jbra...@dismail.de> writes:

> Hey Samuel, this is another modification of a previous commit.
> Hopefully this addresses your critiques.  I also added in
> "-E root_owner=$UID:0" to some other files, where I thought it
> was appropirate.  Hopefully I didn't make any mistakes.  I did test
> this by the way.  I was able to get ~/silly/silly1 to be two
> nested ext2fs translators.  All without having to execute "sudo"!

Just a ping Samuel.  Did you see this commit?  Is it good to be pushed
to the Hurd wiki?  I'm not seeing it here:

https://git.savannah.gnu.org/cgit/hurd/web.git/log/

Thanks,

Joshua

>
> * hurd/translator/ext2fs.mdwn: explain how to create a custom
> filesystem, and mentioned that the current limit for how many
> nested ext2fs filesystems there could be...is 32.
>
> * faq/still_useful: sbin/mk2fs dummy.fs -> sbin/mk2fs -E root_owner=$UID:0 
> dummy.fs
>
> * hurd/documentation/translators.html: as above.
>
> * open_issues_/64-bit_port.mdwn: as above
> ---
>  faq/still_useful.mdwn               |  2 +-
>  hurd/documentation/translators.html |  2 +-
>  hurd/translator/ext2fs.mdwn         | 51 +++++++++++++++++++++++++++++
>  open_issues/64-bit_port.mdwn        |  2 +-
>  4 files changed, 54 insertions(+), 3 deletions(-)
>
> diff --git a/faq/still_useful.mdwn b/faq/still_useful.mdwn
> index 82e03078..575781a1 100644
> --- a/faq/still_useful.mdwn
> +++ b/faq/still_useful.mdwn
> @@ -39,7 +39,7 @@ various servers are designed for this sort of modification.
>  > personal filesystem
>  > 
>  >     $ dd < /dev/zero > myspace.img bs=1M count=1024
> ->     $ /sbin/mke2fs myspace.img
> +>     $ /sbin/mke2fs -E root_owner=$UID:0 myspace.img
>  >     $ settrans myspace /hurd/ext2fs myspace.img
>  >     $ cd myspace
>  
> diff --git a/hurd/documentation/translators.html 
> b/hurd/documentation/translators.html
> index e455f730..348774d1 100644
> --- a/hurd/documentation/translators.html
> +++ b/hurd/documentation/translators.html
> @@ -212,7 +212,7 @@ I recommend that you start by reading the 
> <code>/bin/mount</code> command,
>  it is only a small script. Because setting filesystem translators is
>  similar to mounting partitions, you can easily grasp the concept this way.
>  Make a file system image with <code>dd if=/dev/zero of=dummy.fs bs=1024k
> -count=8; /sbin/mke2fs dummy.fs</code> and "mount" it with <code>settrans -c 
> dummy
> +count=8; /sbin/mke2fs -E root_owner=$UID:0 dummy.fs</code> and "mount" it 
> with <code>settrans -c dummy
>  /hurd/ext2fs `pwd`/dummy.fs</code>. Note that the translator is not started
>  yet, no new <code>ext2fs</code> process is running (verify with <code>ps
>  Aux</code>). Check that everything is correct using 
> <code>showtrans</code></p>
> diff --git a/hurd/translator/ext2fs.mdwn b/hurd/translator/ext2fs.mdwn
> index 957b9c13..9be6c885 100644
> --- a/hurd/translator/ext2fs.mdwn
> +++ b/hurd/translator/ext2fs.mdwn
> @@ -32,6 +32,57 @@ Extend ext2fs to support 64bit time.
>  
>  [[!inline pagenames=faq/2_gib_partition_limit raw=yes feeds=no]]
>  
> +## Create your own custom ext2fs
> +
> +     $ dd if=/dev/zero of=silly.fs bs=1024k count=8
> +     $ /sbin/mkfs.ext2 -E root_owner=$UID:0 silly.fs
> +     $ settrans -c silly /hurd/ext2fs `pwd`/silly.fs
> +     $ ps -e | grep silly  # ext2fs has not started
> +     $ ls silly
> +     $ ps -e | grep silly | awk '{ print $6 " " $7 }'
> +     /hurd/ext2fs /home/joshua/silly.fs
> +     $ cd silly
> +     $ echo 'hello' > hello.txt
> +     $ mkdir silly-dir
> +     $ cd ..
> +     $ fsysopts silly
> +     /hurd/ext2fs --writable --relatime --no-inherit-dir-group 
> /home/joshua/silly.fs
> +     $ fsysopts silly --readonly  # stop writes to the filesystem
> +     $ fsysopts silly --writable  # let writes again
> +
> +Try to make the filesystem read-only with fsysopts. Note how further
> +write attempts fail now. Try to kill the active translator with
> +settrans -g.
> +
> +You could go crazy even!  Why not make something like this:
> +
> +     ~/silly <--> silly.fs
> +        |   \
> +        |    \
> +        |     \
> +        |      \
> +        |       \
> +       \|/       \/
> +      silly1 <-> silly1.fs
> +            ...
> +
> +     /hurd/joshua/silly/silly1/silly2/silly3/silly4
> +
> +Each sillyN is another ext2fs filesystem!  Make sure that as N gets
> +bigger sillyN.fs gets smaller.  Let us know in the `#hurd` [irc
> +channel](https://web.libera.chat/) how "silly" you are.  :)
> +
> +The current record is 2!
> +
> +     $ ps -e | grep silly | awk '{print $6 " " $7}'
> +     /hurd/ext2fs /home/joshua/silly.fs
> +     /hurd/ext2fs /home/joshua/silly/silly1.fs
> +
> +What is the limit?  How many nested ext2fs translators can you have?
> +You could have 32 ["silly"
> +directories](https://logs.guix.gnu.org/hurd/2024-05-31.log#005021).
> +That's very silly!
> +
>  ### Ognyan's Work to allow ext2 to surpass the 2 GiB limit
>  
>    * Ognyan Kulev, [[*Supporting Large ext2 File Systems in the
> diff --git a/open_issues/64-bit_port.mdwn b/open_issues/64-bit_port.mdwn
> index 77b0632e..75756199 100644
> --- a/open_issues/64-bit_port.mdwn
> +++ b/open_issues/64-bit_port.mdwn
> @@ -86,7 +86,7 @@ To make a bootable system we really better make the disk 
> image partitioned, and
>      # create a new primary partition spanning the whole disk: n p and just 
> accept the defaults, and finish with w
>      settrans -ca disk /hurd/storeio -T typed file:disk.img
>      settrans -ca disk1 /hurd/storeio -T typed part:1:file:disk.img
> -    /sbin/mke2fs disk1
> +    /sbin/mke2fs -E root_owner=$UID:0 disk1
>      settrans -ca chroot-hurd-amd64 /hurd/ext2fs disk1
>  
>  (here we assume that fdisk puts the partition at sector 2048, that's indeed 
> the

-- 

Joshua Branson
Sent from the Hurd

Reply via email to