From 54ef314639772e0a09aa8e6af36d2daf61c04479 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Fri, 14 Feb 2020 15:29:27 +0100 Subject: add support for F2FS --- perl-install/NEWS | 1 + perl-install/diskdrake/interactive.pm | 5 +++++ perl-install/fs/format.pm | 2 ++ perl-install/fs/mount.pm | 2 +- perl-install/fs/type.pm | 4 ++-- perl-install/install/NEWS | 4 +++- perl-install/install/share/list.xml | 1 + 7 files changed, 15 insertions(+), 4 deletions(-) diff --git a/perl-install/NEWS b/perl-install/NEWS index b7ebeb824..8123c156a 100644 --- a/perl-install/NEWS +++ b/perl-install/NEWS @@ -1,6 +1,7 @@ - update list for modules needing firmware - recognize new kernel 5.2 - 5.4 drivers - diskdrake: + o add support for F2FS o enhanced internal doc o make reformating nilfs2 fses to work o support adding partitions to Live ISOs on USB sticks (mga#25224) diff --git a/perl-install/diskdrake/interactive.pm b/perl-install/diskdrake/interactive.pm index d1a0c28a9..0247561b8 100644 --- a/perl-install/diskdrake/interactive.pm +++ b/perl-install/diskdrake/interactive.pm @@ -789,6 +789,9 @@ sub Resize { } else { delete $nice_resize{ext2}; } + } elsif ($part->{fs_type} eq 'f2fs') { + $min = $part->{size}; #- ensure the user can only increase + $nice_resize{f2fs} = 1; } elsif ($part->{fs_type} =~ /ntfs/) { write_partitions($in, $hd) or return; require diskdrake::resize_ntfs; @@ -905,6 +908,8 @@ filesystem checks will be run on your next boot into Microsoft Windows®")); unlink($dir); } } + } elsif ($nice_resize{f2fs}) { + run_program::run_or_die("resize.f2fs", devices::make($part->{device})); } elsif ($nice_resize{nilfs}) { run_program::run_or_die("nilfs-resize", $part->{mntpoint}); } diff --git a/perl-install/fs/format.pm b/perl-install/fs/format.pm index b75ed54a6..23f37502a 100644 --- a/perl-install/fs/format.pm +++ b/perl-install/fs/format.pm @@ -28,6 +28,7 @@ my %cmds = ( ext2 => [ 'e2fsprogs', 'mkfs.ext2', '-F' ], ext3 => [ 'e2fsprogs', 'mkfs.ext3', '-F' ], ext4 => [ 'e2fsprogs', 'mkfs.ext4', '-F' ], + f2fs => [ 'f2fs-tools', 'mkfs.f2fs', '-f' ], reiserfs => [ 'reiserfsprogs', 'mkfs.reiserfs', '-ff' ], xfs => [ 'xfsprogs', 'mkfs.xfs', '-f', '-q' ], jfs => [ 'jfsutils', 'mkfs.jfs', '-f' ], @@ -52,6 +53,7 @@ my %LABELs = ( ext2 => [ '-L', 16, 1 ], ext3 => [ '-L', 16, 1 ], ext4 => [ '-L', 16, 1 ], + f2fs => [ '-l', 16, 1 ], reiserfs => [ '-l', 16, 1 ], xfs => [ '-L', 12, 1 ], jfs => [ '-L', 16, 1 ], diff --git a/perl-install/fs/mount.pm b/perl-install/fs/mount.pm index 85f6fcc07..6afaa9260 100644 --- a/perl-install/fs/mount.pm +++ b/perl-install/fs/mount.pm @@ -35,7 +35,7 @@ sub mount { $fs or log::l("not mounting $dev partition"), return; { - my @fs_modules = qw(btrfs ext3 ext4 hfs jfs nilfs2 nfs ntfs romfs reiserfs ufs xfs vfat); + my @fs_modules = qw(btrfs ext3 ext4 f2fs hfs jfs nilfs2 nfs ntfs romfs reiserfs ufs xfs vfat); my @types = (qw(ext2 proc sysfs iso9660 devpts auto ntfs-3g), @fs_modules); push @types, 'smb', 'cifs', 'davfs2' if !$::isInstall; diff --git a/perl-install/fs/type.pm b/perl-install/fs/type.pm index f4820e90b..b80340dfd 100644 --- a/perl-install/fs/type.pm +++ b/perl-install/fs/type.pm @@ -108,6 +108,7 @@ if_(arch() =~ /i.86|x86_64/, 0x75 => '', 'PC/IX', 0x80 => '', 'Old Minix', 0x81 => '', 'Minix / old Linux', + 0x83 => 'f2fs', 'Journalised FS: F2FS', 0x83 => 'reiserfs', 'Journalised FS: ReiserFS', 0x83 => 'nilfs2', 'Journalised FS: NILFS2', 0x84 => '', 'OS/2 hidden C: drive', @@ -300,8 +301,7 @@ sub type_subpart_from_magic { # helpers sub defaultFS() { 'ext4' } - -sub true_local_fs_types() { qw(btrfs ext3 ext2 ext4 reiserfs xfs jfs) } +sub true_local_fs_types() { qw(btrfs ext3 ext2 ext4 f2fs reiserfs xfs jfs) } sub isEmpty { !$_[0]{fs_type} && !$_[0]{pt_type} } sub isBIOS_GRUB { $_[0]{pt_type} eq 'BIOS_GRUB' } diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS index 1fbd6244f..f95486fe4 100644 --- a/perl-install/install/NEWS +++ b/perl-install/install/NEWS @@ -1,11 +1,13 @@ - adjust debug build to current python +- partitioning: + o enable to install on F2FS formated partitions Version 18.24 - 15 March 2020 - fix tracking of installed packages (mga#26284) - include plugin for supporting Windows 10 NTFS "Compact OS" - drakx-in-chroot: - o skip disk ESP & BIOS boot partition checks + o skip disk ESP & BIOS boot partition checks - partitioning: o make reformating nilfs2 fses to work - sync list for modules needing firmware with kernel 5.5 diff --git a/perl-install/install/share/list.xml b/perl-install/install/share/list.xml index 098081331..32ff123b1 100644 --- a/perl-install/install/share/list.xml +++ b/perl-install/install/share/list.xml @@ -26,6 +26,7 @@ xfs_db mkfs.btrfs btrfs btrfsck fsck.btrfs btrfstune + mkfs.f2fs fsck.f2fs resize.f2fs mkfs.jfs fsck.jfs jfs_tune mkfs.nilfs2 nilfs-tune -- cgit v1.2.1