Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12603 Discussions

Updating e2fsprogs for ext4 support

Altera_Forum
Honored Contributor II
1,936 Views

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.
0 Kudos
6 Replies
Altera_Forum
Honored Contributor II
505 Views

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. ;)
0 Kudos
Altera_Forum
Honored Contributor II
505 Views

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 ...
0 Kudos
Altera_Forum
Honored Contributor II
505 Views

 

--- 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.
0 Kudos
Altera_Forum
Honored Contributor II
505 Views

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
0 Kudos
Altera_Forum
Honored Contributor II
505 Views

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
0 Kudos
Altera_Forum
Honored Contributor II
505 Views

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
0 Kudos
Reply