Browse Source

passes filesystem command, and makes sure helper is 0666 .. cvs changed

the perms.
master
freesource 23 years ago
parent
commit
c4d0be1474
  1. 5
      Makefile
  2. 50
      expect_uml

5
Makefile

@ -8,6 +8,9 @@ install:
cp -fa yard_chrooted_tests /usr/lib/bootroot/yard_chrooted_tests cp -fa yard_chrooted_tests /usr/lib/bootroot/yard_chrooted_tests
cp -fa genext2fs/genext2fs /usr/lib/bootroot/genext2fs cp -fa genext2fs/genext2fs /usr/lib/bootroot/genext2fs
cp -fa expect_uml /usr/lib/bootroot/expect_uml cp -fa expect_uml /usr/lib/bootroot/expect_uml
install -d /usr/lib/bootroot/root_filesystem
chmod 06666 root_filesystem/root_fs_helper
cp -fa root_filesystem/root_fs_helper /usr/lib/bootroot/root_filesystem
cp -fa yard/scripts/make_debian /usr/bin/make_debian cp -fa yard/scripts/make_debian /usr/bin/make_debian
install -d /usr/share/perl5/BootRoot install -d /usr/share/perl5/BootRoot
cp -fa BootRoot/*.pm /usr/share/perl5/BootRoot cp -fa BootRoot/*.pm /usr/share/perl5/BootRoot
@ -17,7 +20,7 @@ install:
cp -fa user-mode-linux/usr/lib/uml/modules* /usr/lib/bootroot/yard/Replacements/lib/modules cp -fa user-mode-linux/usr/lib/uml/modules* /usr/lib/bootroot/yard/Replacements/lib/modules
cp -fa user-mode-linux/usr/lib/uml/CVS /usr/lib/bootroot/yard/Replacements/lib/modules/CVS cp -fa user-mode-linux/usr/lib/uml/CVS /usr/lib/bootroot/yard/Replacements/lib/modules/CVS
install -d /usr/share/gbootroot/yard/templates install -d /usr/share/gbootroot/yard/templates
chmod 444 yard/templates/*.yard chmod 0444 yard/templates/*.yard
cp -fa yard/templates/Example* /usr/share/gbootroot/yard/templates cp -fa yard/templates/Example* /usr/share/gbootroot/yard/templates
install -d /usr/share/gbootroot/genext2fs install -d /usr/share/gbootroot/genext2fs
cp -fa genext2fs/genext2fs.c /usr/share/gbootroot/genext2fs cp -fa genext2fs/genext2fs.c /usr/share/gbootroot/genext2fs

50
expect_uml

@ -3,34 +3,36 @@
use BootRoot::UML; use BootRoot::UML;
if ( !$ARGV[0] ) { if ( !$ARGV[0] ) {
die "expect_uml host-systems-kernel-version ubd0 ubd1 other-options mount-point\n"; die "expect_uml ubd0 ubd1 other-options mount-point filesystem_command\n";
} }
my $arguments = "$ARGV[1] $ARGV[2] $ARGV[3]"; my $arguments = "$ARGV[0] $ARGV[1] $ARGV[2]";
my $mount_point = "$ARGV[4]"; my $mount_point = "$ARGV[3]";
my $filesystem = "$ARGV[4];
my $uml =
BootRoot::UML->new( login_prompt => "bootroot login: ", my $uml =
arguments => $arguments, BootRoot::UML->new( login_prompt => "bootroot login: ",
login => "root", arguments => $arguments,
password_prompt => "Password: ", login => "root",
password => "", password_prompt => "Password: ",
prompt => "bootroot:.*# ", password => "",
halt => "shutdown -h now" prompt => "bootroot:.*# ",
); halt => "shutdown -h now"
);
$uml->boot();
$uml->command("mke2fs -m0 /dev/ubd/1"); $uml->boot();
$uml->command("mount /dev/ubd/1 /mnt1"); # Make the GID/UID 0 FS
$uml->command("mount -t hostfs none -o $mount_point /mnt2"); $uml->command("$filesystem /dev/ubd/1");
$uml->command("cp -a /mnt2/* /mnt1"); $uml->command("mount /dev/ubd/1 /mnt1");
$uml->command("chown -R 0:0 /mnt1"); $uml->command("mount -t hostfs none -o $mount_point /mnt2");
$uml->command("umount /mnt1; umount /mnt2"); $uml->command("cp -a /mnt2/* /mnt1");
$uml->halt(); $uml->command("chown -R 0:0 /mnt1");
$uml->command("umount /mnt1; umount /mnt2");
$uml->halt();

Loading…
Cancel
Save