How can I disable the ssh server via Yocto build configuration?
Furthermore is there a list somewhere of the features that can be enabled/disabled from Angstrom?
How can I disable the ssh server via Yocto build configuration?
Furthermore is there a list somewhere of the features that can be enabled/disabled from Angstrom?
How can I disable the ssh server via Yocto build configuration?
Try adding the following to a recipe: SYSTEMD_AUTO_ENABLE_openssh-sshd = "disable"
.
You’ll probably also need to include: inherit systemd
Furthermore is there a list somewhere of the features that can be enabled/disabled from Angstrom?
Angstrom itself is a distro layer within the build system as well as a provider of binary packages to the image through its online package feeds. As far as DISTRO_FEATURES go, there are a number of common ones identified in the Yocto Project documentation. If you’re looking to add/remove DISTRO_FEATURES to/from Angstrom, start by having a look at the distro conf file ‘meta-angstrom/conf/distro/angstrom.conf’. Note that not all possible DISTRO_FEATURES will integrate well with Angstrom.
Beyond Angstrom & DISTRO_FEATURES, there is a plethora of other stuff that can be customized in the Yocto Project/OpenEmbedded-Core build system. The Yocto Project Documentation is good general resource. Unfortunately, the shear magnitude of customization possible in this framework means there isn’t a simple “list” of features to be enabled/disabled. But you can start by looking at some of the important high level variables that are used to construct an image, such as DISTRO & DISTRO_FEATURES, MACHINE & MACHINE_FEATURES, IMAGE_FEATURES, IMAGE_INSTALL, etc.
I also recommend checking out following webinars about the Yocto Project from Toradex:
Thanks @brandon.shibley , these videos are a really good resource.
openssh-ssd is added as a dependency of packagegroup-basic, see:
and
In turn my image (and Toradex images I believe) adds packagegroup-basic to IMAGE_INSTALL.
The first thing I tried was:
RDEPENDS_remove = "openssh-ssh openssh-sshd openssh-scp openssh-sftp openssh-sftp-server"
But appending _remove to RDEPENDS apparently does not work. So the (somewhat heavy-handed) solution I found was to copy packagegroup-basic.bb into my layer, modify its name and setting the following:
TASK_BASIC_SSHDAEMON = ""
I don’t love this solution, it would be interesting to see:
But this solution worksforme™ .
I’m sorry I had a false positive with this solution, it did not work for me. See my solution below.
Please the add the following line into ./conf/local.conf file
PACKAGECONFIG_remove += “openssh”