Copyright © NIFTY Corporation All Rights Reserved.
CoreOS OEM on NIFTY Cloud
Yuya Kusakabe - @higebu
NIFTY Corp.
2015/04/09
CoreOS Meetup Tokyo #1
Copyright © NIFTY Corporation All Rights Reserved. Confidential 2
自己紹介
 Twitter / GitHub:@higebu
 仕事:
 ニフティクラウドのネットワークサービスの
設計・開発・運用、他
 趣味:
 vyos-users.jp
 爬虫類
・4/1 ニフティクラウド DRサービス
with VMware vCloud® Air™ Technology
・VCP-DCVとVCP-NVを取得
・最近VMware製品にまみれている
Copyright © NIFTY Corporation All Rights Reserved. Confidential 3
アジェンダ
 ニフティクラウドとは
 CoreOSのOEMとは
 CoreOSのOEMをするには
 ニフティクラウドでCoreOSを使えるよう
になるまでの経緯
 oem-niftycloudとniftycloud formatの中身
 CoreOSをビルドするときのTips
Copyright © NIFTY Corporation All Rights Reserved. Confidential 4
ニフティクラウドとは
 2010/01/27リリース
 5周年記念キャンペーン中(10万円まで無料)
 http://cloud.nifty.com/promo/gogo/
 IaaS、PaaS、SaaS全部やっている
 VMwareベース
 OpenStackのような独自のコントローラ
 AWSに似たAPI
Copyright © NIFTY Corporation All Rights Reserved. Confidential 5
CoreOSのOEMとは
https://coreos.com/releases/#534.1.0
Copyright © NIFTY Corporation All Rights Reserved. Confidential 6
CoreOSのOEMとは
https://coreos.com/docs/
Copyright © NIFTY Corporation All Rights Reserved. Confidential 7
CoreOSのOEMをするには
 自分のプラットフォームで動くイメージを作成するため
の修正をプルリクしてマージしてもらう
 http://alpha.release.core-os.net/amd64-usr/current/ でダウン
ロード可能になる
 ドキュメントを書いてプルリクしてマージしてもらう
全てGitHub上で完結!
※ただし、CoreOS社の公式プラットフォームになるには
別途CoreOS社との調整が必要
Copyright © NIFTY Corporation All Rights Reserved. Confidential 8
ニフティクラウド上で動くOSイメージ
 VMware Tools
 サーバー起動・停止、IPアドレスの取得
 SSHキー、起動時スクリプト受け渡し
 niftycloud_init スクリプト
 VMware ToolsからSSHキー、起動時スクリプ
トを受け取って処理
 CentOSなどでは/etc/init.d/niftycloud_init辺り
にある
Copyright © NIFTY Corporation All Rights Reserved. Confidential
ニフティクラウドでCoreOSが
使えるようになるまでの経緯
Copyright © NIFTY Corporation All Rights Reserved. Confidential 10
関係するリポジトリ一覧
 coreos/coreos-overlay
 CoreOSが修正、または追加したパッケージを管理
 coreos/portage-stable
 修正していないパッケージ
 coreos/scripts
 ビルド、リリーススクリプト
 coreos/manifest
 repoでビルドするときのmanifest
 coreos/coreos-cloudinit
 CoreOSがカスタマイズしたcloud-init
 coreos/docs
 https://coreos.com/docs/ のソース
Copyright © NIFTY Corporation All Rights Reserved. Confidential 11
Googleさんに先を越される
 2014/5/23 Official CoreOS Images on
Google Compute Engine
 ニフティクラウドでも使えるようにしたい
 vmware_insecureイメージがあるが、VMware
Toolsが入っていなかった
 VMware公式のVMware Toolsを入れるため、
CoreOSをビルドし始める
Copyright © NIFTY Corporation All Rights Reserved. Confidential
1ヶ月後・・・
Copyright © NIFTY Corporation All Rights Reserved. Confidential
CoreOS上でVMware Toolsを
ビルドできず一旦あきらめる
Copyright © NIFTY Corporation All Rights Reserved. Confidential
2ヶ月後・・・
Copyright © NIFTY Corporation All Rights Reserved. Confidential 15
open-vm-toolsを入れる方針に変更
 2014/09/06 CoreOSにopen-vm-tools入れ
ようというIssueがわりと進んでいること
に気づき、open-vm-toolsを入れる方向で
作業再開
 coreos/coreos-overlay/issues/499
Copyright © NIFTY Corporation All Rights Reserved. Confidential 16
open-vm-toolsからifupを消す
 2014/09/10 @crawford さんのブランチで
open-vm-toolsが動くところまでできてい
たが、少し足りなかったのでパッチを送る
 コミットはこれ: hooklift/coreos-
overlay/commit/11f96ce87a357fc38ab53ebd4
068ea5f8b186135
 crawfordさんのブランチは削除されているの
で、プルリクは残っていない
 ifupコマンドないからifconfigでやるようにし
ただけ
Copyright © NIFTY Corporation All Rights Reserved. Confidential 17
すごいプルリクが出現
 2014/10/03: @c4milo さんのプルリク
 coreos/coreos-overlay/pull/898
ここに自分の
コミットが
Copyright © NIFTY Corporation All Rights Reserved. Confidential 18
きれいなプルリクが出現
 2014/10/09: @marineam さんのプルリク
 coreos/coreos-overlay/pull/907
 @c4miloさんのプルリクをきれいにまとめて
少し修正したもの
Copyright © NIFTY Corporation All Rights Reserved. Confidential 19
CoreOS 471.1.0 リリース
 2014/10/15: open-vm-toolsを含んだ、
CoreOS 471.1.0リリース
https://coreos.com/releases/#471.1.0
しかし、まともに動くようになったのは、490.0.0
Copyright © NIFTY Corporation All Rights Reserved. Confidential 20
ニフティクラウドにCoreOSリリース(独自ビルド)
Copyright © NIFTY Corporation All Rights Reserved. Confidential
1ヶ月後・・・
Copyright © NIFTY Corporation All Rights Reserved. Confidential 22
CoreOSが使えるようになるまでの経緯
 2014/12/14: oem-niftycloudパッケージが
追加される
 coreos/coreos-overlay/pull/970
Copyright © NIFTY Corporation All Rights Reserved. Confidential 23
CoreOSが使えるようになるまでの経緯
 2014/12/14: ニフティクラウド用のイメー
ジをビルドするためのスクリプトも追加
 coreos/scripts/pull/356
Copyright © NIFTY Corporation All Rights Reserved. Confidential 24
CoreOS 534.1.0リリース
https://coreos.com/releases/#534.1.0
Copyright © NIFTY Corporation All Rights Reserved. Confidential 25
OVF化
 534.1.0ではVMX+VMDKだったため、ニフティク
ラウドにインポートするには、OVF ToolでOVF変
換する必要があった
 qemu-imgでVMwareで使えるstreamOptimizedな
VMDKを作れるパッチを見つけてプルリク
 coreos/scripts/pull/362
 coreos/coreos-overlay/pull/1009
 VMwareの方がopen-vmdkというツールを作って
プルリクしてきて解決(さすがVMwareさん・・・
 coreos/scripts/pull/364
 coreos/coreos-overlay/pull/1015
Copyright © NIFTY Corporation All Rights Reserved. Confidential 26
OVF化
 2014/12/18: ニフティクラウド用イメージ
のフォーマットをOVFに変更するプルリク
 coreos/scripts/pull/366
536.0.0からOVFが提供されている
Copyright © NIFTY Corporation All Rights Reserved. Confidential 27
ドキュメント追加
 2015/02/12: docsにプルリク
 coreos/docs/running-coreos/cloud-
providers/niftycloud
CoreOS初日本語ドキュメント
Copyright © NIFTY Corporation All Rights Reserved. Confidential 28
VMwareさんの公式サポート
 2015/3/9: CoreOS Now Supported on
VMware vSphere 6 and VMware vCloud Air
 vSphere 5.5以上
 Stableのみサポート
 最新情報は VMware Compatibility Guide
Copyright © NIFTY Corporation All Rights Reserved. Confidential
oem-niftycloudと
niftycloud formatの中身
Copyright © NIFTY Corporation All Rights Reserved. Confidential 30
oem-niftycloudとniftycloud format
 coreos-overlay/coreos-base/oem-niftycloud
 scripts/build_library
 vm_image_util.sh
 niftycloud_ovf.sh
Copyright © NIFTY Corporation All Rights Reserved. Confidential 31
oem-niftycloud
% tree oem-niftycloud/
oem-niftycloud/
├── files
│ ├── cloud-config.yml # ニフティクラウド用の cloud-config
│ ├── coreos-setup-environment # /etc/environment を作成
│ ├── niftycloud-coreos-cloudinit # coreos-cloudinit を実行
│ └── niftycloud-ssh-key # SSHキーの設定
└── oem-niftycloud-0.0.1.ebuild
1 directory, 5 files
coreos-overlay/coreos-base/oem-niftycloud
Copyright © NIFTY Corporation All Rights Reserved. Confidential 32
cloud-config.yml
 /usr/share/oem/cloud-config.yml に置かれる
 open-vm-tools の起動
 coreos-overlay/app-emulation/open-vm-tools
 niftycloud-ssh-key の実行
 update-ssh-keys コマンドに渡す
 niftycloud-coreos-cloudinit の実行
 user-data で受け取った cloud-config やスクリプトを coreos-
cloudinit に渡す
 user-dataは /var/lib/coreos-niftycloud/user-data に置かれる
Copyright © NIFTY Corporation All Rights Reserved. Confidential 33
niftycloud format
 --format niftycloud と指定したら
ニフティクラウド用のOVFができる
% cros_sdk
% cros_sdk --enter
% ./set_shared_user_password.sh
% echo amd64-usr > .default_board
% ./setup_board
% ./build_packages
% ./build_image prod --group alpha
% ./image_to_vm.sh --from=../build/images/amd64-usr/latest --
board=amd64-usr --prod_image --format niftycloud
% exit
Copyright © NIFTY Corporation All Rights Reserved. Confidential 34
niftycloud format
 scripts/build_library/vm_image_util.sh
 VALID_IMG_TYPES と VALID_OEM_PACKAGES に
niftycloud を追加
 IMG_niftycloud_XXX を追加
 _write_niftycloud_conf() を追加
 scripts/build_library/niftycloud_ovf.sh
 _write_niftycloud_conf()内で呼ばれている
ニフティクラウド用のOVFを作るスクリプト
## niftycloud
IMG_niftycloud_DISK_FORMAT=vmdk_scsi
IMG_niftycloud_DISK_LAYOUT=vm
IMG_niftycloud_CONF_FORMAT=niftycloud
IMG_niftycloud_OEM_PACKAGE=oem-niftycloud
Copyright © NIFTY Corporation All Rights Reserved. Confidential
CoreOSをビルドするときのTips
Copyright © NIFTY Corporation All Rights Reserved. Confidential 36
ビルド方法
 ビルド方法については、CoreOS Developer SDK Guideを
ご参照ください
 以前使っていたビルドスクリプトの一部↓
#!/bin/bash
# ./build_coreos.sh Alpha 494
CHANNEL=$1
VERSION=$2
git config --global color.ui false
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH="$PATH":`pwd`/depot_tools
mkdir coreos
pushd coreos
repo init -u ssh://git@github.com/higebu/manifest.git ¥
-b niftycloud-${VERSION} ¥
-g minilayout ¥
--repo-url https://chromium.googlesource.com/external/repo.git -m release.xml
repo sync
cros_sdk --download
cros_sdk -- "./set_shared_user_password.sh" "core"
echo "amd64-usr" > src/scripts/.default_board
cros_sdk -- "./setup_board"
cros_sdk -- "./build_packages“
cros_sdk -- "./set_official"
cros_sdk -- "./build_image" "prod" "--group" "${CHANNEL,,}"
cros_sdk -- "./image_to_vm.sh" "--from=../build/images/amd64-usr/latest" "--board=amd64-usr" "--prod_image" "--format" "niftycloud"
VERSION=$(cros_sdk -- 'cat' '/etc/os-release' | grep VERSION_ID | awk -F'=' '{print $2}')
popd
Copyright © NIFTY Corporation All Rights Reserved. Confidential 37
repoの色の表示設定
 repo init時に色の表示をどうするか聞かれ
るのを避ける
% git config --global color.ui false
Copyright © NIFTY Corporation All Rights Reserved. Confidential 38
SDK chroot に入りたくない
 cros_sdk -- “” で chroot に入らずにビルド
% cros_sdk --download
% cros_sdk -- "./set_shared_user_password.sh" “core"
% echo "amd64-usr" > src/scripts/.default_board
% cros_sdk -- "./setup_board"
% cros_sdk -- "./build_packages“
% cros_sdk -- "./set_official“
% cros_sdk -- "./build_image" "prod" "--group" "alpha"
% cros_sdk -- "./image_to_vm.sh" "--from=../build/images/amd64-
usr/latest" "--board=amd64-usr" "--prod_image" "--format"
"niftycloud"
Copyright © NIFTY Corporation All Rights Reserved. Confidential 39
アップデートできるようにする
 ./set_official でアップデート時に使われる
officialの公開鍵をインストールする
 やらないとアップデート時にエラーになる
% cros_sdk -- "./set_official“
Copyright © NIFTY Corporation All Rights Reserved. Confidential 40
手動アップデート
 アップデートのテストで使う
 独自ビルドしていた頃、CoreOSの方に教
えてもらうまで知らなかった
% update_engine_client -update
Copyright © NIFTY Corporation All Rights Reserved. Confidential 41
最後に
 CoreOSを独自のプラットフォームで動か
したい方の参考になれば幸いです
 ニフティクラウド上でのCoreOSの使い方
はCoreOSのドキュメントをご参照くださ
い
Copyright © NIFTY Corporation All Rights Reserved. Confidential 42

CoreOS OEM on NIFTY Cloud - CoreOS Meetup Tokyo #1 #coreosjp

  • 1.
    Copyright © NIFTYCorporation All Rights Reserved. CoreOS OEM on NIFTY Cloud Yuya Kusakabe - @higebu NIFTY Corp. 2015/04/09 CoreOS Meetup Tokyo #1
  • 2.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 2 自己紹介  Twitter / GitHub:@higebu  仕事:  ニフティクラウドのネットワークサービスの 設計・開発・運用、他  趣味:  vyos-users.jp  爬虫類 ・4/1 ニフティクラウド DRサービス with VMware vCloud® Air™ Technology ・VCP-DCVとVCP-NVを取得 ・最近VMware製品にまみれている
  • 3.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 3 アジェンダ  ニフティクラウドとは  CoreOSのOEMとは  CoreOSのOEMをするには  ニフティクラウドでCoreOSを使えるよう になるまでの経緯  oem-niftycloudとniftycloud formatの中身  CoreOSをビルドするときのTips
  • 4.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 4 ニフティクラウドとは  2010/01/27リリース  5周年記念キャンペーン中(10万円まで無料)  http://cloud.nifty.com/promo/gogo/  IaaS、PaaS、SaaS全部やっている  VMwareベース  OpenStackのような独自のコントローラ  AWSに似たAPI
  • 5.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 5 CoreOSのOEMとは https://coreos.com/releases/#534.1.0
  • 6.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 6 CoreOSのOEMとは https://coreos.com/docs/
  • 7.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 7 CoreOSのOEMをするには  自分のプラットフォームで動くイメージを作成するため の修正をプルリクしてマージしてもらう  http://alpha.release.core-os.net/amd64-usr/current/ でダウン ロード可能になる  ドキュメントを書いてプルリクしてマージしてもらう 全てGitHub上で完結! ※ただし、CoreOS社の公式プラットフォームになるには 別途CoreOS社との調整が必要
  • 8.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 8 ニフティクラウド上で動くOSイメージ  VMware Tools  サーバー起動・停止、IPアドレスの取得  SSHキー、起動時スクリプト受け渡し  niftycloud_init スクリプト  VMware ToolsからSSHキー、起動時スクリプ トを受け取って処理  CentOSなどでは/etc/init.d/niftycloud_init辺り にある
  • 9.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential ニフティクラウドでCoreOSが 使えるようになるまでの経緯
  • 10.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 10 関係するリポジトリ一覧  coreos/coreos-overlay  CoreOSが修正、または追加したパッケージを管理  coreos/portage-stable  修正していないパッケージ  coreos/scripts  ビルド、リリーススクリプト  coreos/manifest  repoでビルドするときのmanifest  coreos/coreos-cloudinit  CoreOSがカスタマイズしたcloud-init  coreos/docs  https://coreos.com/docs/ のソース
  • 11.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 11 Googleさんに先を越される  2014/5/23 Official CoreOS Images on Google Compute Engine  ニフティクラウドでも使えるようにしたい  vmware_insecureイメージがあるが、VMware Toolsが入っていなかった  VMware公式のVMware Toolsを入れるため、 CoreOSをビルドし始める
  • 12.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 1ヶ月後・・・
  • 13.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential CoreOS上でVMware Toolsを ビルドできず一旦あきらめる
  • 14.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 2ヶ月後・・・
  • 15.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 15 open-vm-toolsを入れる方針に変更  2014/09/06 CoreOSにopen-vm-tools入れ ようというIssueがわりと進んでいること に気づき、open-vm-toolsを入れる方向で 作業再開  coreos/coreos-overlay/issues/499
  • 16.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 16 open-vm-toolsからifupを消す  2014/09/10 @crawford さんのブランチで open-vm-toolsが動くところまでできてい たが、少し足りなかったのでパッチを送る  コミットはこれ: hooklift/coreos- overlay/commit/11f96ce87a357fc38ab53ebd4 068ea5f8b186135  crawfordさんのブランチは削除されているの で、プルリクは残っていない  ifupコマンドないからifconfigでやるようにし ただけ
  • 17.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 17 すごいプルリクが出現  2014/10/03: @c4milo さんのプルリク  coreos/coreos-overlay/pull/898 ここに自分の コミットが
  • 18.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 18 きれいなプルリクが出現  2014/10/09: @marineam さんのプルリク  coreos/coreos-overlay/pull/907  @c4miloさんのプルリクをきれいにまとめて 少し修正したもの
  • 19.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 19 CoreOS 471.1.0 リリース  2014/10/15: open-vm-toolsを含んだ、 CoreOS 471.1.0リリース https://coreos.com/releases/#471.1.0 しかし、まともに動くようになったのは、490.0.0
  • 20.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 20 ニフティクラウドにCoreOSリリース(独自ビルド)
  • 21.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 1ヶ月後・・・
  • 22.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 22 CoreOSが使えるようになるまでの経緯  2014/12/14: oem-niftycloudパッケージが 追加される  coreos/coreos-overlay/pull/970
  • 23.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 23 CoreOSが使えるようになるまでの経緯  2014/12/14: ニフティクラウド用のイメー ジをビルドするためのスクリプトも追加  coreos/scripts/pull/356
  • 24.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 24 CoreOS 534.1.0リリース https://coreos.com/releases/#534.1.0
  • 25.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 25 OVF化  534.1.0ではVMX+VMDKだったため、ニフティク ラウドにインポートするには、OVF ToolでOVF変 換する必要があった  qemu-imgでVMwareで使えるstreamOptimizedな VMDKを作れるパッチを見つけてプルリク  coreos/scripts/pull/362  coreos/coreos-overlay/pull/1009  VMwareの方がopen-vmdkというツールを作って プルリクしてきて解決(さすがVMwareさん・・・  coreos/scripts/pull/364  coreos/coreos-overlay/pull/1015
  • 26.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 26 OVF化  2014/12/18: ニフティクラウド用イメージ のフォーマットをOVFに変更するプルリク  coreos/scripts/pull/366 536.0.0からOVFが提供されている
  • 27.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 27 ドキュメント追加  2015/02/12: docsにプルリク  coreos/docs/running-coreos/cloud- providers/niftycloud CoreOS初日本語ドキュメント
  • 28.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 28 VMwareさんの公式サポート  2015/3/9: CoreOS Now Supported on VMware vSphere 6 and VMware vCloud Air  vSphere 5.5以上  Stableのみサポート  最新情報は VMware Compatibility Guide
  • 29.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential oem-niftycloudと niftycloud formatの中身
  • 30.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 30 oem-niftycloudとniftycloud format  coreos-overlay/coreos-base/oem-niftycloud  scripts/build_library  vm_image_util.sh  niftycloud_ovf.sh
  • 31.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 31 oem-niftycloud % tree oem-niftycloud/ oem-niftycloud/ ├── files │ ├── cloud-config.yml # ニフティクラウド用の cloud-config │ ├── coreos-setup-environment # /etc/environment を作成 │ ├── niftycloud-coreos-cloudinit # coreos-cloudinit を実行 │ └── niftycloud-ssh-key # SSHキーの設定 └── oem-niftycloud-0.0.1.ebuild 1 directory, 5 files coreos-overlay/coreos-base/oem-niftycloud
  • 32.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 32 cloud-config.yml  /usr/share/oem/cloud-config.yml に置かれる  open-vm-tools の起動  coreos-overlay/app-emulation/open-vm-tools  niftycloud-ssh-key の実行  update-ssh-keys コマンドに渡す  niftycloud-coreos-cloudinit の実行  user-data で受け取った cloud-config やスクリプトを coreos- cloudinit に渡す  user-dataは /var/lib/coreos-niftycloud/user-data に置かれる
  • 33.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 33 niftycloud format  --format niftycloud と指定したら ニフティクラウド用のOVFができる % cros_sdk % cros_sdk --enter % ./set_shared_user_password.sh % echo amd64-usr > .default_board % ./setup_board % ./build_packages % ./build_image prod --group alpha % ./image_to_vm.sh --from=../build/images/amd64-usr/latest -- board=amd64-usr --prod_image --format niftycloud % exit
  • 34.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 34 niftycloud format  scripts/build_library/vm_image_util.sh  VALID_IMG_TYPES と VALID_OEM_PACKAGES に niftycloud を追加  IMG_niftycloud_XXX を追加  _write_niftycloud_conf() を追加  scripts/build_library/niftycloud_ovf.sh  _write_niftycloud_conf()内で呼ばれている ニフティクラウド用のOVFを作るスクリプト ## niftycloud IMG_niftycloud_DISK_FORMAT=vmdk_scsi IMG_niftycloud_DISK_LAYOUT=vm IMG_niftycloud_CONF_FORMAT=niftycloud IMG_niftycloud_OEM_PACKAGE=oem-niftycloud
  • 35.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential CoreOSをビルドするときのTips
  • 36.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 36 ビルド方法  ビルド方法については、CoreOS Developer SDK Guideを ご参照ください  以前使っていたビルドスクリプトの一部↓ #!/bin/bash # ./build_coreos.sh Alpha 494 CHANNEL=$1 VERSION=$2 git config --global color.ui false git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH="$PATH":`pwd`/depot_tools mkdir coreos pushd coreos repo init -u ssh://git@github.com/higebu/manifest.git ¥ -b niftycloud-${VERSION} ¥ -g minilayout ¥ --repo-url https://chromium.googlesource.com/external/repo.git -m release.xml repo sync cros_sdk --download cros_sdk -- "./set_shared_user_password.sh" "core" echo "amd64-usr" > src/scripts/.default_board cros_sdk -- "./setup_board" cros_sdk -- "./build_packages“ cros_sdk -- "./set_official" cros_sdk -- "./build_image" "prod" "--group" "${CHANNEL,,}" cros_sdk -- "./image_to_vm.sh" "--from=../build/images/amd64-usr/latest" "--board=amd64-usr" "--prod_image" "--format" "niftycloud" VERSION=$(cros_sdk -- 'cat' '/etc/os-release' | grep VERSION_ID | awk -F'=' '{print $2}') popd
  • 37.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 37 repoの色の表示設定  repo init時に色の表示をどうするか聞かれ るのを避ける % git config --global color.ui false
  • 38.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 38 SDK chroot に入りたくない  cros_sdk -- “” で chroot に入らずにビルド % cros_sdk --download % cros_sdk -- "./set_shared_user_password.sh" “core" % echo "amd64-usr" > src/scripts/.default_board % cros_sdk -- "./setup_board" % cros_sdk -- "./build_packages“ % cros_sdk -- "./set_official“ % cros_sdk -- "./build_image" "prod" "--group" "alpha" % cros_sdk -- "./image_to_vm.sh" "--from=../build/images/amd64- usr/latest" "--board=amd64-usr" "--prod_image" "--format" "niftycloud"
  • 39.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 39 アップデートできるようにする  ./set_official でアップデート時に使われる officialの公開鍵をインストールする  やらないとアップデート時にエラーになる % cros_sdk -- "./set_official“
  • 40.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 40 手動アップデート  アップデートのテストで使う  独自ビルドしていた頃、CoreOSの方に教 えてもらうまで知らなかった % update_engine_client -update
  • 41.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 41 最後に  CoreOSを独自のプラットフォームで動か したい方の参考になれば幸いです  ニフティクラウド上でのCoreOSの使い方 はCoreOSのドキュメントをご参照くださ い
  • 42.
    Copyright © NIFTYCorporation All Rights Reserved. Confidential 42