About findfs: unable to resolve 'LABEL=writable'

this is telling you that the initial first-boot-install of your snaps (kernel/gadget) fails (which likely also causes your second-boot issue) … what is the output of:

snap change 1

also, a full journalctl dump would be good… if you can, please paste one to https://paste.ubuntu.com and link it here.

this is fine (note how the last one even says 4.8 and earlier (you are on 4.15), the first two are for debugging), none of these values are esssential.

this is again just a warning (and obviously does not stop the kernel from compiling), the build falls back to proper values here.

Thanks for reply.Here is the link

2018-10-26T05:01:34Z ERROR snap "tsimx6-gadget" supported architectures (amd64) are incompatible with this system (armhf)

My gadget snapcraft is:

  - armhf
build: |
  CROSS_COMPILE=arm-linux-gnueabi- make

How can i change this architectures (amd64)?

use the following architectures entry instead …

  - build-on: amd64
    run-on: armhf

Thanks very much! It’s all right now.
btw,where can i find the detailed documents about snap…
for example

    - build-on: amd64 
      run-on: armhf

in general in the “doc” category in this forum:

which is also mirrored to docs.snapcraft.io nowadays.

hi,ogra,thank you for the reply… …
I have some new questions about system user generate…
i put auto-import.assertion/auto-import.assert in /writable and snap known system-user show it have made a new system user, but when i reboot ,it still show

Ubuntu Core 16 on <no ip address> (ttymxc0)                                     
You cannot log in until the system has an IP address.                           
(Is there supposed to be a DHCP server running on your network?) 

I use make-system-user.run to make the auto-import.assert, Do i miss some information in document?

and there is another error about Initialize device

21   Error   today at 11:13 UTC  today at 11:13 UTC  Initialize device
22   Error   today at 11:15 UTC  today at 11:15 UTC  Initialize device
root@localhost:~# snap change 22
Status  Spawn               Ready               Summary
Done    today at 11:15 UTC  today at 11:15 UTC  Generate device key
Error   today at 11:15 UTC  today at 11:15 UTC  Request device serial

Request device serial

2018-10-29T11:15:37Z ERROR cannot deliver device serial request: Cannot process serial request for device with brand "my brand id" and model "tsimx6"

refer to this,i have add slot interface in gadget. should i connect kernel.snap interface to gadget snap?

and in this post about interface,how do those interface work without defined in snap?and how can i make these interface work?

initializing devices only works for official images (either made by canonical or via a customer brand store if you use your own gadget) the “serial” this message talks about is a serial number for the installation, not a serial port on the device … you can safely ignore this message unless you will do an actual commercial product out of it, then you should talk to canonical about obtaining a brand store (which will assign serials to boards and allow management of devices through the store etc)

is there another way to change files in core.snap after installing it?Can i modify the mount script to get it writable in system?
i try to change and repackage core.snap . but it show:

cyndent@localhost:~$ sudo -i
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set

is it need to login as canonical to package core.snap?

you can not change the core snap, like all snap packages it is a gpg signed readonly squashfs file. while you can use the tools from the squashfs-tools package to re-pack it it would make the store generated signature and checksum invalid.

what exactly do you want to achieve ? you normally do not need to touch the core snap …

i want to modify the rc.local in /etc or some other files to init 4G module or eth devices.
for example, it always get no ip address after reboot…i want to make it get a static ip address…

for that you can simply edit the yaml file in /etc/netplan (the default network configuration tool in ubuntu since 18.04 (and in core since core 16) … the reference is at:

alternatively you could install the network-manager snap and use nmcli to configure it (not sure if you also need the modem-manager snap for 4G, perhaps @abeato can give some hint here)

@cyndent if you plan to use a 4G module I recommend installing both network-manager and modem-manager so you can leave modem handling to them. You can also use NM to assign static addresses to managed devices.

i’m trying to install new kernel.snap to my device.but it report:

error: cannot copy request into temporary file: write
/tmp/snapd-sideload-pkg-654057004: no space left on device

and snap is:

-rwxrwxr-x 1 cyndent cyndent 152M Nov 5 07:35 tsimx6-kernel_4.15.0_armhf.snap*

df -hl show:

Filesystem      Size  Used Avail Use% Mounted on
udev            208M     0  208M   0% /dev
tmpfs            49M  4.2M   45M   9% /run
/dev/mmcblk1p2  7.1G  1.1G  5.7G  16% /writable
/dev/loop0       75M   75M     0 100% /
/dev/loop1      152M  152M     0 100% /lib/modules
tmpfs           243M  4.0K  243M   1% /etc/fstab
tmpfs           243M     0  243M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           243M     0  243M   0% /sys/fs/cgroup
tmpfs           243M     0  243M   0% /var/lib/sudo
tmpfs           243M     0  243M   0% /mnt
tmpfs           243M     0  243M   0% /media
tmpfs           243M     0  243M   0% /tmp
/dev/mmcblk1p1  127M   12M  115M  10% /boot/uboot
/dev/loop2       75M   75M     0 100% /snap/core/5744
/dev/loop3      256K  256K     0 100% /snap/tsimx6-gadget/x1
/dev/loop4       75M   75M     0 100% /snap/core/5663
/dev/loop5      152M  152M     0 100% /snap/tsimx6-kernel/x1
cgmfs           100K     0  100K   0% /run/cgmanager/fs
tmpfs            49M     0   49M   0% /run/user/1000
/dev/loop6      4.2M  4.2M     0 100% /snap/network-manager/315
/dev/loop7      128K  128K     0 100% /snap/classic/42

Can you give me some suggestions about this error?Thanks!

where is the file, when you try to install it?

Sideloading a snap will create a temporary copy of it in /tmp, before copying it to /var/lib/snapd/snaps. If you have the file in /tmp this means you need enough space to fit it twice…

i put it in /home/myname not in /tmp .i think the device is doing nothing when i’m trying to install it…
is my kernel.snap too big?

this is https://bugs.launchpad.net/snapd/+bug/1667865

your unpacked file is bigger than the tmpfs in /tmp, sadly manually sideloading unpacks in /tmp …

you can try to hack around this by unmonting /tmp and bind-mounting it to /var/tmp but make sure to reboot immediately after the snap was installed to get the original setup back.

Ha! and i see @chipaca is already ahead of things once again :wink:


(@chipaca make sure to close the bug once that lands :wink: )

Hi ogra
i use console-config to set static ip on my device…
when i update my kernel… something wrong with my dtb file…and ethernet phy can not work…but it still print start successful via serial, tell me to ssh user@ip… and the led on phy do not work…
do i have other way to enter my device except reburn image…

well, what exactly is wrong … do you have an error message or a capture of the serial console during boot ?

typically the kernel snap contents are not touched after initial setup so it should keep booting that kernel (including the dtb).

Thanks for reply…
i change things about Ethernet phy in dtb file and it do not work well without error. but still can set static ip address after reboot.
i will create system user to log in locally via serial port…