Submit Search
Upload
とある帽子の大蛇料理Ⅱ
•
2 likes
•
1,020 views
Masami Ichikawa
Follow
第6回カーネル/VM探検隊のLT
Read less
Read more
Technology
Report
Share
Report
Share
1 of 25
Download now
Download to read offline
Recommended
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築
Saito5656
Lxc cf201207-presen
Lxc cf201207-presen
Kouhei Maeda
Froyo DalvikVM JIT
Froyo DalvikVM JIT
Tetsuyuki Kobayashi
Tricky implementation of Go ARM soft float
Tricky implementation of Go ARM soft float
Tetsuyuki Kobayashi
ServerWorks Sonic! 003 LT - GlusterをZabbixで監視してみた
ServerWorks Sonic! 003 LT - GlusterをZabbixで監視してみた
Taira Hajime
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
Masahide Yamamoto
MINCS – containers in the shell script
MINCS – containers in the shell script
Masami Hiramatsu
GPD WINでStretchを動かす
GPD WINでStretchを動かす
Yuma Ohgami
Recommended
WSL2+docker+JupyterとVS Codeリモート環境の構築
WSL2+docker+JupyterとVS Codeリモート環境の構築
Saito5656
Lxc cf201207-presen
Lxc cf201207-presen
Kouhei Maeda
Froyo DalvikVM JIT
Froyo DalvikVM JIT
Tetsuyuki Kobayashi
Tricky implementation of Go ARM soft float
Tricky implementation of Go ARM soft float
Tetsuyuki Kobayashi
ServerWorks Sonic! 003 LT - GlusterをZabbixで監視してみた
ServerWorks Sonic! 003 LT - GlusterをZabbixで監視してみた
Taira Hajime
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
Masahide Yamamoto
MINCS – containers in the shell script
MINCS – containers in the shell script
Masami Hiramatsu
GPD WINでStretchを動かす
GPD WINでStretchを動かす
Yuma Ohgami
Casperjsのインストール
Casperjsのインストール
Kohei Misu
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
npsg
190925 python-windows
190925 python-windows
Takuya Nishimoto
A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0
Satoshi Kume
Cygwin 1.7 の紹介
Cygwin 1.7 の紹介
fd0
パケットジェネレータipgenから見るnetmap
パケットジェネレータipgenから見るnetmap
furandon_pig
Gstreamer Basics
Gstreamer Basics
Seiji Hiraki
UEFI時代のブートローダ
UEFI時代のブートローダ
Takuya ASADA
Lxc on cloud
Lxc on cloud
Yukihiko SAWANOBORI
initramfsについて
initramfsについて
Kazuhiro Nishiyama
MacPort_&_FTP_ver1.0
MacPort_&_FTP_ver1.0
Satoshi Kume
Iocage
Iocage
Yuichiro Naito
Linux Namespaces
Linux Namespaces
Masami Ichikawa
Outputz.vim
Outputz.vim
ryota ichie
Android デバッグ小ネタ
Android デバッグ小ネタ
l_b__
Introduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and Dracut
Taisuke Yamada
SELinux_Status_PoC_20170516
SELinux_Status_PoC_20170516
SecureOSS-Sig
Play with UEFI
Play with UEFI
Takuya ASADA
Patch101
Patch101
Tetsuyuki Kobayashi
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
Nobuto Murata
あなたの知らないネットワークプログラミングの世界
あなたの知らないネットワークプログラミングの世界
Ryousei Takano
Bish Bash Bosh & Co
Bish Bash Bosh & Co
Bish Bash Bosh & Co
More Related Content
What's hot
Casperjsのインストール
Casperjsのインストール
Kohei Misu
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
npsg
190925 python-windows
190925 python-windows
Takuya Nishimoto
A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0
Satoshi Kume
Cygwin 1.7 の紹介
Cygwin 1.7 の紹介
fd0
パケットジェネレータipgenから見るnetmap
パケットジェネレータipgenから見るnetmap
furandon_pig
Gstreamer Basics
Gstreamer Basics
Seiji Hiraki
UEFI時代のブートローダ
UEFI時代のブートローダ
Takuya ASADA
Lxc on cloud
Lxc on cloud
Yukihiko SAWANOBORI
initramfsについて
initramfsについて
Kazuhiro Nishiyama
MacPort_&_FTP_ver1.0
MacPort_&_FTP_ver1.0
Satoshi Kume
Iocage
Iocage
Yuichiro Naito
Linux Namespaces
Linux Namespaces
Masami Ichikawa
Outputz.vim
Outputz.vim
ryota ichie
Android デバッグ小ネタ
Android デバッグ小ネタ
l_b__
Introduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and Dracut
Taisuke Yamada
SELinux_Status_PoC_20170516
SELinux_Status_PoC_20170516
SecureOSS-Sig
Play with UEFI
Play with UEFI
Takuya ASADA
Patch101
Patch101
Tetsuyuki Kobayashi
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
Nobuto Murata
What's hot
(20)
Casperjsのインストール
Casperjsのインストール
ラズパイ2で動く Docker PaaSを作ってみたよ
ラズパイ2で動く Docker PaaSを作ってみたよ
190925 python-windows
190925 python-windows
A_road_to_AMBER_simulations_ver_1.0
A_road_to_AMBER_simulations_ver_1.0
Cygwin 1.7 の紹介
Cygwin 1.7 の紹介
パケットジェネレータipgenから見るnetmap
パケットジェネレータipgenから見るnetmap
Gstreamer Basics
Gstreamer Basics
UEFI時代のブートローダ
UEFI時代のブートローダ
Lxc on cloud
Lxc on cloud
initramfsについて
initramfsについて
MacPort_&_FTP_ver1.0
MacPort_&_FTP_ver1.0
Iocage
Iocage
Linux Namespaces
Linux Namespaces
Outputz.vim
Outputz.vim
Android デバッグ小ネタ
Android デバッグ小ネタ
Introduction to Initramfs - Initramfs-tools and Dracut
Introduction to Initramfs - Initramfs-tools and Dracut
SELinux_Status_PoC_20170516
SELinux_Status_PoC_20170516
Play with UEFI
Play with UEFI
Patch101
Patch101
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
Viewers also liked
あなたの知らないネットワークプログラミングの世界
あなたの知らないネットワークプログラミングの世界
Ryousei Takano
Bish Bash Bosh & Co
Bish Bash Bosh & Co
Bish Bash Bosh & Co
πολλαπλασιασμοι ενοτητα 11
πολλαπλασιασμοι ενοτητα 11
Γιαννόπουλος Γιάννης
100Gbpsソフトウェアルータの実現可能性に関する論文
100Gbpsソフトウェアルータの実現可能性に関する論文
y_uuki
User-space Network Processing
User-space Network Processing
Ryousei Takano
xv6のコンテキストスイッチを読む
xv6のコンテキストスイッチを読む
mfumi
デバドラを書いてみよう!
デバドラを書いてみよう!
Masami Ichikawa
I/O仮想化最前線〜ネットワークI/Oを中心に〜
I/O仮想化最前線〜ネットワークI/Oを中心に〜
Ryousei Takano
Disruptive IP Networking with Intel DPDK on Linux
Disruptive IP Networking with Intel DPDK on Linux
Naoto MATSUMOTO
x86とコンテキストスイッチ
x86とコンテキストスイッチ
Masami Ichikawa
クラウド環境におけるキャッシュメモリQoS制御の評価
クラウド環境におけるキャッシュメモリQoS制御の評価
Ryousei Takano
DPDKを拡張してみた話し
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
Masaru Oki
Dpdk環境の話
Dpdk環境の話
Masaru Oki
Intel 82599 10GbE Controllerで遊ぼう
Intel 82599 10GbE Controllerで遊ぼう
Takuya ASADA
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Takuya ASADA
Viewers also liked
(16)
あなたの知らないネットワークプログラミングの世界
あなたの知らないネットワークプログラミングの世界
Bish Bash Bosh & Co
Bish Bash Bosh & Co
πολλαπλασιασμοι ενοτητα 11
πολλαπλασιασμοι ενοτητα 11
100Gbpsソフトウェアルータの実現可能性に関する論文
100Gbpsソフトウェアルータの実現可能性に関する論文
User-space Network Processing
User-space Network Processing
xv6のコンテキストスイッチを読む
xv6のコンテキストスイッチを読む
デバドラを書いてみよう!
デバドラを書いてみよう!
I/O仮想化最前線〜ネットワークI/Oを中心に〜
I/O仮想化最前線〜ネットワークI/Oを中心に〜
Disruptive IP Networking with Intel DPDK on Linux
Disruptive IP Networking with Intel DPDK on Linux
x86とコンテキストスイッチ
x86とコンテキストスイッチ
クラウド環境におけるキャッシュメモリQoS制御の評価
クラウド環境におけるキャッシュメモリQoS制御の評価
DPDKを拡張してみた話し
DPDKを拡張してみた話し
Xeon dとlagopusと、pktgen dpdk
Xeon dとlagopusと、pktgen dpdk
Dpdk環境の話
Dpdk環境の話
Intel 82599 10GbE Controllerで遊ぼう
Intel 82599 10GbE Controllerで遊ぼう
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Similar to とある帽子の大蛇料理Ⅱ
about DakotagUI
about DakotagUI
Etsuji Nomura
Gulp ことはじめ
Gulp ことはじめ
Kyohei Morimoto
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
Hide Koba
Unixカーネルの設計 7 プロセスの制御
Unixカーネルの設計 7 プロセスの制御
Norito Agetsuma
Building production server on docker
Building production server on docker
Hiroshi Miura
Building production server on docker
Building production server on docker
Hiroshi Miura
Capistrano
Capistrano
Yasuharu Fukuda
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
Mori Shingo
PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門
Yosuke Onoue
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
5mingame2
Ansible2.0と実用例
Ansible2.0と実用例
OSSラボ株式会社
0621 ndk game
0621 ndk game
cat kaotaro
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
Etsuji Nakai
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
Taisuke Yamada
ソフトウェア工学2023 07 バージョン管理
ソフトウェア工学2023 07 バージョン管理
Toru Tamaki
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Tetsuyuki Kobayashi
Hatochan's Resume 20130216@Koedolug
Hatochan's Resume 20130216@Koedolug
Kentaro Hatori
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
Metro
Metro
Kazunori Kojima
Nseg20120929
Nseg20120929
hiro345
Similar to とある帽子の大蛇料理Ⅱ
(20)
about DakotagUI
about DakotagUI
Gulp ことはじめ
Gulp ことはじめ
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
Unixカーネルの設計 7 プロセスの制御
Unixカーネルの設計 7 プロセスの制御
Building production server on docker
Building production server on docker
Building production server on docker
Building production server on docker
Capistrano
Capistrano
Node予備校 vol.1 名古屋
Node予備校 vol.1 名古屋
PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門
どこでも動くゲームを作るためのベタープラクティス
どこでも動くゲームを作るためのベタープラクティス
Ansible2.0と実用例
Ansible2.0と実用例
0621 ndk game
0621 ndk game
環境構築自動化ツールのご紹介
環境構築自動化ツールのご紹介
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
ソフトウェア工学2023 07 バージョン管理
ソフトウェア工学2023 07 バージョン管理
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Linuxのユーザーランドをinitから全てまるごとgolangで書く
Hatochan's Resume 20130216@Koedolug
Hatochan's Resume 20130216@Koedolug
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Metro
Metro
Nseg20120929
Nseg20120929
More from Masami Ichikawa
Linux debug
Linux debug
Masami Ichikawa
Slub alloc and free
Slub alloc and free
Masami Ichikawa
Slub data structure
Slub data structure
Masami Ichikawa
SystemV IPC
SystemV IPC
Masami Ichikawa
Linux Namespace
Linux Namespace
Masami Ichikawa
Gnomeとdogtai
Gnomeとdogtai
Masami Ichikawa
Minix smp
Minix smp
Masami Ichikawa
More from Masami Ichikawa
(7)
Linux debug
Linux debug
Slub alloc and free
Slub alloc and free
Slub data structure
Slub data structure
SystemV IPC
SystemV IPC
Linux Namespace
Linux Namespace
Gnomeとdogtai
Gnomeとdogtai
Minix smp
Minix smp
Recently uploaded
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
Recently uploaded
(9)
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
とある帽子の大蛇料理Ⅱ
1.
Twitter : @masami256 Mail
: masami@fedoraproject.org
2.
Anaconda Overview ●
Stage1,2 の 2 段階でインストーラが起動 ● Stage1 ● ブートオプション処理 ● メディアチェック ● ネットワーク設定(必要なら) ● Stage2 の実行 ● Stage2 ● 言語、キーボード、パーティション設定などの 実際のインストール処理
3.
これが出ると Stage1 完了
4.
5.
Anaconda Programming C(Stage1) と
Python(Stage2) GUI は PyGtk
6.
Anaconda UI ●
インストーラの機能( GUI を使う場合)は以 下のファイルにクラスを登録 ● dispatch.py ● gui.py ● installclass.py
7.
dispatch.py ●
インストール手順に関するファイル ● 各機能が動く順番を設定 ● 次のステップに進む / 前のステップに戻るなど の処理を実施 installSteps = [ ("kernelvm_top", ), ("installTinyCoreNag", installTinyCoreNagScreen, ), キー名 関数名
8.
gui.py ●
GUI に関する基本的な処理を実施 ● 変数 stepToClass にキー名とファイル名、クラ ス名を設定 stepToClass = { "kernelvm_top" : ("kernelvm_top_gui", "KernelvmTopWindow"),
9.
installcalss.py ● ●
dispatch クラスに dispath.py で登録したキー名を登録 dispatch.setStepList( "kernelvm_top", "installTinyCoreNag",
10.
Anaconda UI and
Logic ● UI 周りの処理と、実際の処理はファイルが分 かれてます ● pyanaconda/language.py – 言語回りでの処理を実施 ● pyanaconda/iw/language_gui.py – Langauge の画面に関する処理 ● GUI のコード ● PyGtk の場合は pyanaconda/iw ● テキストの場合は pyanaconda/textw
11.
iw/kernelvm_top_gui.py class KernelvmTopWindow (InstallWindow):
windowTitle = "Kernel/VM" #N_("KernelVM") def __init__ (self, ics): InstallWindow.__init__ (self, ics) ics.setGrabNext (1) self.anaconda = None def getScreen (self, anaconda): self.anaconda = anaconda box = gtk.VBox (False, 10) pix = gui.readImageFromFile ("kernelvm.png") if pix: a = gtk.Alignment () a.add (pix) a.set (0.5, 0.5, 1.0, 1.0) a.set_size_request(200, -1) box.pack_start (a, False) box.pack_start(self.createHbox()) return box
12.
kerenelvm_top.py class kernelvm_top (object):
def __init__ (self, display_mode = 'g'): pass def write(self, instPath): pass def writeKS(self, f): pass
13.
14.
Anaonda Testing ●
iso イメージ作るのは大変です>< ● 既存の iso イメージ弄るのも面倒 ● そこで updates.img の出番です!
15.
updates.img ●
make updates するだけ ● updates.img というファイルができます ● 差分のあるファイルのみを抽出して cpio でまと めて gzip したファイルです ● .spec ファイルのリリースバージョン、 git の tag から差分を見ているようです ● ブート時にオプションを渡します ● updates=http://10.0.2.2/updates.img
16.
Anaconda 弄りは割と手軽にできますね ^q^
17.
ってことで作りました
18.
Linux の代わりに自作カーネルのインストール
19.
誰得?
20.
変更箇所 ●
yuminstall.py ● rpm ファイルのインストール部分 ● bootloader.py ● Grub 周りの処理 ●
21.
packages.py def doInstallTinyCore(self, anaconda):
gzipImage = "/tmp/updates/tinycore.gz" f = gzip.open(gzipImage, 'rb') data = f.read() cpioFile = "/tmp/tinycore.cpio" w = open(cpioFile,'wb') w.write(data) w.close() f.close() cmd = "cd %(rootPath)s && cpio -id < %(cpiofile)s" % {'rootPath' : anaconda.rootPath, 'cpiofile' : cpioFile} os.system(cmd)
22.
bootloader.py def installGrubForTinyCore(anaconda):
Grub の rpm を /mnt/sysimage にインストール grub-install –root-directroy=/mnt/sysimage /dev/sda grub –batch --device-map=/dev/null << EOFndevice (hd0)t%(sda)s1nroot (hd0)nsetup (hd0)nquitnEOF カーネルを /mnt/sysimage/boot にコピー
23.
bootloader.py def writeBootloader(anaconda): # for
(version, arch, nick) in # anaconda.backend.kernelVersionList(anaconda.rootPath): # if plainLabelUsed: # kernelList.append(("%s-%s" %(kernelLabel, nick), # "%s-%s" %(kernelLongLabel, nick), # version)) # else: # kernelList.append((kernelLabel, kernelLongLabel, version)) # if nick != "base": # defkern = "kernel-%s" %(nick,) # plainLabelUsed = 1 kernelList.append(('miko', 'miko', '0'))
24.
カーネル自作したら Anaconda でインストーラを作り
配布しましょう\ (^o^) /
25.
URL ●
Fedora Anaconda repogitory ● git://git.fedorahosted.org/git/anaconda.git ● Anaconda for Ore ore kernel ● https://github.com/masami256/Anaconda-for- ore-ore-kernel
Download now