**** BEGIN LOGGING AT Sat May 15 02:59:58 2021 May 15 08:28:41 yes there's i'm having quite a difficult first steps with yocto, except reading over and over the manual, are there some guided tutorials or places to find help? May 15 12:31:26 is it correct to have a release.bb file with only require statements and no image_install ? May 15 12:31:52 doing so i get an error message `release.bb: Variable RDEPENDS is set as not being package specific, please fix this.` May 15 12:35:46 @peak: can you throw your release.bb e.g. to pastebin so we an see it? May 15 12:36:35 @peak: the error message says: Variable RDEPENDS is set as not being package specific, please fix this. May 15 12:36:42 @peak do you have RDEPEND in there? May 15 12:36:48 i don't May 15 12:37:09 so I guess you include something which does not build? May 15 12:37:28 https://dpaste.com/DEUYZE45X May 15 12:37:44 i'm just starting with yocto sorry if doing that makes no sense May 15 12:38:04 i thought i was going to create the .bb files for all the things i need and require them from here May 15 12:38:54 from your paste I guess you want an image recipe May 15 12:39:15 since the first thing you do is to include core-image-minimal.bb May 15 12:39:24 i'm following this https://hub.mender.io/t/raspberry-pi-4-model-b/889/12 May 15 12:39:44 and that https://lancesimms.com/RaspberryPi/HackingRaspberryPi4WithYocto_Part6.html May 15 12:40:08 to create a custom image for raspberry May 15 12:40:20 First I would rename your recipe to release-image.bb or so (not an error, just best practice" May 15 12:40:47 what else would i want to release ? May 15 12:40:56 Well ;) May 15 12:41:11 It's not a "normal" recipe, which builds e.g. bash May 15 12:41:52 But it's an "image" recipe which contains the recipes/packages you want in your image e.g. the root file system May 15 12:41:58 You might want to release bash ;) May 15 12:42:05 i see May 15 12:42:40 Can you comment the 2 lines after the inclusion of core-image-minimal? May 15 12:42:48 And check if this builds? May 15 12:42:56 It should build a core-image-minimal. May 15 12:43:01 it's a terminology adaptation issue i guess, as a release was an image until now, and now a release is just a build of a recipe right? so we release an image May 15 12:43:46 it does start the build May 15 12:44:17 OK May 15 12:44:19 https://dpaste.com/HH5KYXK3P May 15 12:44:26 So let's have a look what you include May 15 12:44:44 https://dpaste.com/57W62B6LK May 15 12:46:11 Assuming the "release-image" builds, can you just include cosmos-ssh.bb and try again? May 15 12:46:32 this should add to it some openssh server May 15 12:46:46 build starts with only ssh May 15 12:48:10 OK May 15 12:48:32 This means most likely when you add the 3rd include we'll see the error ;) May 15 12:49:22 so the same error as before May 15 12:49:43 it complains about RDEPENDS, RRECOMMENDS May 15 12:50:39 adding `RDEPENDS_${PN} = ""` to user does not help May 15 12:51:17 sure May 15 12:51:22 is set as not being package specific, please fix this. May 15 12:51:37 so RDEPENDS must be set somewhere May 15 12:51:42 remove the third include May 15 12:52:24 What you want to do, I guess, is to add additional package to core-image-minmal May 15 12:53:35 So what I would do is also to remove your second include and instead add to your release-image.bb this: IMAGE_INSTALL += "openssh" May 15 12:54:05 your 3rd include, as far as I can see tries to create some user May 15 12:54:36 throw this into a separate directory and try to build it "alone" May 15 12:55:24 if that builds, that just add it to your release-image.bb IMAGE_INSTALL += "openssh however_you_name_it" May 15 12:55:38 what are the guidelines of when to separate in a new .bb file, new recipe subdir, new recipe dir? May 15 12:56:14 do you have your own layer? May 15 12:56:46 In this layer is a layer.conf where you can see in which directories bitbake will search for .bb and .bbappend files May 15 12:56:49 yes, ./sources/meta-cosmos/recipes-cosmos/cosmos/ May 15 12:57:12 under meta-cosmos should be a conf/layer.conf May 15 12:58:15 and you could mkdir -p meta-cosmos/recipes-cosmos/cosmos-user May 15 12:58:27 and throw your recipe in there May 15 12:58:36 (i'm eating and implementing your advice) May 15 12:58:40 hehe ;) May 15 12:59:35 thanks for helping, yocto is quite a beast to start May 15 13:00:44 you could also look here: http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta-skeleton/recipes-skeleton/useradd May 15 13:01:34 this is what i've started from May 15 13:01:39 only removed and adapted May 15 13:02:30 Just don't include it like you did in your image recipe May 15 13:02:44 adapt it and fix the RDEPENDS error May 15 13:02:47 one .bb == one package ? May 15 13:02:53 well ;) May 15 13:03:10 typically it's more than one, since it's also -dev -dbg and so on May 15 13:03:44 if you build the useradd.bb example stand alone you will see that there are various packages built May 15 13:03:57 so meta-cosmos/recipes-cosmos/user/user.bb ? May 15 13:04:05 useradd* May 15 13:04:38 something like this May 15 13:05:01 you could also add the version user_1.0.bb May 15 13:05:43 question: can the distro i'm creating follow the release schedule of another distro or do i have to build and release everything ? May 15 13:05:58 I don't get the question May 15 13:06:20 What you build it the image you flash. May 15 13:06:31 is the May 15 13:06:57 then e.g. fedora or debian repos could be enabled for regular os updates ? May 15 13:07:23 With YP/OE you build your own custom distro. May 15 13:07:33 from sources May 15 13:08:45 so you will provide the "package feed" May 15 13:08:49 i'm wondering if that is actually what i need, maybe you can advise May 15 13:09:00 Tell me what you need ;) May 15 13:09:17 basically i'm building an os for a 3d printer that we are releasing to market May 15 13:09:33 Cool I did this with Yocto years ago May 15 13:10:11 my previous process was to flash raspios and use ansible to prepare the os which is essentially OS configs, a few standard packages and mostly containers May 15 13:10:31 then dd the whole thing and boom here's your 15G img May 15 13:10:40 OK May 15 13:10:40 then i tried to make it a little better May 15 13:11:01 by rsyncing the contents of the card and making it auto expand at start May 15 13:11:14 but it came with its set of problems May 15 13:11:27 and i was feeling very dirty for working this way May 15 13:11:38 so, if I understand it correctly you are more after a software upgrade solution as well ;) May 15 13:11:51 and there was the mender side of the story, that enables OTA updates and dual partition May 15 13:12:06 There are various solutions out there May 15 13:12:16 so i've checked mender and it uses yocto to build the updates it seems May 15 13:12:22 Not only May 15 13:13:01 Mender, swupdate, rauc,... are also integrated with Yocto, but should also work with other Linux distros. May 15 13:13:55 My first question would be how hard is it to build all your stuff with YP/OE? May 15 13:14:16 except the learning curve, not that hard to build May 15 13:14:25 but the maintenance scares me May 15 13:15:05 I would be more scared by open source license compliance lawsuits in your current approach ;) May 15 13:15:34 What is your problem with maintenance? May 15 13:15:35 what could be an issue ? May 15 13:15:45 about legal May 15 13:15:49 I buy your printer, or you send me one ;) May 15 13:16:26 do you know the tablet reMarkable ? May 15 13:16:28 Now I want all the licenses texts and components of the stuff in there. May 15 13:16:51 And afterwards the sources of those components where you need to dish them out. May 15 13:17:00 How you provide those? May 15 13:17:08 you mean that if i don't build the source it's going to be hard to track all licences ? May 15 13:17:28 Exactly, except if you can show me how to do it otherwise May 15 13:18:24 If you don't build from sources I would even go as far as telling you that you don't know what's inside ;) May 15 13:18:30 your 15 Gig image. May 15 13:18:42 that's a valid point and i did not really think about it, i thought that i could script something to get the list of licences May 15 13:18:42 If you have containers as well in there, it's even getting worse ;) May 15 13:18:55 Good luck with your script ;) May 15 13:19:08 hahah May 15 13:19:27 I play around with containers built by Yocto. May 15 13:19:44 And did some comparison to e.g. "classic" docker containers ;)( May 15 13:19:47 That's fun May 15 13:20:00 ok so about what scares me May 15 13:20:06 Size, installed packages, ... May 15 13:20:12 is that you tell me to put the version in the useradd filename May 15 13:20:46 if i need to be the one that checks every package of the os everyday for vulns or updates i won't do my job May 15 13:20:47 if you look at all the recipes, you will see that they have versions May 15 13:20:59 Ah I see ;) May 15 13:21:23 You mean you make daily releases now which all your customers need? May 15 13:22:00 currently we have only a handful of customers because mostly the os is not stable enough, hence mender May 15 13:22:24 First of all I would say, that you will have less packages if you build with YP/OE than what you have now in your Linux distro. May 15 13:22:29 we make weekly releases of our own software, and our current builds update themselves with debian repos May 15 13:22:40 (which is not ideal i recognize) May 15 13:22:58 Then, there is a bbclass, which can check against known vulnerabilities. May 15 13:23:26 Then look e.g. at the branches in poky and on the mailing lists. May 15 13:23:47 You are not alone. Others might also want to get those fixes ;) May 15 13:24:37 http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=dunfell search for CVE May 15 13:24:57 http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/ search for CVE May 15 13:25:54 There are some other build systems which can also do debian builds for you and there are approaches to build debian sources with YP/OE. May 15 13:26:03 But I am not sure that this is what I would want. May 15 13:26:29 i initially started in the fedora ecosystem May 15 13:26:47 coreos and ostree were attracting May 15 13:26:49 Hehe - "bring out the dead" May 15 13:27:03 but the build tools are not ready May 15 13:27:06 ostree is integrated with YP May 15 13:27:14 that's good to know May 15 13:27:14 Automotive grade Linux e.g. uses it May 15 13:27:32 so for instance May 15 13:27:54 when i'm doing += "openssh" May 15 13:28:07 i'm calling a recipe, in some layer May 15 13:28:27 which specifies a commit or version and hash to build right ? May 15 13:28:32 hehe ;) May 15 13:29:04 http://docs.yoctoproject.org/ May 15 13:29:10 hahaha May 15 13:29:16 thanks, i guess May 15 13:29:26 https://docs.yoctoproject.org/singleindex.html#term-IMAGE_INSTALL May 15 13:30:39 https://docs.yoctoproject.org/bitbake/bitbake-user-manual/bitbake-user-manual-metadata.html#appending-and-prepending-with-spaces May 15 13:30:43 it took more than 30s for my browser to input "image install" in the search field lol May 15 13:31:06 The answer to your question is: You need to read 2 manuals: the mega manual and the bitbake manual May 15 13:32:22 IMAGE_INSTALL is one variable where you specify the packages to install into an image. May 15 13:32:49 and += is bitbake syntax add with spaces May 15 13:32:55 i will read these, but maybe my question was a bit too broad May 15 13:33:17 when openssh needs an update, what should i do ? May 15 13:33:26 update the openssh recipe May 15 13:33:32 with git ? May 15 13:34:25 wait May 15 13:34:34 http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=8efb104e7b80c38b764b57efa8cbe15259762e33 May 15 13:34:43 your meta layers are just meta data May 15 13:34:59 a recipe tells what to get from where and how to build it May 15 13:35:08 Those are basics ;) May 15 13:35:12 yeah i get that May 15 13:35:29 but will i update the recipe by doing git pull May 15 13:35:44 So? You update the meta data and a new version is being built May 15 13:36:10 If we are talking about openssh and you got it from poky and there was an update yet May 15 13:36:13 yes May 15 13:36:18 ok May 15 13:36:48 so we could consider that poky is a kind of os-maintainer-community-maintained distro ? May 15 13:37:13 it's the reference implementation of the yocto project May 15 13:38:16 so as a user of poky, like all yocto os maintainers, i will use the package versions that me and other poky users push to the poky repo May 15 13:38:35 kind of May 15 13:38:48 you typically pick a specific version/branch May 15 13:39:13 are there some LTS versions of poky ? May 15 13:39:22 dunfell May 15 13:39:51 Please read! I also did not wake up one day and know all this stuff. May 15 13:40:06 It's all documented pretty well. May 15 13:40:27 sure, i will read, i'm just trying to wrap my head around the overview to be sure this is what i need before investing the time May 15 13:41:00 Sure - this is called "consulting" on my end ;) May 15 13:41:16 ha, sorry May 15 13:41:45 I mean you don't want to spend time, but it's fine if I do? May 15 13:43:46 of course not. May 15 13:44:41 thanks for your help and time May 15 13:45:17 So I suggest you read first and if you don't want I am sure various people here, including me are happy to help as well with training and consulting. May 15 18:23:03 Does VOLATILE_LOG_DIR = "yes" takes up more RAM? May 15 18:27:50 (given yet another part of the tree is a tmpfs (?), I assume that takes more RAM, right?) May 15 20:09:03 @v2d: https://docs.yoctoproject.org/singleindex.html#term-VOLATILE_LOG_DIR May 15 20:10:12 @v2d: so I would say yes, it takes more RAM, but if you log to flash (may writes) it will kill it sooner ;) May 15 20:24:16 RobertBerger: yep that's the thing. Also VOLATILE_LOG_DIR = "yes" (which is the default) fails to start containers using it, because "/var/log/journal" doesn't exist within the container. I think I must go for VOLATILE_LOG_DIR = "no" and a well configured journald to limit writes somehow May 15 20:59:53 @v2d: which containers do you want to run? May 15 21:00:17 docker? podman? May 15 21:01:11 for those I typically create a btrfs partition May 15 21:01:36 RobertBerger: systemd-nspawn May 15 21:01:41 OK May 15 21:01:53 I didn't play with those, but let me try to understand something May 15 21:02:16 Are we talking about the rootfs in the container or the rootfs which hosts the container engine? May 15 21:04:19 @vd2: how do you create the rootfs which should be "in the container"? May 15 21:04:29 sorry v2d May 15 21:09:05 @v2d your problems smells like the rootfs "in the container" May 15 21:10:16 @v2d: and this might be solution to your problem it's what I think: https://gitlab.com/meta-layers/meta-container-ex-compact/-/blob/docker-only/recipes-core/images/app-container-image.bb May 15 21:12:33 RobertBerger: with VOLATILE_LOG_DIR = "yes", the container image being build has no /var/log/journal directory, which causes systemd-nspawn to fail May 15 21:13:09 RobertBerger: but since the system is limited in RAM, I'd like to minimize the tmpfs binds May 15 23:04:27 I'm trying to add overlayfs to the linux-yocto kernel so I've created in my layer recipes-kernel/linux/linux-yocto_%.bbappend with the KERNEL_FEATURES_append howver after adding that the kernel isn't recompiled, looking at "bitbake-layers show-appends" it shows the bbappend but it says "linux-yocto_5.4.bb (skipped):" what could be the problem? May 15 23:08:57 alex88: what's your preferred kernel provider and version settings ? When you do a bitbake virtual/kernel, what kernel recipe is used ? May 15 23:13:29 zeddii, let me look into that, I don't have any settings set for to kernel at the moment, our custom image inherits core-image ad we only add some packages May 15 23:13:59 oh after deleting tmp I saw it's using linux-raspberrypi os that's the reason, I'll run bitbake virtual/kernel after it finishes May 15 23:26:42 that's all you need to know. you need to bbappend that recipe. May 15 23:27:03 and IIRC it does handle fragments using the core stuff, so it should work. May 15 23:31:17 linux-raspberrypi does use full yocto kernel tooling so what you did for linux-yocto just do it form linux-raspberrypi via a bbappend and you should be good May 16 00:24:41 ok thanks a lot zeddii khem! looks like it's not possible to bbappend virtual packages so I"ll just bbappend to both May 16 02:38:26 right bbappends are specific to recipes **** ENDING LOGGING AT Sun May 16 03:00:13 2021