Custom console linux, edit kernel sources and filesystem with yocto

Hello, I’m beginning to yocto and I need some advice to several customizations that I need to do to an embedded Linux environment for Apalis TK1. We are migrating from a raspberry pi environment and the team is used to a Debian base image, with package management and a big set of packages.

This is what I need to do, for that I plan to create a custom meta-layer:

  • Have a Linux console with some sw dependencies: For that I started to make a image recipe that extends the toradex console-tdx-image and uses IMAGE_INSTALL to add more packages. For now it builds but I see no outputs in the deploy folder. It would be good having a package manager and with a repository of packages. There is also some packages that are not available as bb recipes;
  • Modify some kernel sources: I need to edit one driver to meet our custom requirements, I also need to add a new driver developed here. I don’t know how to do this yet, so if you have suggestions I appreciate them;
  • Customise filesystem: I need to do some linux administration, for example create a new user, disable root log in, add custom startup scripts and also include our app there.

The last question is about flashing Apalis TK1 for now I’m using toradex easy installer with the TEZI image build by yocto. However it take some time to interrupt u-boot, enter rcm mode, flash the easy installer and then flash the final image. There is another way to directly flash the TK1 memory to be quicker, like in a production environment?

As I do know yocto very well yet I’am asking here in the hope that more experienced people can point me to the right way to do each required task.

Thanks in advance.

I’m beginning to yocto and I need some advice to several customizations that I need to do to an embedded Linux environment for Apalis TK1. We are migrating from a raspberry pi environment and the team is used to a Debian base image, with package management and a big set of packages.

While Angstrom, OpenEmbedded and the Yocto Project are our main focus you may of course also stick do using something Debian based like e.g. NVIDIA’s Linux for Tegra resp. JetPack.

This is what I need to do, for that I plan to create a custom meta-layer:

Have a Linux console with some sw dependencies: For that I started to make a image recipe that extends the toradex console-tdx-image and uses IMAGE_INSTALL to add more packages. For now it builds but I see no outputs in the deploy folder.

Then there is probably some docket issue somewhere. We would need to see build log files to judge.

It would be good having a package manager and with a repository of packages. There is also some packages that are not available as bb recipes;

Angstrom does have a package manager called opkg with so-called feeds available.

Modify some kernel sources: I need to edit one driver to meet our custom requirements, I also need to add a new driver developed here. I don’t know how to do this yet, so if you have suggestions I appreciate them;

You may find our webinar or this blog post useful.

Customise filesystem: I need to do some linux administration, for example create a new user, disable root log in, add custom startup scripts and also include our app there.

That would also best be done via a recipe.

The last question is about flashing Apalis TK1 for now I’m using toradex easy installer with the TEZI image build by yocto. However it take some time to interrupt u-boot, enter rcm mode, flash the easy installer and then flash the final image. There is another way to directly flash the TK1 memory to be quicker, like in a production environment?

The Toradex Easy Installer is our proposed production flashing solution. Remember all modules ship with it pre-installed installed and you may auto-install images from USB memory stick or SD cards.

As I do know yocto very well yet I’am asking here in the hope that more experienced people can point me to the right way to do each required task.

Sure, you may also find the Yocto Project reference manual useful.

Thanks in advance.

You are very welcome.

The last question is about flashing Apalis TK1 for now I’m using toradex easy installer with the TEZI image build by yocto. However it take some time to interrupt u-boot, enter rcm mode, flash the easy installer and then flash the final image. There is another way to directly flash the TK1 memory to be quicker, like in a production environment?

There’s a section of the webpage https://www.toradex.com/blog/the-yocto-projects-reference-distribution-poky-on-toradex-hardware, subtitled “Build Poky’s Sato Image for Apalis T30” which you may be able to adapt. It involves taking a Toradex image in .tar.bz2 form, replacing some of its components with your own, and then running ./update.sh on the resulting hybrid. According to the webpage, once update.sh writes its output to the SD card, you interrupt u-boot, run setupdate, then run update and you’re done. No Easy Installer required.

You can also omit the SD card by telling update.sh to write to /nfs/tftpd instead. ‘run setupdate’ and ‘run update’ can take advantage of NFS.

[…] for now I’m using toradex easy installer with the TEZI image build by yocto.

I’d like to know: What steps are you taking to turn your Yocto build into a TEZI image? That is, what recipes, conf files, etc.

Thanks for this Information. If you use Toradex Easy Installer then you can also feed your images on Network and install them using Toradex Easy Installer.

We are using this bbclass and the following recipe. I hope it answers your question.

The link seems to be broken.
Page not Found (#404).

Which link are you talking about?