※ 引述《whatdidumean (no body)》之銘言:
: 最近想要研究看看 ubuntu snappy core
: 想要找source code 來看
: 因為官網上面說這是open source的
: 不過不管怎麼找 都只有image 而已
: 請問有人知道從哪裡可以找到 source tree 嗎
這個問題跟問 Ubuntu 安裝光碟的原始碼在哪裡一樣,你無法一口氣拿到
所有套件原始碼。Ubuntu 安裝光碟是透過 live-build 建立 ISO Image.
live-build 會利用 debootstrap 等工具,從 Ubuntu Archive 拉
debian binary packages 下來打包。
至於每個 ISO Image 應該包含哪些套件則是設定於 Ubuntu Seed[1].
Snappy Ubuntu Core 也是類似的概念,以 Azure amd64 image[2] 為例子
組成 rootfs 的 Image 分為
- system image
- device image
其中 system image 的 rootfs tarball 設定來自於 Ubuntu Core Seed[3] 。
而 device image 的設定則藏於 live-build scripts[4]
透過以上設定與工具,你就可以自由產生 Snappy Ubuntu Core Image.
至於核心的原始碼則位於 kernel.ubuntu.com[5]
但是除非你是 Ubuntu Core Developer, 否則沒有必要更改 rootfs.
如果你是開發者,可以研究如何打包 snap app[6] 後安裝到 Ubuntu Core 上。
如果你是硬體工程師,可以研究如何打包新的 device tarball[7][8] 配合 Ubuntu Core 安裝。
[1] Ubuntu Seeds in Launchpad https://launchpad.net/ubuntu-seeds
[2] http://system-image.ubuntu.com/ubuntu-core/rolling/edge/azure_amd64/index.json
[3] ubuntu-core.wily : Code : Ubuntu Seeds https://code.launchpad.net/~ubuntu-core-dev/ubuntu-seeds/ubuntu-core.wily
[4] trunk : Code : livecd-rootfs https://code.launchpad.net/~ubuntu-core-dev/livecd-rootfs/trunk
[5] http://kernel.ubuntu.com/git/kernel-ppa/mirror/ubuntu-wily.git
[6] Build snaps | Ubuntu developer portal https://developer.ubuntu.com/en/snappy/tutorials/build-snaps/
[7] Porting | Ubuntu developer portal https://developer.ubuntu.com/en/snappy/guides/porting/
[8] Porting Ubuntu Snappy to a yet unsupported armhf board | Ogra's blog https://ograblog.wordpress.com/2015/01/25/porting-ubuntu-snappy-to-a-yet-unsupported-armhf-board/
Cheers
-Rex