Hello, @jerash!
That’s feasible, but you’d have to ask yourself what’s the advantage of mixing two distros when TinyCore already provides a packaging system. Despite the directory tree, GoboLinux comes with its own set of scripts to manage the installation/activation/deactivation/virtualization of programs. It also comes with its own set of scripts to manage boot tasks that are likely to be incompatible with what TinyCore uses.
Having said that, it shouldn’t be too difficult to get started. If you’d like to try it out, my suggestion for you is to look into the following resources:
- The CreateGoboLinuxTree script
- A minimalist version of the SymlinkProgram utility, written in C. It depends on the LinkOrExpandAll script that’s part of the same package. See the project’s Makefile for instructions on how to build them
- A tiny “which” wraper so you get the path to /Programs instead of /bin when checking where a given executable is installed
- Our RemoveBroken utility that cleans up broken links after a program has been uninstalled/deactivated
- The GoboHide kernel patch and its userspace tool can be used to hide the legacy directories and symlinks from your new rootfs
- Our Scripts package has several more utilities under
bin
and src
that you may want to look too
Once you’ve got the basics, you’ll want to have a wrapper around TinyCore’s package manager so that it uncompresses the package under /Programs/Name/Version
and then invokes SymlinkProgram
to activate the program on /usr
(/System/Index
). You can also have wrappers around the uninstaller (so that broken links are automatically removed from /System/Index
).
And that’s pretty much it.
Please let us know if you decide to go forward with this idea and do share your achievements with us! 