I am trying to catch up on creating snaps during my summer vacation and have run into a bit of trouble. I run Windows 10 and use the Quick Create images for Hyper-V for both 18.04.2 LTS and 19.04. Clean default installation with the only change is to use Swedish keyboard and timezone set to “Stockholm”.
In both versions, when the first login wizard is done, I open the application store and try to install the “Visual Studio Code” snap. In both cases it fails with the message “error: too early for operation, device not yet seeded or device model not acknowledged”.
Any tries to use “sudo snap install” from the terminal fails with the same message.
Doing a “sudo apt purge snapd” followed by a “sudo apt install snapd” solves this issue in both cases.
The problem is that I am trying to learn using Ubuntu Core and baking my own images, and the Ubuntu Core image is creating using this guide:
The Ubuntu Core installation created is having the exact same problem, so required snaps in the image is not being installed and further snaps can’t be installed through ssh.
Something seems to be bricked with default installation and snapd.
have you tried with an existing ubuntu core image yet ? in general these are well tested (though typically used on embedded devices and IoT gateways, i doubt many people actually use them in a VM in production)
This is a known bug in the Hyper-V images right now. The workaround is, as you said, purging and reinstalling snapd.
Yeah I am doing that right now. But the whole idea was to build my own image and since I can’t install snaps on it after boot it’s kind of useless.
And what is taken from my base installation when I bake a Ubuntu Core image on it? The Ubuntu Core image I built have the same issue.
The issue in the Hyper-V images is a malformed seed.yaml. Maybe your images also have a bad seed?
And how is this malformed seed.yaml get created?
When you tell the tools to create an image with pre-installed (seeded) snaps, you need to specify all the dependencies by hand. Otherwise the resulting seed.yaml will be invalid and snapd won’t be able to start up.
Edit to add: for example, if you specify
kanagram as an additional snap, you need to also ask for
I just followed the guide and the only slaps added to the Ubuntu Core image is “hello” and “hello-world” as by the example. I can’t see that there is any dependencies that could cause such a problem.
Indeed. Could you log into the resulting core system and look at the seed.yaml?
well, typically seeding snaps in core images happens through the
required-snaps: entry in the model assertion, it is pretty rare that you have actual dependencies beyond core or core18 itself here … (no graphical env on core makes most framework snaps moot)
but if you seed a snap using core on a core18 image you need to also seed core in required-snaps. i assume this is the issue here.
You lost me there, what can I do to verify it?
core to the required-snaps list before the hello snap
which of us were you asking that of?
The basic Ubuntu Core 18 image worked fine with snap. No issues what so ever with snap.
I did add the “core” to the required snaps in my model file and created a new image. It gave the following result.
core already prepared, skipping
Will still try to flash it now and see what happens.
wait, so it was a core18 image, not a core image?
That worked! Thanx @ogra. Those issues with Hyper-V just had me going it was the same issue with the Core image. Now I can get around it on the Hyper-V images by purging and the Core image is built and up and working and I can move forward and try to get my own snap into it.
Many thanx! Too many landmines being a newbie on this. I wouldn’t have solved it by myself without someone removing the blindfold from my eyes.
sudo dnf(apt) reinstall snapd
I just encountered that error a few moments ago on my garuda linux - arch based distro uh… and these comments were for ubuntu and debian i tried to figure it out by myself and this is what worked for me :
sudo systemctl status snapd.seeded.service, it should give u this
○ snapd.seeded.service - Wait until snapd is fully seeded
Loaded: loaded (/usr/lib/systemd/system/snapd.seeded.service; disabled; preset: disabled)
Active: inactive (dead)
even if u get something different its ok this next command wont give out harm to snap…
sudo systemctl restart snapd.seeded.service and
sudo systemctl restart snapd.service
and try ;
sudo snap install hello-world
lmao things should work now
Perfect! Tried several things before, but the restart of the snapd.seeded.service I think did the trick for me. Ubuntu 23.10, fresh snapd 16-2.60.4 install from apt.