diff options
author | Catalin Iova <Catalin.Iova@enea.com> | 2021-11-29 11:11:59 +0100 |
---|---|---|
committer | Catalin Iova <Catalin.Iova@enea.com> | 2021-11-29 11:11:59 +0100 |
commit | 3a6c8fd89a95be4633c396d114583e4e69dbf4aa (patch) | |
tree | 5782455cdddab65d9bc2005a5d6686f60ae822d7 | |
parent | 5c027a9d4460ba31b4db102a5ce01aca50041584 (diff) | |
download | meta-el-nfv-access-3a6c8fd89a95be4633c396d114583e4e69dbf4aa.tar.gz |
conf images: Adding support for lx2160
Change-Id: Ib02134a3b61019d497081dd8426d2f90d38259f3
Signed-off-by: Catalin Iova <Catalin.Iova@enea.com>
-rwxr-xr-x | classes/sota_lx2160ardb.bbclass | 14 | ||||
-rw-r--r-- | conf/distro/eneanfvaccess.conf | 3 | ||||
-rwxr-xr-x | conf/template.lx2160ardb-debug/bblayers.conf.sample | 29 | ||||
-rwxr-xr-x | conf/template.lx2160ardb-debug/conf-notes.txt | 2 | ||||
-rwxr-xr-x | conf/template.lx2160ardb-debug/local.conf.sample | 267 | ||||
-rwxr-xr-x | conf/template.lx2160ardb/bblayers.conf.sample | 29 | ||||
-rwxr-xr-x | conf/template.lx2160ardb/conf-notes.txt | 2 | ||||
-rwxr-xr-x | conf/template.lx2160ardb/local.conf.sample | 267 | ||||
-rw-r--r-- | images/core-image-minimal-initramfs.bbappend | 5 | ||||
-rw-r--r-- | images/enea-edge-host-common.inc | 9 | ||||
-rw-r--r-- | images/enea-edge-runtime.bb | 9 | ||||
-rw-r--r-- | images/enea-edge-vnf.bb | 1 |
12 files changed, 637 insertions, 0 deletions
diff --git a/classes/sota_lx2160ardb.bbclass b/classes/sota_lx2160ardb.bbclass new file mode 100755 index 0000000..db66c20 --- /dev/null +++ b/classes/sota_lx2160ardb.bbclass | |||
@@ -0,0 +1,14 @@ | |||
1 | OSTREE_BOOTLOADER ?= "grub" | ||
2 | EFI_PROVIDER_sota = "grub-efi" | ||
3 | |||
4 | PREFERRED_PROVIDER_virtual/bootloader_sota = "grub-efi" | ||
5 | |||
6 | WKS_FILE_sota = "efiimage-sota.wks" | ||
7 | |||
8 | OSTREE_INITRAMFS_FSTYPES ?= "cpio.gz" | ||
9 | |||
10 | # Set .otaimg to be used as source for generating hddimg | ||
11 | ROOTFS_sota = "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.ota-ext4" | ||
12 | |||
13 | # OSTree initrd needs 'ramdisk_size' and 'rw' parameters in order to boot | ||
14 | OSTREE_KERNEL_ARGS ?= "rw" | ||
diff --git a/conf/distro/eneanfvaccess.conf b/conf/distro/eneanfvaccess.conf index 40e6e1b..1cf8385 100644 --- a/conf/distro/eneanfvaccess.conf +++ b/conf/distro/eneanfvaccess.conf | |||
@@ -15,6 +15,9 @@ DISTRO_FEATURES_append = " odm efi-secure-boot usrmerge" | |||
15 | DISTRO_FEATURES_remove = "x11 opengl wayland vulkan pulseaudio alsa" | 15 | DISTRO_FEATURES_remove = "x11 opengl wayland vulkan pulseaudio alsa" |
16 | DISTRO_FEATURES_OVERRIDES += "odm efi-secure-boot" | 16 | DISTRO_FEATURES_OVERRIDES += "odm efi-secure-boot" |
17 | 17 | ||
18 | DISTRO_FEATURES_remove_aarch64 = "efi-secure-boot" | ||
19 | DISTRO_FEATURES_OVERRIDES_remove_aarch64 = "efi-secure-boot" | ||
20 | |||
18 | PREFERRED_PROVIDER_virtual/java-initial-native = "cacao-initial-native" | 21 | PREFERRED_PROVIDER_virtual/java-initial-native = "cacao-initial-native" |
19 | PREFERRED_PROVIDER_virtual/java-native = "jamvm-native" | 22 | PREFERRED_PROVIDER_virtual/java-native = "jamvm-native" |
20 | PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native" | 23 | PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native" |
diff --git a/conf/template.lx2160ardb-debug/bblayers.conf.sample b/conf/template.lx2160ardb-debug/bblayers.conf.sample new file mode 100755 index 0000000..b37080b --- /dev/null +++ b/conf/template.lx2160ardb-debug/bblayers.conf.sample | |||
@@ -0,0 +1,29 @@ | |||
1 | # POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf | ||
2 | # changes incompatibly | ||
3 | POKY_BBLAYERS_CONF_VERSION = "2" | ||
4 | |||
5 | BBPATH = "${TOPDIR}" | ||
6 | BBFILES ?= "" | ||
7 | |||
8 | BBLAYERS ?= " \ | ||
9 | ##OEROOT##/meta \ | ||
10 | ##OEROOT##/meta-poky \ | ||
11 | ##OEROOT##/meta-freescale \ | ||
12 | ##OEROOT##/meta-nfv-access-bsp-common \ | ||
13 | ##OEROOT##/meta-nfv-access-bsp-arm \ | ||
14 | ##OEROOT##/meta-virtualization \ | ||
15 | ##OEROOT##/meta-enea-virtualization \ | ||
16 | ##OEROOT##/meta-nfv-access-common \ | ||
17 | ##OEROOT##/meta-el-nfv-access \ | ||
18 | ##OEROOT##/meta-openembedded/meta-oe \ | ||
19 | ##OEROOT##/meta-openembedded/meta-networking \ | ||
20 | ##OEROOT##/meta-openembedded/meta-filesystems \ | ||
21 | ##OEROOT##/meta-openembedded/meta-python \ | ||
22 | ##OEROOT##/meta-openembedded/meta-webserver \ | ||
23 | ##OEROOT##/meta-java \ | ||
24 | ##OEROOT##/meta-updater \ | ||
25 | ##OEROOT##/meta-openembedded/meta-perl \ | ||
26 | ##OEROOT##/meta-secure-core/meta \ | ||
27 | ##OEROOT##/meta-secure-core/meta-signing-key \ | ||
28 | ##OEROOT##/meta-enea-user-keys \ | ||
29 | " | ||
diff --git a/conf/template.lx2160ardb-debug/conf-notes.txt b/conf/template.lx2160ardb-debug/conf-notes.txt new file mode 100755 index 0000000..d4da82b --- /dev/null +++ b/conf/template.lx2160ardb-debug/conf-notes.txt | |||
@@ -0,0 +1,2 @@ | |||
1 | Common targets are: | ||
2 | enea-edge-runtime-debug | ||
diff --git a/conf/template.lx2160ardb-debug/local.conf.sample b/conf/template.lx2160ardb-debug/local.conf.sample new file mode 100755 index 0000000..e951232 --- /dev/null +++ b/conf/template.lx2160ardb-debug/local.conf.sample | |||
@@ -0,0 +1,267 @@ | |||
1 | # | ||
2 | # This file is your local configuration file and is where all local user settings | ||
3 | # are placed. The comments in this file give some guide to the options a new user | ||
4 | # to the system might want to change but pretty much any configuration option can | ||
5 | # be set in this file. More adventurous users can look at local.conf.extended | ||
6 | # which contains other examples of configuration which can be placed in this file | ||
7 | # but new users likely won't need any of them initially. | ||
8 | # | ||
9 | # Lines starting with the '#' character are commented out and in some cases the | ||
10 | # default values are provided as comments to show people example syntax. Enabling | ||
11 | # the option is a question of removing the # character and making any change to the | ||
12 | # variable as required. | ||
13 | |||
14 | # | ||
15 | # Machine Selection | ||
16 | # | ||
17 | # You need to select a specific machine to target the build with. There are a selection | ||
18 | # of emulated machines available which can boot and run in the QEMU emulator: | ||
19 | # | ||
20 | #MACHINE ?= "qemuarm" | ||
21 | #MACHINE ?= "qemuarm64" | ||
22 | #MACHINE ?= "qemumips" | ||
23 | #MACHINE ?= "qemumips64" | ||
24 | #MACHINE ?= "qemuppc" | ||
25 | #MACHINE ?= "qemux86" | ||
26 | #MACHINE ?= "qemux86-64" | ||
27 | # | ||
28 | # There are also the following hardware board target machines included for | ||
29 | # demonstration purposes: | ||
30 | # | ||
31 | #MACHINE ?= "beaglebone" | ||
32 | #MACHINE ?= "genericx86" | ||
33 | #MACHINE ?= "genericx86-64" | ||
34 | #MACHINE ?= "mpc8315e-rdb" | ||
35 | #MACHINE ?= "edgerouter" | ||
36 | # | ||
37 | # This sets the default machine to be qemux86 if no other machine is selected: | ||
38 | MACHINE ?= "lx2160ardb" | ||
39 | |||
40 | |||
41 | # | ||
42 | # Where to place downloads | ||
43 | # | ||
44 | # During a first build the system will download many different source code tarballs | ||
45 | # from various upstream projects. This can take a while, particularly if your network | ||
46 | # connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you | ||
47 | # can preserve this directory to speed up this part of subsequent builds. This directory | ||
48 | # is safe to share between multiple builds on the same machine too. | ||
49 | # | ||
50 | # The default is a downloads directory under TOPDIR which is the build directory. | ||
51 | # | ||
52 | #DL_DIR ?= "${TOPDIR}/downloads" | ||
53 | |||
54 | # | ||
55 | # Where to place shared-state files | ||
56 | # | ||
57 | # BitBake has the capability to accelerate builds based on previously built output. | ||
58 | # This is done using "shared state" files which can be thought of as cache objects | ||
59 | # and this option determines where those files are placed. | ||
60 | # | ||
61 | # You can wipe out TMPDIR leaving this directory intact and the build would regenerate | ||
62 | # from these files if no changes were made to the configuration. If changes were made | ||
63 | # to the configuration, only shared state files where the state was still valid would | ||
64 | # be used (done using checksums). | ||
65 | # | ||
66 | # The default is a sstate-cache directory under TOPDIR. | ||
67 | # | ||
68 | #SSTATE_DIR ?= "${TOPDIR}/sstate-cache" | ||
69 | |||
70 | # | ||
71 | # Where to place the build output | ||
72 | # | ||
73 | # This option specifies where the bulk of the building work should be done and | ||
74 | # where BitBake should place its temporary files and output. Keep in mind that | ||
75 | # this includes the extraction and compilation of many applications and the toolchain | ||
76 | # which can use Gigabytes of hard disk space. | ||
77 | # | ||
78 | # The default is a tmp directory under TOPDIR. | ||
79 | # | ||
80 | #TMPDIR = "${TOPDIR}/tmp" | ||
81 | |||
82 | # | ||
83 | # Default policy config | ||
84 | # | ||
85 | # The distribution setting controls which policy settings are used as defaults. | ||
86 | # The default value is fine for general Yocto project use, at least initially. | ||
87 | # Ultimately when creating custom policy, people will likely end up subclassing | ||
88 | # these defaults. | ||
89 | # | ||
90 | DISTRO ?= "eneanfvaccess" | ||
91 | # As an example of a subclass there is a "bleeding" edge policy configuration | ||
92 | # where many versions are set to the absolute latest code from the upstream | ||
93 | # source control systems. This is just mentioned here as an example, its not | ||
94 | # useful to most new users. | ||
95 | # DISTRO ?= "poky-bleeding" | ||
96 | |||
97 | # | ||
98 | # Package Management configuration | ||
99 | # | ||
100 | # This variable lists which packaging formats to enable. Multiple package backends | ||
101 | # can be enabled at once and the first item listed in the variable will be used | ||
102 | # to generate the root filesystems. | ||
103 | # Options are: | ||
104 | # - 'package_deb' for debian style deb files | ||
105 | # - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager) | ||
106 | # - 'package_rpm' for rpm style packages | ||
107 | # E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" | ||
108 | # We default to rpm: | ||
109 | PACKAGE_CLASSES ?= "package_deb" | ||
110 | |||
111 | # | ||
112 | # SDK/ADT target architecture | ||
113 | # | ||
114 | # This variable specifies the architecture to build SDK/ADT items for and means | ||
115 | # you can build the SDK packages for architectures other than the machine you are | ||
116 | # running the build on (i.e. building i686 packages on an x86_64 host). | ||
117 | # Supported values are i686 and x86_64 | ||
118 | #SDKMACHINE ?= "i686" | ||
119 | |||
120 | # | ||
121 | # Extra image configuration defaults | ||
122 | # | ||
123 | # The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated | ||
124 | # images. Some of these options are added to certain image types automatically. The | ||
125 | # variable can contain the following options: | ||
126 | # "dbg-pkgs" - add -dbg packages for all installed packages | ||
127 | # (adds symbol information for debugging/profiling) | ||
128 | # "dev-pkgs" - add -dev packages for all installed packages | ||
129 | # (useful if you want to develop against libs in the image) | ||
130 | # "ptest-pkgs" - add -ptest packages for all ptest-enabled packages | ||
131 | # (useful if you want to run the package test suites) | ||
132 | # "tools-sdk" - add development tools (gcc, make, pkgconfig etc.) | ||
133 | # "tools-debug" - add debugging tools (gdb, strace) | ||
134 | # "eclipse-debug" - add Eclipse remote debugging support | ||
135 | # "tools-profile" - add profiling tools (oprofile, lttng, valgrind) | ||
136 | # "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.) | ||
137 | # "debug-tweaks" - make an image suitable for development | ||
138 | # e.g. ssh root access has a blank password | ||
139 | # There are other application targets that can be used here too, see | ||
140 | # meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details. | ||
141 | # We default to enabling the debugging tweaks. | ||
142 | EXTRA_IMAGE_FEATURES = "debug-tweaks" | ||
143 | |||
144 | # | ||
145 | # Additional image features | ||
146 | # | ||
147 | # The following is a list of additional classes to use when building images which | ||
148 | # enable extra features. Some available options which can be included in this variable | ||
149 | # are: | ||
150 | # - 'buildstats' collect build statistics | ||
151 | # - 'image-mklibs' to reduce shared library files size for an image | ||
152 | # - 'image-prelink' in order to prelink the filesystem image | ||
153 | # - 'image-swab' to perform host system intrusion detection | ||
154 | # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink | ||
155 | # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended | ||
156 | # NOTE: image-prelink is removed by sota.conf.inc | ||
157 | USER_CLASSES ?= "buildstats image-mklibs image-prelink" | ||
158 | |||
159 | # | ||
160 | # Runtime testing of images | ||
161 | # | ||
162 | # The build system can test booting virtual machine images under qemu (an emulator) | ||
163 | # after any root filesystems are created and run tests against those images. To | ||
164 | # enable this uncomment this line. See classes/testimage(-auto).bbclass for | ||
165 | # further details. | ||
166 | #TEST_IMAGE = "1" | ||
167 | # | ||
168 | # Interactive shell configuration | ||
169 | # | ||
170 | # Under certain circumstances the system may need input from you and to do this it | ||
171 | # can launch an interactive shell. It needs to do this since the build is | ||
172 | # multithreaded and needs to be able to handle the case where more than one parallel | ||
173 | # process may require the user's attention. The default is iterate over the available | ||
174 | # terminal types to find one that works. | ||
175 | # | ||
176 | # Examples of the occasions this may happen are when resolving patches which cannot | ||
177 | # be applied, to use the devshell or the kernel menuconfig | ||
178 | # | ||
179 | # Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none | ||
180 | # Note: currently, Konsole support only works for KDE 3.x due to the way | ||
181 | # newer Konsole versions behave | ||
182 | #OE_TERMINAL = "auto" | ||
183 | # By default disable interactive patch resolution (tasks will just fail instead): | ||
184 | PATCHRESOLVE = "noop" | ||
185 | |||
186 | # | ||
187 | # Disk Space Monitoring during the build | ||
188 | # | ||
189 | # Monitor the disk space during the build. If there is less that 1GB of space or less | ||
190 | # than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully | ||
191 | # shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort | ||
192 | # of the build. The reason for this is that running completely out of space can corrupt | ||
193 | # files and damages the build in ways which may not be easily recoverable. | ||
194 | # It's necesary to monitor /tmp, if there is no space left the build will fail | ||
195 | # with very exotic errors. | ||
196 | BB_DISKMON_DIRS = "\ | ||
197 | STOPTASKS,${TMPDIR},1G,100K \ | ||
198 | STOPTASKS,${DL_DIR},1G,100K \ | ||
199 | STOPTASKS,${SSTATE_DIR},1G,100K \ | ||
200 | STOPTASKS,/tmp,100M,100K \ | ||
201 | ABORT,${TMPDIR},100M,1K \ | ||
202 | ABORT,${DL_DIR},100M,1K \ | ||
203 | ABORT,${SSTATE_DIR},100M,1K \ | ||
204 | ABORT,/tmp,10M,1K" | ||
205 | |||
206 | # | ||
207 | # Shared-state files from other locations | ||
208 | # | ||
209 | # As mentioned above, shared state files are prebuilt cache data objects which can | ||
210 | # used to accelerate build time. This variable can be used to configure the system | ||
211 | # to search other mirror locations for these objects before it builds the data itself. | ||
212 | # | ||
213 | # This can be a filesystem directory, or a remote url such as http or ftp. These | ||
214 | # would contain the sstate-cache results from previous builds (possibly from other | ||
215 | # machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the | ||
216 | # cache locations to check for the shared objects. | ||
217 | # NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH | ||
218 | # at the end as shown in the examples below. This will be substituted with the | ||
219 | # correct path within the directory structure. | ||
220 | #SSTATE_MIRRORS ?= "\ | ||
221 | #file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \ | ||
222 | #file://.* file:///some/local/dir/sstate/PATH" | ||
223 | |||
224 | |||
225 | # | ||
226 | # Qemu configuration | ||
227 | # | ||
228 | # By default qemu will build with a builtin VNC server where graphical output can be | ||
229 | # seen. The two lines below enable the SDL backend too. By default libsdl-native will | ||
230 | # be built, if you want to use your host's libSDL instead of the minimal libsdl built | ||
231 | # by libsdl-native then uncomment the ASSUME_PROVIDED line below. | ||
232 | PACKAGECONFIG_append_pn-qemu-native = " sdl" | ||
233 | PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" | ||
234 | #ASSUME_PROVIDED += "libsdl-native" | ||
235 | |||
236 | # CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to | ||
237 | # track the version of this file when it was generated. This can safely be ignored if | ||
238 | # this doesn't mean anything to you. | ||
239 | CONF_VERSION = "1" | ||
240 | |||
241 | SKIP_META_VIRT_SANITY_CHECK = "1" | ||
242 | |||
243 | # Various packages dynamically add users and groups to the system at package | ||
244 | # install time. For programs that do not care what the uid/gid is of the | ||
245 | # resulting users/groups, the order of the install will determine the final | ||
246 | # uid/gid. This can lead to non-deterministic uid/gid values from one build | ||
247 | # to another. Use the following settings to specify that all user/group adds | ||
248 | # should be created based on a static passwd/group file. | ||
249 | # | ||
250 | # Note, if you enable or disable the useradd-staticids in a configured system, | ||
251 | # the TMPDIR may contain incorrect uid/gid values. Clearing the TMPDIR | ||
252 | # will correct this condition. | ||
253 | # | ||
254 | # By default the system looks in the BBPATH for files/passwd and files/group | ||
255 | # the default can be overriden by spefying USERADD_UID/GID_TABLES. | ||
256 | # | ||
257 | USERADDEXTENSION = "useradd-staticids" | ||
258 | USERADD_UID_TABLES = "files/passwd" | ||
259 | USERADD_GID_TABLES = "files/group" | ||
260 | # | ||
261 | # In order to prevent generating a system where a dynamicly assigned uid/gid | ||
262 | # can exist, you should enable the following setting. This will force the | ||
263 | # system to error out if the user/group name is not defined in the | ||
264 | # files/passwd or files/group (or specified replacements.) | ||
265 | # Unfortunately, setting the variable below breaks the build, so do not set it | ||
266 | # for now | ||
267 | # USERADD_ERROR_DYNAMIC = "1" | ||
diff --git a/conf/template.lx2160ardb/bblayers.conf.sample b/conf/template.lx2160ardb/bblayers.conf.sample new file mode 100755 index 0000000..b37080b --- /dev/null +++ b/conf/template.lx2160ardb/bblayers.conf.sample | |||
@@ -0,0 +1,29 @@ | |||
1 | # POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf | ||
2 | # changes incompatibly | ||
3 | POKY_BBLAYERS_CONF_VERSION = "2" | ||
4 | |||
5 | BBPATH = "${TOPDIR}" | ||
6 | BBFILES ?= "" | ||
7 | |||
8 | BBLAYERS ?= " \ | ||
9 | ##OEROOT##/meta \ | ||
10 | ##OEROOT##/meta-poky \ | ||
11 | ##OEROOT##/meta-freescale \ | ||
12 | ##OEROOT##/meta-nfv-access-bsp-common \ | ||
13 | ##OEROOT##/meta-nfv-access-bsp-arm \ | ||
14 | ##OEROOT##/meta-virtualization \ | ||
15 | ##OEROOT##/meta-enea-virtualization \ | ||
16 | ##OEROOT##/meta-nfv-access-common \ | ||
17 | ##OEROOT##/meta-el-nfv-access \ | ||
18 | ##OEROOT##/meta-openembedded/meta-oe \ | ||
19 | ##OEROOT##/meta-openembedded/meta-networking \ | ||
20 | ##OEROOT##/meta-openembedded/meta-filesystems \ | ||
21 | ##OEROOT##/meta-openembedded/meta-python \ | ||
22 | ##OEROOT##/meta-openembedded/meta-webserver \ | ||
23 | ##OEROOT##/meta-java \ | ||
24 | ##OEROOT##/meta-updater \ | ||
25 | ##OEROOT##/meta-openembedded/meta-perl \ | ||
26 | ##OEROOT##/meta-secure-core/meta \ | ||
27 | ##OEROOT##/meta-secure-core/meta-signing-key \ | ||
28 | ##OEROOT##/meta-enea-user-keys \ | ||
29 | " | ||
diff --git a/conf/template.lx2160ardb/conf-notes.txt b/conf/template.lx2160ardb/conf-notes.txt new file mode 100755 index 0000000..580c5c9 --- /dev/null +++ b/conf/template.lx2160ardb/conf-notes.txt | |||
@@ -0,0 +1,2 @@ | |||
1 | Common targets are: | ||
2 | enea-edge-runtime | ||
diff --git a/conf/template.lx2160ardb/local.conf.sample b/conf/template.lx2160ardb/local.conf.sample new file mode 100755 index 0000000..e951232 --- /dev/null +++ b/conf/template.lx2160ardb/local.conf.sample | |||
@@ -0,0 +1,267 @@ | |||
1 | # | ||
2 | # This file is your local configuration file and is where all local user settings | ||
3 | # are placed. The comments in this file give some guide to the options a new user | ||
4 | # to the system might want to change but pretty much any configuration option can | ||
5 | # be set in this file. More adventurous users can look at local.conf.extended | ||
6 | # which contains other examples of configuration which can be placed in this file | ||
7 | # but new users likely won't need any of them initially. | ||
8 | # | ||
9 | # Lines starting with the '#' character are commented out and in some cases the | ||
10 | # default values are provided as comments to show people example syntax. Enabling | ||
11 | # the option is a question of removing the # character and making any change to the | ||
12 | # variable as required. | ||
13 | |||
14 | # | ||
15 | # Machine Selection | ||
16 | # | ||
17 | # You need to select a specific machine to target the build with. There are a selection | ||
18 | # of emulated machines available which can boot and run in the QEMU emulator: | ||
19 | # | ||
20 | #MACHINE ?= "qemuarm" | ||
21 | #MACHINE ?= "qemuarm64" | ||
22 | #MACHINE ?= "qemumips" | ||
23 | #MACHINE ?= "qemumips64" | ||
24 | #MACHINE ?= "qemuppc" | ||
25 | #MACHINE ?= "qemux86" | ||
26 | #MACHINE ?= "qemux86-64" | ||
27 | # | ||
28 | # There are also the following hardware board target machines included for | ||
29 | # demonstration purposes: | ||
30 | # | ||
31 | #MACHINE ?= "beaglebone" | ||
32 | #MACHINE ?= "genericx86" | ||
33 | #MACHINE ?= "genericx86-64" | ||
34 | #MACHINE ?= "mpc8315e-rdb" | ||
35 | #MACHINE ?= "edgerouter" | ||
36 | # | ||
37 | # This sets the default machine to be qemux86 if no other machine is selected: | ||
38 | MACHINE ?= "lx2160ardb" | ||
39 | |||
40 | |||
41 | # | ||
42 | # Where to place downloads | ||
43 | # | ||
44 | # During a first build the system will download many different source code tarballs | ||
45 | # from various upstream projects. This can take a while, particularly if your network | ||
46 | # connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you | ||
47 | # can preserve this directory to speed up this part of subsequent builds. This directory | ||
48 | # is safe to share between multiple builds on the same machine too. | ||
49 | # | ||
50 | # The default is a downloads directory under TOPDIR which is the build directory. | ||
51 | # | ||
52 | #DL_DIR ?= "${TOPDIR}/downloads" | ||
53 | |||
54 | # | ||
55 | # Where to place shared-state files | ||
56 | # | ||
57 | # BitBake has the capability to accelerate builds based on previously built output. | ||
58 | # This is done using "shared state" files which can be thought of as cache objects | ||
59 | # and this option determines where those files are placed. | ||
60 | # | ||
61 | # You can wipe out TMPDIR leaving this directory intact and the build would regenerate | ||
62 | # from these files if no changes were made to the configuration. If changes were made | ||
63 | # to the configuration, only shared state files where the state was still valid would | ||
64 | # be used (done using checksums). | ||
65 | # | ||
66 | # The default is a sstate-cache directory under TOPDIR. | ||
67 | # | ||
68 | #SSTATE_DIR ?= "${TOPDIR}/sstate-cache" | ||
69 | |||
70 | # | ||
71 | # Where to place the build output | ||
72 | # | ||
73 | # This option specifies where the bulk of the building work should be done and | ||
74 | # where BitBake should place its temporary files and output. Keep in mind that | ||
75 | # this includes the extraction and compilation of many applications and the toolchain | ||
76 | # which can use Gigabytes of hard disk space. | ||
77 | # | ||
78 | # The default is a tmp directory under TOPDIR. | ||
79 | # | ||
80 | #TMPDIR = "${TOPDIR}/tmp" | ||
81 | |||
82 | # | ||
83 | # Default policy config | ||
84 | # | ||
85 | # The distribution setting controls which policy settings are used as defaults. | ||
86 | # The default value is fine for general Yocto project use, at least initially. | ||
87 | # Ultimately when creating custom policy, people will likely end up subclassing | ||
88 | # these defaults. | ||
89 | # | ||
90 | DISTRO ?= "eneanfvaccess" | ||
91 | # As an example of a subclass there is a "bleeding" edge policy configuration | ||
92 | # where many versions are set to the absolute latest code from the upstream | ||
93 | # source control systems. This is just mentioned here as an example, its not | ||
94 | # useful to most new users. | ||
95 | # DISTRO ?= "poky-bleeding" | ||
96 | |||
97 | # | ||
98 | # Package Management configuration | ||
99 | # | ||
100 | # This variable lists which packaging formats to enable. Multiple package backends | ||
101 | # can be enabled at once and the first item listed in the variable will be used | ||
102 | # to generate the root filesystems. | ||
103 | # Options are: | ||
104 | # - 'package_deb' for debian style deb files | ||
105 | # - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager) | ||
106 | # - 'package_rpm' for rpm style packages | ||
107 | # E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk" | ||
108 | # We default to rpm: | ||
109 | PACKAGE_CLASSES ?= "package_deb" | ||
110 | |||
111 | # | ||
112 | # SDK/ADT target architecture | ||
113 | # | ||
114 | # This variable specifies the architecture to build SDK/ADT items for and means | ||
115 | # you can build the SDK packages for architectures other than the machine you are | ||
116 | # running the build on (i.e. building i686 packages on an x86_64 host). | ||
117 | # Supported values are i686 and x86_64 | ||
118 | #SDKMACHINE ?= "i686" | ||
119 | |||
120 | # | ||
121 | # Extra image configuration defaults | ||
122 | # | ||
123 | # The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated | ||
124 | # images. Some of these options are added to certain image types automatically. The | ||
125 | # variable can contain the following options: | ||
126 | # "dbg-pkgs" - add -dbg packages for all installed packages | ||
127 | # (adds symbol information for debugging/profiling) | ||
128 | # "dev-pkgs" - add -dev packages for all installed packages | ||
129 | # (useful if you want to develop against libs in the image) | ||
130 | # "ptest-pkgs" - add -ptest packages for all ptest-enabled packages | ||
131 | # (useful if you want to run the package test suites) | ||
132 | # "tools-sdk" - add development tools (gcc, make, pkgconfig etc.) | ||
133 | # "tools-debug" - add debugging tools (gdb, strace) | ||
134 | # "eclipse-debug" - add Eclipse remote debugging support | ||
135 | # "tools-profile" - add profiling tools (oprofile, lttng, valgrind) | ||
136 | # "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.) | ||
137 | # "debug-tweaks" - make an image suitable for development | ||
138 | # e.g. ssh root access has a blank password | ||
139 | # There are other application targets that can be used here too, see | ||
140 | # meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details. | ||
141 | # We default to enabling the debugging tweaks. | ||
142 | EXTRA_IMAGE_FEATURES = "debug-tweaks" | ||
143 | |||
144 | # | ||
145 | # Additional image features | ||
146 | # | ||
147 | # The following is a list of additional classes to use when building images which | ||
148 | # enable extra features. Some available options which can be included in this variable | ||
149 | # are: | ||
150 | # - 'buildstats' collect build statistics | ||
151 | # - 'image-mklibs' to reduce shared library files size for an image | ||
152 | # - 'image-prelink' in order to prelink the filesystem image | ||
153 | # - 'image-swab' to perform host system intrusion detection | ||
154 | # NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink | ||
155 | # NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended | ||
156 | # NOTE: image-prelink is removed by sota.conf.inc | ||
157 | USER_CLASSES ?= "buildstats image-mklibs image-prelink" | ||
158 | |||
159 | # | ||
160 | # Runtime testing of images | ||
161 | # | ||
162 | # The build system can test booting virtual machine images under qemu (an emulator) | ||
163 | # after any root filesystems are created and run tests against those images. To | ||
164 | # enable this uncomment this line. See classes/testimage(-auto).bbclass for | ||
165 | # further details. | ||
166 | #TEST_IMAGE = "1" | ||
167 | # | ||
168 | # Interactive shell configuration | ||
169 | # | ||
170 | # Under certain circumstances the system may need input from you and to do this it | ||
171 | # can launch an interactive shell. It needs to do this since the build is | ||
172 | # multithreaded and needs to be able to handle the case where more than one parallel | ||
173 | # process may require the user's attention. The default is iterate over the available | ||
174 | # terminal types to find one that works. | ||
175 | # | ||
176 | # Examples of the occasions this may happen are when resolving patches which cannot | ||
177 | # be applied, to use the devshell or the kernel menuconfig | ||
178 | # | ||
179 | # Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none | ||
180 | # Note: currently, Konsole support only works for KDE 3.x due to the way | ||
181 | # newer Konsole versions behave | ||
182 | #OE_TERMINAL = "auto" | ||
183 | # By default disable interactive patch resolution (tasks will just fail instead): | ||
184 | PATCHRESOLVE = "noop" | ||
185 | |||
186 | # | ||
187 | # Disk Space Monitoring during the build | ||
188 | # | ||
189 | # Monitor the disk space during the build. If there is less that 1GB of space or less | ||
190 | # than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully | ||
191 | # shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort | ||
192 | # of the build. The reason for this is that running completely out of space can corrupt | ||
193 | # files and damages the build in ways which may not be easily recoverable. | ||
194 | # It's necesary to monitor /tmp, if there is no space left the build will fail | ||
195 | # with very exotic errors. | ||
196 | BB_DISKMON_DIRS = "\ | ||
197 | STOPTASKS,${TMPDIR},1G,100K \ | ||
198 | STOPTASKS,${DL_DIR},1G,100K \ | ||
199 | STOPTASKS,${SSTATE_DIR},1G,100K \ | ||
200 | STOPTASKS,/tmp,100M,100K \ | ||
201 | ABORT,${TMPDIR},100M,1K \ | ||
202 | ABORT,${DL_DIR},100M,1K \ | ||
203 | ABORT,${SSTATE_DIR},100M,1K \ | ||
204 | ABORT,/tmp,10M,1K" | ||
205 | |||
206 | # | ||
207 | # Shared-state files from other locations | ||
208 | # | ||
209 | # As mentioned above, shared state files are prebuilt cache data objects which can | ||
210 | # used to accelerate build time. This variable can be used to configure the system | ||
211 | # to search other mirror locations for these objects before it builds the data itself. | ||
212 | # | ||
213 | # This can be a filesystem directory, or a remote url such as http or ftp. These | ||
214 | # would contain the sstate-cache results from previous builds (possibly from other | ||
215 | # machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the | ||
216 | # cache locations to check for the shared objects. | ||
217 | # NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH | ||
218 | # at the end as shown in the examples below. This will be substituted with the | ||
219 | # correct path within the directory structure. | ||
220 | #SSTATE_MIRRORS ?= "\ | ||
221 | #file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \ | ||
222 | #file://.* file:///some/local/dir/sstate/PATH" | ||
223 | |||
224 | |||
225 | # | ||
226 | # Qemu configuration | ||
227 | # | ||
228 | # By default qemu will build with a builtin VNC server where graphical output can be | ||
229 | # seen. The two lines below enable the SDL backend too. By default libsdl-native will | ||
230 | # be built, if you want to use your host's libSDL instead of the minimal libsdl built | ||
231 | # by libsdl-native then uncomment the ASSUME_PROVIDED line below. | ||
232 | PACKAGECONFIG_append_pn-qemu-native = " sdl" | ||
233 | PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl" | ||
234 | #ASSUME_PROVIDED += "libsdl-native" | ||
235 | |||
236 | # CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to | ||
237 | # track the version of this file when it was generated. This can safely be ignored if | ||
238 | # this doesn't mean anything to you. | ||
239 | CONF_VERSION = "1" | ||
240 | |||
241 | SKIP_META_VIRT_SANITY_CHECK = "1" | ||
242 | |||
243 | # Various packages dynamically add users and groups to the system at package | ||
244 | # install time. For programs that do not care what the uid/gid is of the | ||
245 | # resulting users/groups, the order of the install will determine the final | ||
246 | # uid/gid. This can lead to non-deterministic uid/gid values from one build | ||
247 | # to another. Use the following settings to specify that all user/group adds | ||
248 | # should be created based on a static passwd/group file. | ||
249 | # | ||
250 | # Note, if you enable or disable the useradd-staticids in a configured system, | ||
251 | # the TMPDIR may contain incorrect uid/gid values. Clearing the TMPDIR | ||
252 | # will correct this condition. | ||
253 | # | ||
254 | # By default the system looks in the BBPATH for files/passwd and files/group | ||
255 | # the default can be overriden by spefying USERADD_UID/GID_TABLES. | ||
256 | # | ||
257 | USERADDEXTENSION = "useradd-staticids" | ||
258 | USERADD_UID_TABLES = "files/passwd" | ||
259 | USERADD_GID_TABLES = "files/group" | ||
260 | # | ||
261 | # In order to prevent generating a system where a dynamicly assigned uid/gid | ||
262 | # can exist, you should enable the following setting. This will force the | ||
263 | # system to error out if the user/group name is not defined in the | ||
264 | # files/passwd or files/group (or specified replacements.) | ||
265 | # Unfortunately, setting the variable below breaks the build, so do not set it | ||
266 | # for now | ||
267 | # USERADD_ERROR_DYNAMIC = "1" | ||
diff --git a/images/core-image-minimal-initramfs.bbappend b/images/core-image-minimal-initramfs.bbappend index 88dd198..6bfc63c 100644 --- a/images/core-image-minimal-initramfs.bbappend +++ b/images/core-image-minimal-initramfs.bbappend | |||
@@ -11,6 +11,11 @@ PACKAGE_INSTALL_remove = "run-postinsts" | |||
11 | 11 | ||
12 | PACKAGE_EXCLUDE_x86-64_sota += "grub-common-extras" | 12 | PACKAGE_EXCLUDE_x86-64_sota += "grub-common-extras" |
13 | 13 | ||
14 | # Use initramfs-framework instead of initramfs-live* | ||
15 | PACKAGE_INSTALL_remove_aarch64 = "initramfs-live-boot initramfs-live-install initramfs-live-install-efi" | ||
16 | PACKAGE_INSTALL_append_aarch64 = " initramfs-framework-base initramfs-module-udev initramfs-module-setup-live initramfs-module-install initramfs-module-install-efi" | ||
17 | |||
18 | |||
14 | create_enea_symlink() { | 19 | create_enea_symlink() { |
15 | # enea image used in bare metal installation | 20 | # enea image used in bare metal installation |
16 | cd ${DEPLOY_DIR_IMAGE} | 21 | cd ${DEPLOY_DIR_IMAGE} |
diff --git a/images/enea-edge-host-common.inc b/images/enea-edge-host-common.inc index 3df6cb9..11a62e0 100644 --- a/images/enea-edge-host-common.inc +++ b/images/enea-edge-host-common.inc | |||
@@ -23,16 +23,25 @@ LABELS_LIVE = "installer live-boot" | |||
23 | APPEND_x86-64 = "quiet console=tty0 console=ttyS0,115200" | 23 | APPEND_x86-64 = "quiet console=tty0 console=ttyS0,115200" |
24 | SYSLINUX_DEFAULT_CONSOLE_x86-64 = "console=ttyS0,115200" | 24 | SYSLINUX_DEFAULT_CONSOLE_x86-64 = "console=ttyS0,115200" |
25 | 25 | ||
26 | APPEND_aarch64 = "quiet console=tty0 console=ttyAMA0,115200" | ||
27 | |||
26 | # Skip menu and boot installer immediately | 28 | # Skip menu and boot installer immediately |
27 | GRUB_TIMEOUT_x86-64 = "0" | 29 | GRUB_TIMEOUT_x86-64 = "0" |
28 | AUTO_SYSLINUXMENU_x86-64 = "0" | 30 | AUTO_SYSLINUXMENU_x86-64 = "0" |
29 | 31 | ||
32 | GRUB_TIMEOUT_aarch64 = "5" | ||
33 | |||
30 | # If building with sota enabled, build the otaimg before the hddimg, because | 34 | # If building with sota enabled, build the otaimg before the hddimg, because |
31 | # the hddimg needs it as a base image | 35 | # the hddimg needs it as a base image |
32 | python __anonymous() { | 36 | python __anonymous() { |
33 | ## ENEA_start ## | 37 | ## ENEA_start ## |
34 | if bb.utils.contains('DISTRO_FEATURES', 'sota', True, False, d): | 38 | if bb.utils.contains('DISTRO_FEATURES', 'sota', True, False, d): |
35 | d.appendVarFlag("do_bootimg", "depends", " %s:do_image_ota_ext4" % d.getVar("IMAGE_BASENAME", True)) | 39 | d.appendVarFlag("do_bootimg", "depends", " %s:do_image_ota_ext4" % d.getVar("IMAGE_BASENAME", True)) |
40 | if bb.utils.contains('TARGET_ARCH', 'aarch64', True, False, d): | ||
41 | bootimg_flag = d.getVarFlag("do_bootimg", "depends", expand=False) | ||
42 | bootimg_flag = bootimg_flag.replace('syslinux:do_populate_sysroot','') | ||
43 | bootimg_flag = bootimg_flag.replace('syslinux-native:do_populate_sysroot','') | ||
44 | d.setVarFlag("do_bootimg", "depends", bootimg_flag) | ||
36 | ## ENEA_end ## | 45 | ## ENEA_end ## |
37 | } | 46 | } |
38 | 47 | ||
diff --git a/images/enea-edge-runtime.bb b/images/enea-edge-runtime.bb index 5071619..057b743 100644 --- a/images/enea-edge-runtime.bb +++ b/images/enea-edge-runtime.bb | |||
@@ -1,7 +1,16 @@ | |||
1 | DESCRIPTION = "Image for the host side of the Enea Edge Runtime with ODM and NETCONF Edgelink customizations" | 1 | DESCRIPTION = "Image for the host side of the Enea Edge Runtime with ODM and NETCONF Edgelink customizations" |
2 | 2 | ||
3 | IMAGE_FSTYPES_remove_aarch64 = "iso" | ||
4 | |||
3 | require images/enea-edge-host-common.inc | 5 | require images/enea-edge-host-common.inc |
4 | 6 | ||
5 | IMAGE_INSTALL += " \ | 7 | IMAGE_INSTALL += " \ |
6 | element-vcpe \ | 8 | element-vcpe \ |
7 | " | 9 | " |
10 | |||
11 | # On AARCH64, the OVMF firmware images are required by KVM, but these images are not | ||
12 | # pulled explicitly by other recipes. | ||
13 | IMAGE_INSTALL_append_aarch64 = "\ | ||
14 | ovmf \ | ||
15 | " | ||
16 | |||
diff --git a/images/enea-edge-vnf.bb b/images/enea-edge-vnf.bb index 5d2365b..6646e1a 100644 --- a/images/enea-edge-vnf.bb +++ b/images/enea-edge-vnf.bb | |||
@@ -4,6 +4,7 @@ require images/enea-edge-common.inc | |||
4 | 4 | ||
5 | IMAGE_FSTYPES += "wic.qcow2" | 5 | IMAGE_FSTYPES += "wic.qcow2" |
6 | WKS_FILE = "enea-edge-vnf-qemux86-64.wks" | 6 | WKS_FILE = "enea-edge-vnf-qemux86-64.wks" |
7 | WKS_FILE_aarch64 = "enea-edge-vnf-qemuarm64.wks" | ||
7 | 8 | ||
8 | CLOUDINITPKGS = "cloud-init util-linux-blkid" | 9 | CLOUDINITPKGS = "cloud-init util-linux-blkid" |
9 | 10 | ||