mbox

[pull,request,v2] Pull request for branch yem-ext234

Message ID cover.1362693453.git.yann.morin.1998@free.fr
State Not Applicable
Headers show

Pull-request

git://gitorious.org/buildroot/buildroot.git yem-ext234

Message

Yann E. MORIN March 7, 2013, 10:04 p.m. UTC
Hello All!

This patch series enhances the ext2 fs backend to also build ext3 and ext4
filesystems, and differentiate between ext2 rev0 and ext2 rev1 filesystems.

This patch series is based on the previously-sent 'yem-host-image-tools'
pull-request, and requires changes in that series.

Changes v1 -> v2:
  - enhance the ext2/3/4 generation (Arnout, Peter)
  - allow fs generators to specify the image extension (Arnout)
  - remove ext2 count- and time-based fsck (Arnout)


The following changes since commit 296699691239a90d5118c5cbe72f1ff57b3761a5:

  package/mtools: new host-package (2013-03-07 00:29:51 +0100)

are available in the git repository at:
  git://gitorious.org/buildroot/buildroot.git yem-ext234

Yann E. MORIN (6):
      fs/ext2: enclose the ext2 options in if...endif
      fs/ext2: add ability to build ext3/4 too
      fs: allow image generators to specify file-extension
      fs/ext2: use the ext2 variant to name the generated rootfs image
      fs/ext2: add support for ext2 rev0 and rev1
      fs/ext2: remove count- and time-based fsck

 fs/common.mk                     |   17 ++++++--
 fs/ext2/Config.in                |   57 ++++++++++++++++++++++-----
 fs/ext2/ext2.mk                  |   10 ++++-
 fs/ext2/genext2fs.sh             |   77 +++++++++++++++++++++++++++++++++++++-
 package/e2fsprogs/Config.in.host |    2 +-
 5 files changed, 144 insertions(+), 19 deletions(-)

Regards,
Yann E. MORIN

Comments

Thomas Petazzoni March 10, 2013, 1:31 p.m. UTC | #1
Dear Yann E. MORIN,

On Thu,  7 Mar 2013 23:04:37 +0100, Yann E. MORIN wrote:

> This patch series enhances the ext2 fs backend to also build ext3 and ext4
> filesystems, and differentiate between ext2 rev0 and ext2 rev1 filesystems.
> 
> This patch series is based on the previously-sent 'yem-host-image-tools'
> pull-request, and requires changes in that series.

I just tested this with the following defconfig:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
# BR2_TARGET_ROOTFS_TAR is not set

and building the ext4 image fails:

tune2fs 1.42.7 (21-Jan-2013)

Please run e2fsck on the filesystem.

Creating journal inode: 
Journal size too big for filesystem.
make: *** [/home/thomas/projets/buildroot/output/images/rootfs.ext4] Erreur 1

Best regards,

Thomas
Yann E. MORIN March 11, 2013, 12:05 a.m. UTC | #2
Thomas, All,

On Sunday 10 March 2013 Thomas Petazzoni wrote:
> On Thu,  7 Mar 2013 23:04:37 +0100, Yann E. MORIN wrote:
> 
> > This patch series enhances the ext2 fs backend to also build ext3 and ext4
> > filesystems, and differentiate between ext2 rev0 and ext2 rev1 filesystems.
> > 
> > This patch series is based on the previously-sent 'yem-host-image-tools'
> > pull-request, and requires changes in that series.
> 
> I just tested this with the following defconfig:
> 
> BR2_arm=y
> BR2_TOOLCHAIN_EXTERNAL=y
> BR2_TARGET_ROOTFS_EXT2=y
> BR2_TARGET_ROOTFS_EXT2_4=y
> # BR2_TARGET_ROOTFS_TAR is not set
> 
> and building the ext4 image fails:
> 
> tune2fs 1.42.7 (21-Jan-2013)
> 
> Please run e2fsck on the filesystem.

That part is expected: tune2fs will explicitly state the above when
some features of ext2/3/4 are activated.

WE handle that in the script by explictly calling to e2fsck afterward.

> Creating journal inode: 
> Journal size too big for filesystem.
> make: *** [/home/thomas/projets/buildroot/output/images/rootfs.ext4] Erreur 1

Ah, this is... sad. It seems the heuristic to compute the number of extra
sectors to add is not good enough.

I'll see what I can do with that.

Regards,
Yann E. MORIN.
Yann E. MORIN March 17, 2013, 10:20 p.m. UTC | #3
Thomas, All,

On Sunday 10 March 2013 Thomas Petazzoni wrote:
> On Thu,  7 Mar 2013 23:04:37 +0100, Yann E. MORIN wrote:
> 
> > This patch series enhances the ext2 fs backend to also build ext3 and ext4
> > filesystems, and differentiate between ext2 rev0 and ext2 rev1 filesystems.
> > 
> > This patch series is based on the previously-sent 'yem-host-image-tools'
> > pull-request, and requires changes in that series.
> 
> I just tested this with the following defconfig:
> 
> BR2_arm=y
> BR2_TOOLCHAIN_EXTERNAL=y
> BR2_TARGET_ROOTFS_EXT2=y
> BR2_TARGET_ROOTFS_EXT2_4=y
> # BR2_TARGET_ROOTFS_TAR is not set
> 
> and building the ext4 image fails:
> 
> tune2fs 1.42.7 (21-Jan-2013)
> 
> Please run e2fsck on the filesystem.
> 
> Creating journal inode: 
> Journal size too big for filesystem.
> make: *** [/home/thomas/projets/buildroot/output/images/rootfs.ext4] Erreur 1

I am unable to reproduce this failure with your defconfig:

---8<---
echo "  PATH="/home/ymorin/dev/buildroot/O-misc/host/bin:/home/ymorin/dev/bu
ildroot/O-misc/host/usr/bin:/home/ymorin/dev/buildroot/O-misc/host/usr/sbin/
:/home/ymorin/bin:/home/ymorin/bin:/opt/zbar/bin:/opt/stgit/bin:/opt/qemu/bi
n:/opt/pkg++/bin:/opt/kcfg/bin:/opt/hg/bin:/opt/firefox/bin:/opt/bencode/bin
:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games" GEN=4 REV=1 fs/ex
t2/genext2fs.sh -d /home/ymorin/dev/buildroot/O-misc/target  /home/ymorin/de
v/buildroot/O-misc/images/rootfs.ext2" >> /home/ymorin/dev/buildroot/O-misc/
build/_fakeroot.fs
chmod a+x /home/ymorin/dev/buildroot/O-misc/build/_fakeroot.fs
/home/ymorin/dev/buildroot/O-misc/host/usr/bin/fakeroot -- /home/ymorin/dev/
buildroot/O-misc/build/_fakeroot.fs
rootdir=/home/ymorin/dev/buildroot/O-misc/target
table='/home/ymorin/dev/buildroot/O-misc/build/_device_table.txt'
tune2fs 1.42.7 (21-Jan-2013)

Please run e2fsck on the filesystem.

Creating journal inode: done
This filesystem will be automatically checked every 20 mounts or
0 days, whichever comes first.  Use tune2fs -c or -i to override.

e2fsck was successfully run on 'rootfs.ext2' (ext4)

tune2fs 1.42.7 (21-Jan-2013)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
cp support/misc/target-dir-warning.txt /home/ymorin/dev/buildroot/O-misc/tar
get/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
ln -sf rootfs.ext2 /home/ymorin/dev/buildroot/O-misc/images/rootfs.ext4
---8<---

Regards,
Yann E. MORIN.