2017/11/11SUSE Studio Express を使ってみた 1/19
SUSE Studio Express を使ってみた
武山 文信
日本 openSUSE ユーザ会
2017/11/11SUSE Studio Express を使ってみた 2/19
冬コミ通りました
●
スペース
金曜日 東地区 キ44a
2017/11/11SUSE Studio Express を使ってみた 3/19
SUSE Studio Express
●
ディスクイメージをオンライン/オフラインで
作成するためのシステム
– OpenStack や VirtualBox などのイメージ
– Docker コンテナ
– AppImage
– Live CD, USB
●
SUSE Studio + Open Build Service
– Kiwi のディスクイメージ定義ファイルを作成する UI
– Open Build Service でビルド
●
まだ作りかけという印象
2017/11/11SUSE Studio Express を使ってみた 4/19
従来の SUSE Studio
●
Webブラウザでカスタムイメージを設定して作成
2017/11/11SUSE Studio Express を使ってみた 5/19
Open Build Service
●
ソース管理&ビルド&公開できるオンラインサービス
– openSUSE で使う RPM パッケージ
– Deb パッケージ
– ディスクイメージ
2017/11/11SUSE Studio Express を使ってみた 6/19
SUSE Studio Express
●
OBS でビルドできるディスクイメージ定義を作成してくれる
ちょっとしたUI
●
VirtualBox 向けのライブ CD を作ってみよう
2017/11/11SUSE Studio Express を使ってみた 7/19
テンプレートを選ぶ
https://build.opensuse.org/image_templates
2017/11/11SUSE Studio Express を使ってみた 8/19
設定
設定はこれだけしかない
2017/11/11SUSE Studio Express を使ってみた 9/19
オンラインビルド
2017/11/11SUSE Studio Express を使ってみた 10/19
ライブCDにする
●
テンプレートは HDD イメージを作るためのもの
●
kiwi のファイルを編集してライブCDにする
– kiwi: SUSE Studio の裏側で使われている
ディスクイメージを作る仕組み
– https://doc.opensuse.org/projects/kiwi/doc/
– https://github.com/openSUSE/kiwi
2017/11/11SUSE Studio Express を使ってみた 11/19
ローカルにチェックアウトして作業
$ osc checkout home:$username:xxxxx
2017/11/11SUSE Studio Express を使ってみた 12/19
ISO イメージテンプレートを参考に
<rpm-excludedocs>true</rpm-excludedocs>
<type
- image="vmx"
- filesystem="btrfs"
- boot="vmxboot/suse-leap42.1"
- format="vmdk"
中略
+ image="iso"
+ primary="true"
+ boot="isoboot/suse-leap42.1"
+ flags="overlay"
+ hybrid="true"
+ firmware="efi"
+ kernelcmdline="splash"
+ hybridpersistent_filesystem="ext4"
+ hybridpersistent="true">
</type> + <package name="kiwi-desc-isoboot"/>
<package name="fipscheck"/>
/usr/share/kiwi/image/suse-leap-42.1-JeOS/config.xml
2017/11/11SUSE Studio Express を使ってみた 13/19
ローカルビルド
$ osc build –vm-type=kvm
●
KVM でビルドしないといけない
●
ビルド環境のリソースは多めに
~/.oscrc
# value in MB - e.g. 512
build-memory = 4048
# build-vmdisk-rootsize is the size of the disk-image used as root in a VM build
# values in MB - e.g. 4096
build-vmdisk-rootsize = 8096
2017/11/11SUSE Studio Express を使ってみた 14/19
が、しかし
[ 875s] Nov-09 16:37:10 <1> : EXEC [cp /usr/src/packages/KIWI-iso/iso/boot-iso.P9WykM/usr/
lib/grub2/x86_64-efi/* /usr/src/packages/KIWI-iso/iso/CD/boot/grub2/x86_64-efi 2>&1]
[ 875s] Nov-09 16:37:11 <1> : EXEC [mv /usr/src/packages/KIWI-iso/iso/boot-iso.P9WykM/usr/
share/grub2/themes /usr/src/packages/KIWI-iso/iso/CD/boot/grub2 2>&1]
[ 875s] Nov-09 16:37:11 <1> : EXEC [mv /usr/src/packages/KIWI-iso/iso/boot-iso.P9WykM/usr/
share/grub2/unicode.pf2 /usr/src/packages/KIWI-iso/iso/CD/boot]
[ 875s] Nov-09 16:37:11 <1> : Creating grub2 efi boot image
[ 875s] Nov-09 16:37:11 <1> : EXEC [/usr/bin/grub2-mkimage -O x86_64-efi -o
/usr/src/packages/KIWI-iso/iso/CD/EFI/BOOT/bootx64.efi -c
/usr/src/packages/KIWI-iso/iso/CD/boot/bootpart.cfg -d /usr/src/packages/KIWI-iso/iso/boot-
iso.P9WykM/usr/lib/grub2/x86_64-efi fat ext2 part_gpt efi_gop iso9660 chain linux echo
configfile boot search_label search_fs_file search search_fs_uuid ls video video_fb normal
test sleep png gettext gzio efi_uga 2>&1]
[ 875s] Nov-09 16:37:11 <3> : Couldn't create efi boot image: Usage: /usr/bin/grub2-
mkimage [OPTION...] [OPTION]... [MODULES]
[ 875s] Try '/usr/bin/grub2-mkimage --help' or '/usr/bin/grub2-mkimage --usage' for
[ 875s] more information.
[ 875s] Prefix not specified (use the -p option).
2017/11/11SUSE Studio Express を使ってみた 15/19
続く
2017/11/11SUSE Studio Express を使ってみた 16/19
続き
●
結局、バックエンドの kiwi のバグを直した
2017/11/11SUSE Studio Express を使ってみた 17/19
2017/11/11SUSE Studio Express を使ってみた 18/19
が、しかし
Thanks for the patch it looks good and I'll merge it. But
as a side not the last supported target distro for this
kiwi version was Leap42.1 and I recommend to use the
next generation kiwi http://suse.github.io/kiwi/
もうこれはサポートされてないよ。
次世代のkiwiが別のリポジトリにあるから、そっち使ってね
2017/11/11SUSE Studio Express を使ってみた 19/19
KIWI Next Generation
●
Perl から Python に書き換えたバージョン
– http://suse.github.io/kiwi/
●
ディスクイメージを作れる OS
– CentOS 7
– Fedora 25
– openSUSE Leap 42
– Red Hat Enterprise 7
– SUSE Linux Enterprise 12
– Tumbleweed
– Ubuntu Xenial

SUSE Studio Express を使ってみた

  • 1.
    2017/11/11SUSE Studio Expressを使ってみた 1/19 SUSE Studio Express を使ってみた 武山 文信 日本 openSUSE ユーザ会
  • 2.
    2017/11/11SUSE Studio Expressを使ってみた 2/19 冬コミ通りました ● スペース 金曜日 東地区 キ44a
  • 3.
    2017/11/11SUSE Studio Expressを使ってみた 3/19 SUSE Studio Express ● ディスクイメージをオンライン/オフラインで 作成するためのシステム – OpenStack や VirtualBox などのイメージ – Docker コンテナ – AppImage – Live CD, USB ● SUSE Studio + Open Build Service – Kiwi のディスクイメージ定義ファイルを作成する UI – Open Build Service でビルド ● まだ作りかけという印象
  • 4.
    2017/11/11SUSE Studio Expressを使ってみた 4/19 従来の SUSE Studio ● Webブラウザでカスタムイメージを設定して作成
  • 5.
    2017/11/11SUSE Studio Expressを使ってみた 5/19 Open Build Service ● ソース管理&ビルド&公開できるオンラインサービス – openSUSE で使う RPM パッケージ – Deb パッケージ – ディスクイメージ
  • 6.
    2017/11/11SUSE Studio Expressを使ってみた 6/19 SUSE Studio Express ● OBS でビルドできるディスクイメージ定義を作成してくれる ちょっとしたUI ● VirtualBox 向けのライブ CD を作ってみよう
  • 7.
    2017/11/11SUSE Studio Expressを使ってみた 7/19 テンプレートを選ぶ https://build.opensuse.org/image_templates
  • 8.
    2017/11/11SUSE Studio Expressを使ってみた 8/19 設定 設定はこれだけしかない
  • 9.
    2017/11/11SUSE Studio Expressを使ってみた 9/19 オンラインビルド
  • 10.
    2017/11/11SUSE Studio Expressを使ってみた 10/19 ライブCDにする ● テンプレートは HDD イメージを作るためのもの ● kiwi のファイルを編集してライブCDにする – kiwi: SUSE Studio の裏側で使われている ディスクイメージを作る仕組み – https://doc.opensuse.org/projects/kiwi/doc/ – https://github.com/openSUSE/kiwi
  • 11.
    2017/11/11SUSE Studio Expressを使ってみた 11/19 ローカルにチェックアウトして作業 $ osc checkout home:$username:xxxxx
  • 12.
    2017/11/11SUSE Studio Expressを使ってみた 12/19 ISO イメージテンプレートを参考に <rpm-excludedocs>true</rpm-excludedocs> <type - image="vmx" - filesystem="btrfs" - boot="vmxboot/suse-leap42.1" - format="vmdk" 中略 + image="iso" + primary="true" + boot="isoboot/suse-leap42.1" + flags="overlay" + hybrid="true" + firmware="efi" + kernelcmdline="splash" + hybridpersistent_filesystem="ext4" + hybridpersistent="true"> </type> + <package name="kiwi-desc-isoboot"/> <package name="fipscheck"/> /usr/share/kiwi/image/suse-leap-42.1-JeOS/config.xml
  • 13.
    2017/11/11SUSE Studio Expressを使ってみた 13/19 ローカルビルド $ osc build –vm-type=kvm ● KVM でビルドしないといけない ● ビルド環境のリソースは多めに ~/.oscrc # value in MB - e.g. 512 build-memory = 4048 # build-vmdisk-rootsize is the size of the disk-image used as root in a VM build # values in MB - e.g. 4096 build-vmdisk-rootsize = 8096
  • 14.
    2017/11/11SUSE Studio Expressを使ってみた 14/19 が、しかし [ 875s] Nov-09 16:37:10 <1> : EXEC [cp /usr/src/packages/KIWI-iso/iso/boot-iso.P9WykM/usr/ lib/grub2/x86_64-efi/* /usr/src/packages/KIWI-iso/iso/CD/boot/grub2/x86_64-efi 2>&1] [ 875s] Nov-09 16:37:11 <1> : EXEC [mv /usr/src/packages/KIWI-iso/iso/boot-iso.P9WykM/usr/ share/grub2/themes /usr/src/packages/KIWI-iso/iso/CD/boot/grub2 2>&1] [ 875s] Nov-09 16:37:11 <1> : EXEC [mv /usr/src/packages/KIWI-iso/iso/boot-iso.P9WykM/usr/ share/grub2/unicode.pf2 /usr/src/packages/KIWI-iso/iso/CD/boot] [ 875s] Nov-09 16:37:11 <1> : Creating grub2 efi boot image [ 875s] Nov-09 16:37:11 <1> : EXEC [/usr/bin/grub2-mkimage -O x86_64-efi -o /usr/src/packages/KIWI-iso/iso/CD/EFI/BOOT/bootx64.efi -c /usr/src/packages/KIWI-iso/iso/CD/boot/bootpart.cfg -d /usr/src/packages/KIWI-iso/iso/boot- iso.P9WykM/usr/lib/grub2/x86_64-efi fat ext2 part_gpt efi_gop iso9660 chain linux echo configfile boot search_label search_fs_file search search_fs_uuid ls video video_fb normal test sleep png gettext gzio efi_uga 2>&1] [ 875s] Nov-09 16:37:11 <3> : Couldn't create efi boot image: Usage: /usr/bin/grub2- mkimage [OPTION...] [OPTION]... [MODULES] [ 875s] Try '/usr/bin/grub2-mkimage --help' or '/usr/bin/grub2-mkimage --usage' for [ 875s] more information. [ 875s] Prefix not specified (use the -p option).
  • 15.
    2017/11/11SUSE Studio Expressを使ってみた 15/19 続く
  • 16.
    2017/11/11SUSE Studio Expressを使ってみた 16/19 続き ● 結局、バックエンドの kiwi のバグを直した
  • 17.
    2017/11/11SUSE Studio Expressを使ってみた 17/19
  • 18.
    2017/11/11SUSE Studio Expressを使ってみた 18/19 が、しかし Thanks for the patch it looks good and I'll merge it. But as a side not the last supported target distro for this kiwi version was Leap42.1 and I recommend to use the next generation kiwi http://suse.github.io/kiwi/ もうこれはサポートされてないよ。 次世代のkiwiが別のリポジトリにあるから、そっち使ってね
  • 19.
    2017/11/11SUSE Studio Expressを使ってみた 19/19 KIWI Next Generation ● Perl から Python に書き換えたバージョン – http://suse.github.io/kiwi/ ● ディスクイメージを作れる OS – CentOS 7 – Fedora 25 – openSUSE Leap 42 – Red Hat Enterprise 7 – SUSE Linux Enterprise 12 – Tumbleweed – Ubuntu Xenial