2017-08-02 11 views
1

私はYocto Linuxをフラッシュしてからフラッシュしたいと思っています。不要なソフトウェア、マニュアルページ、POCOサンプルコード、その他のドキュメントはリソースを浪費します。特に、128MBのフラッシュメモリを搭載したi.MX28 EVKには問題ありません。私のYocto Linuxを削除するには?

マイlocal.confファイルには、次のようになります。

$ gedit conf/local.conf & 
... 
IMAGE_INSTALL_append = " poco nginx canutils vsftpd curl fcgi spawn-fcgi net-snmp util-linux ubiattach-klibc ubimkvol-klibc ubiformat-klibc minicom net-tools zeroconf avahi-autoipd mtd-utils u-boot-fw-utils ethtool" 
... 

私は、画像 "コア・イメージ・ベース" をbitbake。

Unneededファイルをすべて削除できる方法はありますか?

誰かが私のYocto Linuxを削除する方法を教えてもらえますか?

+0

conf/bblayers.confに追加local.conf

TCLIBC = "musl" 

で、http://www.etalabs.net/compare_libcs.html

がMUSLを使用するための標準のglibcの代わりにuclibcまたはmuslを使用しますか?あなたはウェブページを提供するつもりですか?彼らはどこに保管されますか?同じ128メガバイトで? ngixを実行していない場合、本当にhte fcgiとvsftpdが必要ですか?この質問は、https://www.superuser.comの方が適しているかもしれません。 – Tschallacka

+0

はい、私はそれらのすべてが必要です。今はすべてがうまくいきます。 – BachehKaraji

答えて

2

あなたが唯一packagegroup-core-bootpackagegroup-base-extendedそのイメージでがあることがわかりますcore-image-baseのためのレシピと含まcore-imageクラス(core-image-base.bb & core-image.bbclass)に見えます。

それらの説明:我々はpackagegroupコア・ブートおよびpackagegroupベース拡張パッケージをインストールデフォルトで

。 これは私たちにrootfsを働かせる(コンソールのみ)。

これは削除されていないと仮定して、「Yocto-way」で多くのソフトウェア/ファイルを削除することはできません。あなたができることは、手動でファイルを削除しているパッチを書いたり、build a tiny system with Yocto (Link to Development Manual)を見てください。

あなたのlocal.confDISTRO変数を変更することで、このディストリビューションを有効にすることができます。

DISTRO = "poky-tiny" 
0

これは、最小限のコンソール画像の例である: レシピコア/画像/ core-image-small.bb

DESCRIPTION = "Minimal console image." 
IMAGE_INSTALL= "\ 
base-files \ 
base-passwd \ 
busybox \ 
sysvinit \ 
initscripts \ 
${ROOTFS_PKGMANAGE_BOOTSTRAP} \ 
${CORE_IMAGE_EXTRA_INSTALL} \ 
" 
IMAGE_LINGUAS = " " 
LICENSE = "MIT" 
inherit core-image 
IMAGE_ROOTFS_SIZE ?= "8192" 

このレシピは約6.4MBの画像を生成します。あなたのconf/local.confDISTRO = "poky-tiny"を追加してpoky-tinyを使用すると、画像は約4MBになります。これを構築するに

、あなたはそれが最軽量であるとしてもPACKAGE_CLASSES ?= package_ipkパッケージマネージャを使用して、完全に本番ルートファイルシステムからpackage-management機能を削除することができ INSANCE_SKIP_glibc-locale = "installed-vs-shipped"

を追加する必要があります。

あなたのイメージでpackagegroup-core-bootを持っていることを選択した場合、あなたの代わりにはext2を使用し、あなたはブロックデバイス上のルートファイルシステムを実行している場合は、あなたのconf/local.conf

VIRTUAL-RUNTIME_dev_manager = "mdev" 

に指定することで、代わりにudevのBusyBoxののMDEVデバイスマネージャを使用することができますext3またはext4のジャーナルなし

bbappendに独自の設定ファイルを提供することで、必須のアプレットのみでBusyBoxを設定します。

glibcの設定を確認します。これは、DISTRO_FEATURES_LIBC配布設定変数で変更できます。この例はpoky-tinyディストリビューションにあります。

リガーCライブラリに切り替えることを検討してください。あなたがNGIX必要ですmeta-musl

+0

ご指摘ありがとうございます。 – BachehKaraji

関連する問題