1
0
mirror of https://github.com/fspc/gbootroot.git synced 2025-02-24 01:13:24 -05:00

This adds romfs capability.

This commit is contained in:
freesource 2001-12-21 18:05:07 +00:00
parent c388d93b8c
commit 79ceb15b1f
2 changed files with 19 additions and 7 deletions

View File

@ -1418,20 +1418,21 @@ sub create_filesystem {
while (Gtk->events_pending) { Gtk->main_iteration; }
}
if ( $fs_type eq "mkcramfs" ) {
if ( $fs_type eq "mkcramfs" || $fs_type eq "genromfs" ) {
# Will just keep appending _cramfs .. leaving it to the
# user to realize this is happening, that way the user
# has control over the dd file.
$device = $device . "_cramfs";
my $cramfs_name = basename($device);
$fs_type eq "mkcramfs" ? ($device = $device . "_cramfs") :
($device = $device . "_romfs");
my $cramfs_name = basename($device);
# If somebody closes ARS, this won't get updated,
# but that is a minor matter.
$ear2->set_text($cramfs_name) if $ear2;
$ear2->set_text($cramfs_name) if $ear2;
$mount_point = dirname($device);
}
}
}
elsif (
sys("/usr/lib/bootroot/$main::makefs -b $fs_size -d $mount_point -D $device_table $device") !~
/^0$/ ) {

View File

@ -47,9 +47,12 @@ my $uml =
$uml->boot();
# Make the GID/UID 0 FS
if ( $filesystem =~ /^mkcramfs/ ) {
if ( $filesystem =~ /^mkcramfs/ || $filesystem =~ /^genromfs/ ) {
$uml->command("mke2fs -m0 /dev/ubd/1");
}
elsif ( $filesysem =~ /^genromfs/ ) {
$uml->command("$filesystem");
}
else {
$uml->command("$filesystem /dev/ubd/1");
}
@ -67,6 +70,14 @@ if ( $filesystem =~ /^mkcramfs/ ) {
$uml->command("mount -t hostfs none -o $cram_dir /mnt2");
$uml->command("mkcramfs /mnt1 /mnt2/$cramfs_name");
}
if ( $filesystem =~ /^genromfs/ ) {
my $romfs_dir = dirname($mount_point);
my $root_fs_name = basename($ARGV[1]);
my $romfs_name = "$root_fs_name" . "_romfs";
$uml->command("umount /mnt2");
$uml->command("mount -t hostfs none -o $romfs_dir /mnt2");
$uml->command("genromfs -d /mnt1 -f /mnt2/$romfs_name");
}
$uml->command("umount /mnt1; umount /mnt2");
$uml->halt();