Hi, I'm back in business and working on a new snapshot of GNU that will use unionfs for package managment. But there is a small problem that I have not been able to solve (atleast not in a way that is practical).
By default, all packages that belong to the system live in /packages, and then /stow contains symbolic links to /packages/PACKAGE, from which unionfs builds /bin, /sbin, ..., etc. The problem is that when one boots GNU (all the way from grub), one needs /boot/gnumach, /hurd/ext2fs.static, /hurd/exec, /lib/ld.so.1, etc. These files are not avaiable[0] since unionfs hasn't been started, and it in turn needs the same things. The nicest solution so far that I can come up with is starting unionfs from grub by doing something like: module /lib/ld.so.1 /hurd/unionfs .... But this requires that one needs to specify the location for /lib/ld.so.1, /hurd/unionfs, and all other things that one specifies in grub already to boot GNU. That is, one would have to replace /lib/ld.so.1 with /packages/glibc-1.2.3/lib/ld.so.1, and when you update glibc, you'd have to update grub's menu.lst file. And this is a major annoyance IMHO. One could also store ld.so.1, unionfs, and all other core bits in /init (or similar), and just use those filenames. But then when upgrading glibc/hurd/gnumach one must upgrade /init in some manner that doesn't involve unionfs, maybe copying the currently installed versions there on shutdown. Does anyone see a solution that is better than the above proposals? [0]: In the usual location that is, one can find them in /packages or where ever the user installed the files. But many things depend that they can be found in a standard place, like the exec translator being found in /hurd. It also eases maintaince. _______________________________________________ gnu-system-discuss mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnu-system-discuss
