To answer the question for other folks having the same issue, you can mount a *.git directory by using git-fs in combination with FUSE as pointed out by Michael Wild.
How to mount a filesystem.git directory during init?
-
18-03-2022 - |
Frage
I have a bootable ISO file containing a filesystem.git
which in turn contains this structure:
dr-xr-xr-x 2 root root 2048 Mär 1 17:10 branches/
-r--r--r-- 1 root root 115 Mär 1 17:10 config
-r--r--r-- 1 root root 73 Mär 1 17:10 description
-r--r--r-- 1 root root 23 Mär 1 17:10 HEAD
dr-xr-xr-x 2 root root 2048 Mär 1 17:10 hooks/
dr-xr-xr-x 2 root root 2048 Mär 1 17:10 info/
dr-xr-xr-x 4 root root 2048 Mär 1 17:10 objects/
-r--r--r-- 1 root root 85 Mär 1 17:10 packed-refs
dr-xr-xr-x 4 root root 2048 Mär 1 17:10 refs/
-r--r--r-- 1 root root 82 Mär 1 17:10 shallow
There seems to be a packed Debian filesystem within the objects tree and the initramfs
image seems to have a procedure to unpack and mount the filesystem.git
as the root filesystem, but I don't know how.
Can anyone explain, how this works?
Lösung 3
Andere Tipps
Apparently webconverger have created their custom fuse
file-system: https://github.com/Webconverger/git-fs. Looks to me that this is they way they distribute updates: perform a git-fetch
and then update the initramfs
to point their git-fs
file system at the new object. You'll need to read the sources (or simply ask one of the developers...) in order to understand how things work exactly.
It's not a filesystem, it's a git repository, so it won't be mounted as such.
Presumably it is cloned from the install media to the root directory of the system being installed with git clone
and then the .git
directory is removed, or else some equivalent operation is performed using lower level git commands to clone it without bothering to create the local copy of the repository in the .git
directory.