本文首发 nagle.cn
snap core 学习交流微信群(微信群二维码易过期,加微信号:mirco1101 )
csdn 上未排版,如果乱码请查看最新: 个人笔记
零、前言
创建自己的ubuntu core image 镜像是通过从snap store 拉取官方的 core snap(core 16)、 kernel snap(pc-kernel)、 gadget snap(pc)
https://tutorials.ubuntu.com/tutorial/create-your-own-core-image#0
一、安装相应工具
sudo apt install ubuntu-image snapd snapcraft
ubuntu-image --help
snap list
snap info pc
snap info pc-kernel
snap info core
二、创建你自己的签名密钥( signature keys)
1、创建
snap create-key your-key-name
并设置密钥对应的密码
说明:your-key-name 可以不用加
2、列出创建的密钥
sudo snapcraft list-keys
3、上传你创建的signature keys到 snap store
snapcraft register-key
输入你的 ubuntu one 帐号对应注册邮箱和帐号密码 。关于如何注册请ubuntu one 帐号,请google。
上传signature keys成功后会看到如下图:
三、制作 model assertion
model assertion是根据一个json文件生成,json文件中写明model assertion的各项配置,然后通过snap命令生成model assertion。
1、制作json 文件:
myadm64-model.json
{ "type": "model", //在代表assertion的类型,这里制作的是model assertion,故必须为 model "series": "16", //代表 ubuntu core系列,这里用的是 core16 "model": "myamddev", //目标设备的名字,最好是小写 "architecture": "amd64", //处理器架构 "gadget": "pc", //从snap store 拉取的gadget snap名称, "kernel": "pc-linux", //从snap store 拉取的kernel snap名称,
"required-snaps": ["hello", "hello-world"], //从snap store 拉取snap app,预装在image中 "authority-id": "xxxxxx", // ubuntu one 帐号中的account ID "brand-id": "xxxxxx", // ubuntu one 帐号中的account ID "timestamp": "xxxxxx" //通过 date -Iseconds --utc 命令产生。 }
2、生成 model assertion文件
cat myadm64-model.json | snap sign -k my-key-name > myadm64.model
需要输入上面步骤中设置的signature keys密码。
四、生产 ubuntu core image
sudo ubuntu-image -o myadm64.img -c beta myadm64.model
五、写入磁盘/usb/sd卡等
$ sudo dd if=myadm64.img of=/dev/sdXX bs=32M; sync;
snap core 学习交流微信群(微信群二维码易过期,加微信号:mirco1101 )