Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
15 years ago

Updating e2fsprogs for ext4 support

I'm wanting to experiment with the performance capabilities of EXT4 on a Compact Flash on my Cyclone II Dev Board .

In the filesystems I have enabled EXT4 and I've got my Compact Flash mounted as EXT4. When I power up and I try and do a:

e2fsck -pv /dev/sda1

It tells me my e2fsck does not support EXT4 and to update.

How do I do that ?

I see the latest version of e2fsprogs is 1.41.12 and the current uClinux-dist has 1.40.9 and e2fsprogs-lib-1.41.0.

Thanks in advance.

6 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    You can update an app or library in uClinux-dist something like this:

    Find if there are any patches/differences in the uClinux-dist version to the same version from upstream.

    Put the new version next to the old version in the directory (i.e. uClinux-dist/user/appname).

    Apply any patches to the new version.

    Modify the top level Makefile for that app to use the new version.

    Hope that it just works. ;)
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks - Now could you clarify how to:

    Find if there are any patches/differences in the uClinux-dist version to the same version from upstream.

    I'm pretty sure I'm able to do the rest.

    I've been trying to do a ./update yesterday and today and I keep getting

    sopc.et.ntust.edu.tw[0: 140.118.20.145]: errno=Connection timed out

    fatal: unable to connect a socket (Connection timed out)

    for everything ...
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Thanks - Now could you clarify how to:

    Find if there are any patches/differences in the uClinux-dist version to the same version from upstream.

    --- Quote End ---

    I've just downloaded the upstream version and did a diff. I suppose the information should be in the git history, but that depends on how the code was imported. For example:

    git log -p user/portmap/portmap_6.0

    shows 2 patches: the initial import of version 6.0, and the uClinux-dist patch that added the NOMMU macro and broke it.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I'm getting an error when I "make"

    **************************************

    make[5]: Leaving directory `/home/janet/nios2-linux/uClinux-dist/user/e2fsprogs/build-e2fsprogs-1.41.12/intl'

    make[5]: Entering directory `/home/janet/nios2-linux/uClinux-dist/user/e2fsprogs/build-e2fsprogs-1.41.12/intl'

    make[5]: Nothing to be done for `install-shlibs'.

    make[5]: Leaving directory `/home/janet/nios2-linux/uClinux-dist/user/e2fsprogs/build-e2fsprogs-1.41.12/intl'

    making install in e2fsck

    make[5]: Entering directory `/home/janet/nios2-linux/uClinux-dist/user/e2fsprogs/build-e2fsprogs-1.41.12/e2fsck'

    CC ../../e2fsprogs-1.41.12/e2fsck/util.c

    MKINSTALLDIRS //sbin /usr/share/man/man8

    GEN /home/janet/nios2-linux/uClinux-dist/user/busybox/build-busybox/Makefile

    Using /home/janet/nios2-linux/uClinux-dist/user/busybox/busybox as source for busybox

    LD e2fsck

    e2fsck.elf2flt(.text+0x12afc): In function `init_resource_track':

    ../../e2fsprogs-1.41.12/e2fsck/util.c:293: undefined reference to `sbrk'

    e2fsck.elf2flt(.text+0x12c34): In function `print_resource_track':

    ../../e2fsprogs-1.41.12/e2fsck/util.c:358: undefined reference to `sbrk'

    collect2: ld returned 1 exit status

    make[5]: *** [e2fsck] Error 1

    make[5]: Leaving directory `/home/janet/nios2-linux/uClinux-dist/user/e2fsprogs/build-e2fsprogs-1.41.12/e2fsck'

    make[4]: *** [install-progs-recursive] Error 1

    make[4]: Leaving directory `/home/janet/nios2-linux/uClinux-dist/user/e2fsprogs/build-e2fsprogs-1.41.12'

    make[3]: *** [all] Error 2

    make[3]: Leaving directory `/home/janet/nios2-linux/uClinux-dist/user/e2fsprogs'

    make[2]: *** [e2fsprogs] Error 2

    make[2]: *** Waiting for unfinished jobs....

    make[4]: Leaving directory `/home/janet/nios2-linux/uClinux-dist/user/busybox/build-busybox'

    make[3]: Leaving directory `/home/janet/nios2-linux/uClinux-dist/user/busybox'

    make[2]: Leaving directory `/home/janet/nios2-linux/uClinux-dist/user'

    make[1]: *** [all] Error 2

    make[1]: Leaving directory `/home/janet/nios2-linux/uClinux-dist/user'

    make: *** [subdirs] Error 1

    [janet@localhost uClinux-dist]$

    ***********************************************

    How can I get "sbrk" linked correctly ?

    Thanks in advance
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    The e2fsprogs-1.41.12 is available in trunk branch which we used for mmu,

    Just update the makefile to include fsck.ext4 etc.

    uClinux-dist/user/e2fsprogs/Makefile
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I still have the error. Here are the steps I took

    From uClinux-dist directory

    e2fsprogs-1.41.12

    1. make clean (to start fresh)

    2. put the new folder -- e2fsprogs-1.41.12 under user/e2fsprogs

    3. modified the Makefile as instructed.

    4. make menuconfig - defaulting everything

    5. make vendor_hwselect SYSPTF=my.ptf

    6. make

    ALL WORKS

    7. make menuconfig - (selected to customize Application/Library settings)

    under Filesystem Application - EXT2 - selected "e2fsck"

    8. make

    AND I get the same error posted earlier. So what am I missing ?

    Thanks in advance