1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【yocto】rootfsにライセンス情報を含める方法

Last updated at Posted at 2022-07-27

はじめに

  • 表示器が無いデバイスでは、ライセンス情報は企業のHPに載せたりする。
  • 表示器のあるデバイスでは、ライセンス情報をデバイス内部に持つことが多い。
  • yoctoでデバイス内(rootfs)にライセンス情報を持たせる方法を説明する。

方法

  • local.confに以下を記載する
COPY_LIC_MANIFEST = "1"
COPY_LIC_DIRS = "1"
LICENSE_CREATE_PACKAGE = "1"
項目 生成物
COPY_LIC_MANIFEST usr/share/common-licenses/license.manifest(ライセンス情報の一覧)
COPY_LIC_DIRS usr/share/common-licenses/${PN}(ライセンステキスト+レシピ情報)等
LICENSE_CREATE_PACKAGE usr/share/common-licenses/${PN}-lic(ライセンステキスト+レシピ情報), usr/share/licenses/(ライセンステキスト)

  • bitbake準備
takeshi@X250:~/yocto/poky$ source oe-init-build-env 

### Shell environment set up for builds. ###

You can now run 'bitbake <target>'

Common targets are:
    core-image-minimal
    core-image-sato
    meta-toolchain
    meta-ide-support

You can also run generated qemu images with a command like 'runqemu qemux86'

Other commonly useful commands are:
 - 'devtool' and 'recipetool' handle common recipe tasks
 - 'bitbake-layers' handles common layer tasks
 - 'oe-pkgdata-util' handles common target package tasks
  • local.confでCOPY_LIC_MANIFEST、COPY_LIC_DIRS、LICENSE_CREATE_PACKAGE を有効にしておく
takeshi@X250:~/yocto/poky/build$ cat conf/local.conf | tail -n 3
COPY_LIC_MANIFEST = "1"
COPY_LIC_DIRS = "1"
LICENSE_CREATE_PACKAGE = "1"
  • bitbakeする
takeshi@X250:~/yocto/poky/build$ bitbake core-image-minimal
WARNING: Host distribution "zorin-15" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Parsing recipes: 100% |##################################################################################################################################| Time: 0:00:44
Parsing of 772 .bb files complete (0 cached, 772 parsed). 1298 targets, 41 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION           = "1.44.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "zorin-15"
TARGET_SYS           = "x86_64-poky-linux"
MACHINE              = "qemux86-64"
DISTRO               = "poky"
DISTRO_VERSION       = "3.0"
TUNE_FEATURES        = "m64 core2"
TARGET_FPU           = ""
meta                 
meta-poky            
meta-yocto-bsp       = "my-yocto-3.0:94f6b31befda5c496f65e863a6f8152b42d7ebf0"

Initialising tasks: 100% |###############################################################################################################################| Time: 0:00:02
Sstate summary: Wanted 818 Found 815 Missed 3 Current 0 (99% match, 0% complete)
NOTE: Executing Tasks
NOTE: Setscene tasks completed
WARNING: core-image-minimal-1.0-r0 do_rootfs: [log_check] core-image-minimal: found 2 warning messages in the logfile:
[log_check] warning: group shutdown does not exist - using root
[log_check] warning: group shutdown does not exist - using root

NOTE: Tasks Summary: Attempted 2654 tasks of which 2424 didn't need to be rerun and all succeeded.

Summary: There were 2 WARNING messages shown.
  • rootfsの生成物を確認する
takeshi@X250:~/yocto/poky/build$ ls tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/share/common-licenses/
base-files       eudev                 generic_MIT        initscripts-functions                        modutils-initscripts-lic    sysvinit-inittab          v86d-lic
base-files-lic   eudev-lic             generic_PD         initscripts-lic                              netbase                     sysvinit-inittab-lic      zlib
base-passwd      generic_BSD-3-Clause  generic_Zlib       kernel-base                                  netbase-lic                 sysvinit-lic              zlib-lic
base-passwd-lic  generic_BSD-4-Clause  generic_bzip2      kernel-module-uvesafb-5.2.17-yocto-standard  opkg-utils-lic              sysvinit-pidof
busybox          generic_GPL-2.0       glibc              kmod-lic                                     packagegroup-core-boot      update-alternatives-opkg
busybox-hwclock  generic_GPLv2         glibc-lic          libkmod                                      packagegroup-core-boot-lic  update-rc.d
busybox-lic      generic_GPLv2.0       init-ifupdown      license.manifest                             run-postinsts               update-rc.d-lic
busybox-syslog   generic_LGPL-2.1      init-ifupdown-lic  linux-yocto-lic                              run-postinsts-lic           util-linux-libblkid
busybox-udhcpc   generic_LGPLv2.1      initscripts        modutils-initscripts                         sysvinit                    v86d
takeshi@X250:~/yocto/poky/build$ ls tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/share/licenses/
base-files   busybox  glibc          initscripts  linux-yocto           netbase     packagegroup-core-boot  sysvinit          update-rc.d  zlib
base-passwd  eudev    init-ifupdown  kmod         modutils-initscripts  opkg-utils  run-postinsts           sysvinit-inittab  v86d

※local.confにINHERIT += "rm_work"を記載していると、ビルド後にworkディレクトリは削除されるため、コメントアウト等で無効化しておくこと

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?