This adds jffs/jffs2 construction, expect_uml will have to be changed a little

bit more, but have tested this with an initrd, and it works pretty nicely
even with large fs assuming mem is set high enough.  Mtdram was chosen over
blkmtd for now.
This commit is contained in:
freesource
2002-02-21 18:49:14 +00:00
parent 12dfb7d1f3
commit d2fb7540f3
4 changed files with 47 additions and 11 deletions
+20 -5
View File
@@ -92,12 +92,10 @@ my $uml =
$uml->boot();
# Make the GID/UID 0 FS
if ( $filesystem =~ /^mkcramfs/ || $filesystem =~ /^genromfs/ ) {
if ( $filesystem =~ /^mkcramfs/ || $filesystem =~ /^genromfs/ ||
$filesystem =~ /^mkfs\.jffs/ ) {
$uml->command("mke2fs -m0 /dev/ubd/1");
}
elsif ( $filesysem =~ /^genromfs/ ) {
$uml->command("$filesystem");
}
else {
$uml->command("$filesystem /dev/ubd/1");
}
@@ -115,7 +113,7 @@ if ( $filesystem =~ /^mkcramfs/ ) {
$uml->command("mount -t hostfs none -o $cram_dir /mnt2");
$uml->command("mkcramfs /mnt1 /mnt2/$cramfs_name");
}
if ( $filesystem =~ /^genromfs/ ) {
elsif ( $filesystem =~ /^genromfs/ ) {
my $romfs_dir = dirname($mount_point);
my $root_fs_name = basename($ARGV[1]);
my $romfs_name = "$root_fs_name" . "_romfs";
@@ -123,6 +121,23 @@ if ( $filesystem =~ /^genromfs/ ) {
$uml->command("mount -t hostfs none -o $romfs_dir /mnt2");
$uml->command("genromfs -d /mnt1 -f /mnt2/$romfs_name");
}
elsif ( $filesystem =~ /^mkfs\.jffs2/ ) {
my $jffs2_dir = dirname($mount_point);
my $root_fs_name = basename($ARGV[1]);
my $jffs2_name = "$root_fs_name" . "_jffs2";
$uml->command("umount /mnt2");
$uml->command("mount -t hostfs none -o $jffs2_dir /mnt2");
$uml->command("mkfs.jffs2 -r /mnt1 -o /mnt2/$jffs2_name -e 0x20000 -p");
}
elsif ( $filesystem =~ /^mkfs\.jffs/ ) {
my $jffs_dir = dirname($mount_point);
my $root_fs_name = basename($ARGV[1]);
my $jffs_name = "$root_fs_name" . "_jffs";
$uml->command("umount /mnt2");
$uml->command("mount -t hostfs none -o $jffs_dir /mnt2");
$uml->command("mkfs.jffs -d /mnt1 -o /mnt2/$jffs_name -e 0x20000 -p");
}
$uml->command("umount /mnt1; umount /mnt2");
$uml->halt();