mirror of
https://github.com/fspc/gbootroot.git
synced 2025-02-23 09:03:23 -05:00
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:
parent
12dfb7d1f3
commit
d2fb7540f3
@ -1489,12 +1489,28 @@ sub create_expect_uml {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if ( $fs_type eq "mkcramfs" || $fs_type eq "genromfs" ) {
|
if ( $fs_type eq "mkcramfs" || $fs_type eq "genromfs" ||
|
||||||
|
$fs_type eq "mkfs.jffs" || $fs_type eq "mkfs.jffs2") {
|
||||||
# Will just keep appending _cramfs .. leaving it to the
|
# Will just keep appending _cramfs .. leaving it to the
|
||||||
# user to realize this is happening, that way the user
|
# user to realize this is happening, that way the user
|
||||||
# has control over the dd file.
|
# has control over the dd file.
|
||||||
$fs_type eq "mkcramfs" ? ($device = $device . "_cramfs") :
|
## $fs_type eq "mkcramfs" ? ($device = $device . "_cramfs") :
|
||||||
($device = $device . "_romfs");
|
## ($device = $device . "_romfs");
|
||||||
|
|
||||||
|
if ( $fs_type eq "mkcramfs" ) {
|
||||||
|
$device = $device . "_cramfs";
|
||||||
|
}
|
||||||
|
elsif ( $fs_type eq "genromfs" ) {
|
||||||
|
$device = $device . "_romfs";
|
||||||
|
}
|
||||||
|
# These guys just get written over, but that is o.k.
|
||||||
|
elsif ( $fs_type eq "mkfs.jffs" ) {
|
||||||
|
$device = $device . "_jffs";
|
||||||
|
}
|
||||||
|
elsif ( $fs_type eq "mkfs.jffs2" ) {
|
||||||
|
$device = $device . "_jffs2";
|
||||||
|
}
|
||||||
|
|
||||||
my $cramfs_name = basename($device);
|
my $cramfs_name = basename($device);
|
||||||
# If somebody closes ARS, this won't get updated,
|
# If somebody closes ARS, this won't get updated,
|
||||||
# but that is a minor matter.
|
# but that is a minor matter.
|
||||||
|
@ -490,15 +490,17 @@ sub file_system {
|
|||||||
# usinng uml_exlusively
|
# usinng uml_exlusively
|
||||||
else {
|
else {
|
||||||
my %uml_helper_fs_types = qw(mke2fs 1 mkcramfs 1 genromfs 1
|
my %uml_helper_fs_types = qw(mke2fs 1 mkcramfs 1 genromfs 1
|
||||||
mkfs.minix 1 mkminix 1
|
mkfs.minix 1 mkminix 1
|
||||||
mkreiserfs 1);
|
mkreiserfs 1 mkfs.jffs 1
|
||||||
|
mkfs.jffs2 1);
|
||||||
|
|
||||||
if ( !$uml_helper_fs_types{$executable} ) {
|
if ( !$uml_helper_fs_types{$executable} ) {
|
||||||
|
|
||||||
error_window("ROOT_FS_HELPER ERROR: " .
|
error_window("ROOT_FS_HELPER ERROR: " .
|
||||||
"These are supported " .
|
"These are supported " .
|
||||||
"make fs commands:\n\nmke2fs mkcramfs" .
|
"make fs commands:\n\nmke2fs mkcramfs" .
|
||||||
" genromfs mkfs.minix mkminix mkreiserfs");
|
" genromfs mkfs.minix mkminix mkreiserfs" .
|
||||||
|
" mkfs.jffs mkfs.jffs2");
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
3
Changes
3
Changes
@ -1,3 +1,6 @@
|
|||||||
|
|
||||||
|
Added jffs/jffs2 image construction.
|
||||||
|
|
||||||
1.3.5 - 02/13/2002
|
1.3.5 - 02/13/2002
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
25
expect_uml
25
expect_uml
@ -92,12 +92,10 @@ my $uml =
|
|||||||
|
|
||||||
$uml->boot();
|
$uml->boot();
|
||||||
# Make the GID/UID 0 FS
|
# 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");
|
$uml->command("mke2fs -m0 /dev/ubd/1");
|
||||||
}
|
}
|
||||||
elsif ( $filesysem =~ /^genromfs/ ) {
|
|
||||||
$uml->command("$filesystem");
|
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
$uml->command("$filesystem /dev/ubd/1");
|
$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("mount -t hostfs none -o $cram_dir /mnt2");
|
||||||
$uml->command("mkcramfs /mnt1 /mnt2/$cramfs_name");
|
$uml->command("mkcramfs /mnt1 /mnt2/$cramfs_name");
|
||||||
}
|
}
|
||||||
if ( $filesystem =~ /^genromfs/ ) {
|
elsif ( $filesystem =~ /^genromfs/ ) {
|
||||||
my $romfs_dir = dirname($mount_point);
|
my $romfs_dir = dirname($mount_point);
|
||||||
my $root_fs_name = basename($ARGV[1]);
|
my $root_fs_name = basename($ARGV[1]);
|
||||||
my $romfs_name = "$root_fs_name" . "_romfs";
|
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("mount -t hostfs none -o $romfs_dir /mnt2");
|
||||||
$uml->command("genromfs -d /mnt1 -f /mnt2/$romfs_name");
|
$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->command("umount /mnt1; umount /mnt2");
|
||||||
$uml->halt();
|
$uml->halt();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user