How do I change the rootfs file system type used for the sdcard image in yocto?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How do I change the rootfs file system type used for the sdcard image in yocto?

ソリューションへジャンプ
10,755件の閲覧回数
joerutledge
Contributor III

I'm making my own image recipe and would still like to output the sdcard image as before for my iMX6, however I would like to move it from being based on an ext3 file system to ext4 (or potentially btrfs). For the life of me I can't work out what I need to override to achieve this. Adding ext4 as well as sdcard to the IMAGE_FSTYPES variable in my recipe in my own layer merely gives me both a .ext3 and .ext4 output, of which the .etx3 one appears to be used for the .sdcard image. Either that or it's ext4 mounting as ext3 at boot time... My image inherits core-image and installs CORE_IMAGE_BASE_INSTALL as the basis for my additions.

Any suggestions as to how I *should* be doing this?

Thanks!

1 解決策
6,330件の閲覧回数
gusarambula
NXP TechSupport
NXP TechSupport

Hello joerutledge,

You may try adding them on the local.conf file just to test them although the imx-base.inc is where these variables are originally set.

I cannot find the original commit but the changes were as follow:

conf/machine/include/imx-base.inc

-SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"

-IMAGE_FSTYPES ?= "ext3 sdcard.gz"

+SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext4"

+IMAGE_FSTYPES ?= "ext4 sdcard.gz"

It's odd that it's changing the name but apparently not the file system but I haven't tested it.

元の投稿で解決策を見る

5 返答(返信)
6,330件の閲覧回数
gusarambula
NXP TechSupport
NXP TechSupport

Hello joerutledge,

As far as I know there was a change on the OpenEmbedded-Core layer and ext4 was the default on all images including the sdcard format. Perhaps you can add the following lines, which was part of this change. I haven’t tested it but hopefully it will help.

SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext4"

IMAGE_FSTYPES ?= "ext4 sdcard.gz"

0 件の賞賛
6,330件の閲覧回数
joerutledge
Contributor III

Where should I try adding those lines? I've had a go at that previously in my own layer overriding conf/machine/include/imx-base.inc, however where I had made changes just seemed to change the name given to the file, not the actual file system. Can you point me at the commits that formed the change in open-embedded-core?

0 件の賞賛
6,331件の閲覧回数
gusarambula
NXP TechSupport
NXP TechSupport

Hello joerutledge,

You may try adding them on the local.conf file just to test them although the imx-base.inc is where these variables are originally set.

I cannot find the original commit but the changes were as follow:

conf/machine/include/imx-base.inc

-SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"

-IMAGE_FSTYPES ?= "ext3 sdcard.gz"

+SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext4"

+IMAGE_FSTYPES ?= "ext4 sdcard.gz"

It's odd that it's changing the name but apparently not the file system but I haven't tested it.

6,330件の閲覧回数
joerutledge
Contributor III

Maybe I had a dirty build, but forcing the image type in my overridden machine.conf seems to have done the trick.

In my case I needed:

SDCARD_ROOTFS = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext4"

IMAGE_FSTYPES = "ext4 sdcard"

6,330件の閲覧回数
gusarambula
NXP TechSupport
NXP TechSupport

Thank you joerutledge, for posting what worked for you! I'm sure it will help other community users!

0 件の賞賛