diff options
Diffstat (limited to 'move/move.pm')
-rw-r--r-- | move/move.pm | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/move/move.pm b/move/move.pm new file mode 100644 index 000000000..f7313b7dc --- /dev/null +++ b/move/move.pm @@ -0,0 +1,27 @@ +package move; # $Id$ $ + +use diagnostics; +use strict; + +use common; +use fs; +use run_program; + + +#- run very soon at stage2 start, setup things on tmpfs rw / that +#- were not necessary to start stage2 itself (there were setup +#- by stage1 of course) +sub init { + mkdir "/$_" foreach qw(home mnt root etc var); + mkdir_p "/var/$_" foreach qw(log run spool lib/xkb lock/subsys); + + symlinkf "/image/etc/$_", "/etc/$_" foreach qw(alternatives passwd group shadow man.config services shells pam.d security inputrc ld.so.conf DIR_COLORS bashrc profile profile.d rc.d init.d devfsd.conf devfs gtk-2.0 pango fonts); + symlinkf "/proc/mounts", "/etc/mtab"; + + fs::umount($_) foreach qw(/stage1/proc /stage1); + fs::mount("none", "/dev", "devfs", 0); + run_program::rooted('', '/sbin/devfsd', '/dev'); +} + + +1; |