f2fs-tools

I expressed an interest yesterday in the Flash Friendly File System (f2fs):
http://bkhome.org/blog2/?viewDetailed=00119

I downloaded the f2fs-tools from here:
http://git.kernel.org/?p=linux/kernel/git/jaegeuk/f2fs-tools.git;a=summary

F2fs needs libuuid, so I also downloaded util-linux:
http://www.kernel.org/pub/linux/utils/util-linux/v2.22/

I decided that it would be good to compile the 'mkfs.f2fs' utility statically, so I downloaded a uClibc root-filesystem for i486 from Aboriginal Linux:
http://www.landley.net/aboriginal/downloads/binaries/root-filesystem/

...after expanding, it is just a matter of:
# chroot root-filesystem-i486

Here are my notes:
util-linux 2.22.2

# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=i486-pc-linux-gnu --disable-shared --enable-static --enable-static-programs="" --enable-libuuid --disable-libblkid --disable-libmount --disable-mount --disable-losetup --disable-fsck --disable-partx --disable-uuidd --disable-mountpoint --disable-fallocate --disable-unshare --disable-arch --disable-ddate --disable-eject --disable-agetty --disable-cramfs --disable-wdctl --disable-switch_root --disable-elvtune --disable-kill --disable-last --disable-utmpdump --disable-line --disable-mesg --disable-raw --disable-rename --disable-reset --disable-vipw --disable-newgrp --disable-chfn-chsh --disable-login --disable-sulogin --disable-su --disable-schedutils --disable-wall --disable-write --disable-chkdupexe --disable-socket-activation --disable-pg-bell --disable-nls --without-selinux --without-audit --without-udev --without-ncurses
# make

...stops with an error, but has built ./libs/libuuid.a ...which is what I want.

copy .libs/libuuid* to root-filesystem-i486/usr/lib/
...rename libuuid.lai to libuuid.la
libuuid/src/uuid.h to root-filesystem-i486/usr/include/uuid/

f2fs 20130213
run this but not chrooted into aboriginal f.s.:
# autoreconf --install

back in chroot environment:
don't have pkg-config installed, so do this:

# export libuuid_CFLAGS='-I/usr/include/uuid -static'
# export libuuid_LIBS='-L/usr/lib -luuid -static'

# ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --build=i486-pc-linux-gnu
# make
# make install

...usr/share/man/man8/mkfs.f2fs.8
...sbin/mkfs.f2fs


I also performed the same exercise for ARM on my Mele A1000, compiling for armv6.


Posted on 13 Feb 2013, 19:27


Comments:

Posted on 13 Feb 2013, 19:55 by 01micko
re f2fs-tools
"I also performed the same exercise for ARM on my Mele A1000, compiling for armv6."

Nice


Posted on 13 Feb 2013, 19:56 by BarryK
f2fs-tools PETs
Here are the PETs.

For i486 (30K, 2K):
http://distro.ibiblio.org/quirky/pet_packages-common/f2fs-tools-20130213-i486-static.pet
http://distro.ibiblio.org/quirky/pet_packages-common/f2fs-tools_DOC-20130213-i486-static.pet

For armv6 (48K, 2K):
http://distro.ibiblio.org/quirky/arm/pet_packages-armv6/f2fs-tools-20130213-armv6-static.pet
http://distro.ibiblio.org/quirky/arm/pet_packages-armv6/f2fs-tools_DOC-20130213-armv6-static.pet



Posted on 9 Jul 2013, 6:04 by 01micko
f2fs-tools
Now includes fsck as of June.

git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git

clone that.