6 ms·
I looked into switching to yocto a while back for a rpi project I work on. However, one thing that put me off is the end user's inability to install regular deb
by kingosticks 8y ago
I looked into switching to yocto a while back for a rpi project I work on. However, one thing that put me off is the end user's inability to install regular debian (raspbian) packages as they will inevitably expect to. But I think that people have used yocto as a kind of docker hypervisor, the openhab project used to do something like that before moving to HassOS. Does anyone know if you can include a minimal raspbian-based docker image in your yocto system which users could then apt-get install whatever extra packages they want? Does that make sense?
- vmbaillie 8y agoNot tried this myself but this is probably what you are looking for http://layers.openembedded.org/layerindex/branch/master/layer/meta-debian/ http://layers.openembedded.org/layerindex/branch/master/laye... Even without meta-debian, you can configure yocto to use the apt package management tools, and then you can point this at the relevant repositories. Read the manual for more information.
- kingosticks 8y agoThanks for that. I'm not sure I understand yet if meta-raspberrypi and meta-debian can be used together, I'd have thought they are both at the same layer and so couldn't be. And it seems to be based on Jessie. I did read about how to add APT by specifying: CORE_IMAGE_EXTRA_INSTALL += "apt" but how on earth does it know what you've 'baked' into your recipe? Otherwise surely it'd basically install the system again when handling the user's package's dependencies. Wouldn't it? Perhaps https://community.nxp.com/thread/325384#comment-486697 https://community.nxp.com/thread/325384#comment-486697 is the answer, which sounds like a bit of work. I also found this which looks kind of interesting: https://elinux.org/images/c/c6/Smart_r002.pdf https://elinux.org/images/c/c6/Smart_r002.pdf and https://community.nxp.com/docs/DOC-328199 https://community.nxp.com/docs/DOC-328199.
- huling0 8y agoI recently ran into that issue - I have a nice fine-tuned yocto image and now a customer wants to "log in via ssh and install a custom raspbian package". I was thinking of the docker solution as well.
- v_lisivka 8y ago"We have small and fine-tuned ghetto, but customers don't want that. What to do?" I have similar problem: we have consumer device on top of imx6. I used iMX6 SoloLite evaluation board kit (1GB of memory) with Fedora for arm as development prototype. For me, installing a package is not a problem at all: "dnf install package". I planed to use Raspbian or Fedberry on actual device, but our management blindly switched to Yocto, without comparing of alternatives. To install package on Yocto, we need to create our own recipe in our own layer,then rebuild Yocto, fix bugs and repeat, and then deliver update. We spent man-year to achieve same result as we already had with Fedora. We seriously lag behind schedule because two developers (and two consultants) are working on developing of our own custom OS instead of working on our application. Moreover, instead of single system for development/testing and production (Fedora or Debian on developer workstation, in Docker for CI, on actual device) we now have mix of two systems. I created configuration script with about fifty options to be able to compile for host and for Yocto at same time (including workaround for number of bugs in Yocto). Enormous development time was sink into ground because of this schizophrenia.
- zubairlk 8y agoouch. That sucks. You could run Fedora in a container on your Yocto base using resinOS. I wrote more about this in another comment. https://news.ycombinator.com/item?id=18093336 https://news.ycombinator.com/item?id=18093336
- v_lisivka 8y agoI already have OS. In my case, I just use chroot script to access full Fedora distro with all development tools on Yocto. If I will be able to replace Yocto, I will replace it with major distro, like Debian, Ubuntu, CentOS, or Fedora, not by yet another toy distro with thousands of packages per maintainer.
- deleted 8y ago[deleted]
- zubairlk 8y agoI'd recommend using resinOS as the base. And then running your application inside a Raspbian container. That will give you a read-only resinOS (based on Yocto. meta-resin layer). If you rpi is connected to the internet, you can use resin.io to remotely push application container updates and access the pi over a vpn. https://docs.resin.io/learn/getting-started/raspberrypi3/nodejs/ https://docs.resin.io/learn/getting-started/raspberrypi3/nod... Disclosure, I work at resin.io in the OS team on meta-resin. The base resinOS is open source. And we are open-sourcing the rest of our stuff in due time as well.
- syn0byte 8y agohttps://github.com/cmhe/meta-readonly-rootfs-overlay https://github.com/cmhe/meta-readonly-rootfs-overlay Users can apt-get all they want and it'll even be available next boot provided they shut down properly.
- kingosticks 8y agoI'm not sure this layer has much to do with providing apt-get support but maybe I misunderstand.