On 5/30/13 4:18 AM, Jack Mitchell wrote:

On 30/05/13 10:01, Hongxu Jia wrote:
Add fuse to oe-core and let target system could support
`ntfs' and `exfat' filesystems.

Test Case

*Steps
1, preparation
1 target: e-menlow
2 usb sticks: one for boot and install, another for filesystem test.

2, config
conf/local.conf:
247 MACHINE ?= "emenlow-noemgd"
247 IMAGE_INSTALL_append = " ntfs-3g ntfsprogs fuse-exfat exfat-utils"

conf/bblayers.conf:
    8 BBLAYERS ?= " \
    9   /home/jiahongxu/yocto/poky/meta \
   10   /home/jiahongxu/yocto/poky/meta-yocto \
   11   /home/jiahongxu/yocto/poky/meta-yocto-bsp \
   12   /home/jiahongxu/yocto/poky/meta-intel \
   13   /home/jiahongxu/yocto/poky/meta-intel/meta-emenlow \

3, build image
bitbake core-image-sato

4, load image to emenlow
Test Case TC-2927: boot and install from usb

5, open a terminal/ssh of e-menlow
Test Case TC-2955: remote access by ssh

6, make exfat filesystem on the testing usb storage
1) plug usb stick into e-menlow
2) execute `mkfs.exfat /dev/sdc1'

7, test usb stick with exfat filesystem is accessible
Test Case TC-2947: usb mount
Test Case TC-2948: usb read files
Test Case TC-2949: usb umount
Test Case TC-2950: usb write files

8, make ntfs filesystem on the testing usb storage
1) plug usb stick into e-menlow, if mounted, invoke `umount /dev/sdc1' first.
2) execute `mkfs.ntfs -f /dev/sdc1'

9, test usb stick with ntfs filesystem is accessible
Test Case TC-2947: usb mount
Test Case TC-2948: usb read files
Test Case TC-2949: usb umount
Test Case TC-2950: usb write files

*Expected Results:
1, build image success

2, make exfat filesystem success
root@emenlow-noemgd:~# mkfs.exfat /dev/sdc1
mkexfatfs 1.0.1
Creating... done.
Flushing... done.
File system created successfully.

3, make ntfs filesystem success
root@emenlow-noemgd:~# mkfs.ntfs -f /dev/sdc1
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.

4, While the usb's filesystem type is exfat or ntfs, system can mount
plugged usb automatically, read files from usb, write files to usb and
unmout usb automatically.

[YOCTO #4178]

The following changes since commit 350c36fcd97e8ef223b91e548d39c346c1c4cb29:

    bitbake: test/fetch: Allow the conditional network tests to work under 
python 2.6 (2013-05-17 12:42:08 +0300)

are available in the git repository at:

    git://git.pokylinux.org/poky-contrib hongxu/support-fuse
    http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=hongxu/support-fuse

Hongxu Jia (4):
    fuse: import recipe from meta-oe
    ntfs-3g-ntfsprogs:import and update recipe from meta-oe
    fuse-exfat: add version 1.0.1
    exfat-utils: add version 1.0.1

   meta/recipes-support/exfat/exfat-utils_1.0.1.bb    |   29 ++++++++++
   meta/recipes-support/exfat/fuse-exfat_1.0.1.bb     |   26 +++++++++
   meta/recipes-support/fuse/fuse-2.9.2/aarch64.patch |   20 +++++++
   .../fuse/fuse-2.9.2/gold-unversioned-symbol.patch  |   60 
++++++++++++++++++++
   meta/recipes-support/fuse/fuse_2.9.2.bb            |   38 +++++++++++++
   .../ntfs-3g-ntfsprogs_2013.1.13.bb                 |   33 +++++++++++
   6 files changed, 206 insertions(+)
   create mode 100644 meta/recipes-support/exfat/exfat-utils_1.0.1.bb
   create mode 100644 meta/recipes-support/exfat/fuse-exfat_1.0.1.bb
   create mode 100644 meta/recipes-support/fuse/fuse-2.9.2/aarch64.patch
   create mode 100644 
meta/recipes-support/fuse/fuse-2.9.2/gold-unversioned-symbol.patch
   create mode 100644 meta/recipes-support/fuse/fuse_2.9.2.bb
   create mode 100644 
meta/recipes-support/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb


Without trying to be difficult, is oe-core really the place to support
and spend effort ensuring NTFS/exFAT formatted drives are supported?

The basis of this work comes from pretty much all SD/MicroSD cards, most consumer USB hard disks, etc being preformatted as NTFS/exFAT. When building a consumer device the designers often want to just use FUSE out of the box so they don't have to work on adding the functionality themselves.

meta-oe is often times too much stuff in one bundle to just included in a project. The developers I work with prefer a smaller load of packages, primarily oe-core + whatever they need. It makes it easier to support and easier to prevent problems from being introduced by feature creep.

Could these improvements not stay in meta-oe? I don't really see support
for essentially propriety filesystems as a core feature of a Linux build.

Yes they could, but then it forces more people to copy the recipes out of 
meta-oe.

I myself am mixed on if fuse belongs on oe-core or not. I can see the argument both ways on including it or rejecting it. However, I'm getting more and more commercial requests for FUSE to be part of the main system.

Shout up if I'm talking nonsense, just my 2p.


_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to