Kernel/VM/探検隊online part1 (自分のツィートのみ) #kernelvm_tw

0
Yoshikazu GOTO @goto_ipv6

retraga01 さんによる「Network Boot from Bell Labs」です。 #kernelvm #kernelvm_tw

2020-06-06 13:32:47
Yoshikazu GOTO @goto_ipv6

Network Boot ってなんでしたっけという話から。 #kernelvm #kernelvm_tw

2020-06-06 13:33:12
Yoshikazu GOTO @goto_ipv6

Network Boot は、 ・OS のイメージやブートローダーのイメージをリモートサーバーから持ってきてブート ・BIOS はネットワークスタックを自身で持っている #kernelvm #kernelvm_tw

2020-06-06 13:33:52
Yoshikazu GOTO @goto_ipv6

PXE Boot: ・昔から使われている ・標準化もされている ・UEFI 以前のレガシー BIOS でも ・iPXE という OSS な実装も ・TFTP を利用 → Dedicated なサーバーが必要に #kernelvm #kernelvm_tw

2020-06-06 13:34:41
Yoshikazu GOTO @goto_ipv6

HTTP Boot: ・2015 UEFI 2.5 からサポート ・HTTP を使ってファイルを転送 ・Apache などの Web サーバーを使ってサービス提供可能 ・Dedicated なサーバーが不要に #kernelvm #kernelvm_tw

2020-06-06 13:35:39
Yoshikazu GOTO @goto_ipv6

UEFI は Extensible なので拡張性がある ・UEFI はモジュラーデザイン →プロトコルを呼び出す ・UEFI はプロトコルのインストーラー機能を持っている #kernelvm #kernelvm_tw

2020-06-06 13:38:36
Yoshikazu GOTO @goto_ipv6

Simple File System Protocol: ・ファイルシステムを提供 →EFI_FILE_OPEN, EFI_FILE_CLOSE,EFI_FILE_DELETE,EFI_FILE_READ, ... #kernelvm #kernelvm_tw

2020-06-06 13:39:54
Yoshikazu GOTO @goto_ipv6

・操作自体はファイルシステムを限定していない →しかし UEFI はデフォルトでは FAT にしか対応していない #kernelvm #kernelvm_tw

2020-06-06 13:40:13
Yoshikazu GOTO @goto_ipv6

Rootkits: Ultimately Practical Use Case: ・UEFI Rootkit は UEFI をターゲットにしたマルウェア ・UEFI に入り込んで悪さを →別のカーネルのルートキットを入れたりなど #kernelvm #kernelvm_tw

2020-06-06 13:41:12
Yoshikazu GOTO @goto_ipv6

・世の中にそんなには出ていないが →rkloader, LoJax を紹介 →NTFS-3G を UEFI 向けにポートしており、NTFS を扱うことができる #kernelvm #kernelvm_tw

2020-06-06 13:42:30
Yoshikazu GOTO @goto_ipv6

Plan 9 File Protocol: ・Plan 9 from Bell Labs →UNIX の後継として開発 →9P はすべてがファイルとして扱えるように I/F を #kernelvm #kernelvm_tw

2020-06-06 13:45:40
Yoshikazu GOTO @goto_ipv6

9P Use cases: ・Linux のメインラインに v9fs ・VirtIO: virtio-9p→9P経由でゲストに見せる #kernelvm #kernelvm_tw

2020-06-06 13:47:26
Yoshikazu GOTO @goto_ipv6

・Windows: WSL2 では Windows 側にクライアントが入っている →Linux 側にサーバーを立てて Windows とファイルを共有 #kernelvm #kernelvm_tw

2020-06-06 13:47:47
Yoshikazu GOTO @goto_ipv6

9pfsPkg: -P Client for UEFI: ・Simple File System Protocol interface を提供 #kernelvm #kernelvm_tw

2020-06-06 13:49:03
Yoshikazu GOTO @goto_ipv6

・リモートの 9P ファイルシステムをローカルのシステム化のように扱える →ネットワークブートをそのまま使える ・Dedicated Server が不要 #kernelvm #kernelvm_tw

2020-06-06 13:49:17
Yoshikazu GOTO @goto_ipv6

9P Boot Overview: ・サーバーに 9P サーバーを立てておく →どこかのディレクトリをエクスポート ・9pfsPkg は UEFI ネットワークスタックを使って通信 #kernelvm #kernelvm_tw

2020-06-06 13:50:28
Yoshikazu GOTO @goto_ipv6

・UEFI のシェルは、ローカルから起動されたものと思っているし、GRUB も、ローカルから起動されたものと思っている #kernelvm #kernelvm_tw

2020-06-06 13:52:17
Yoshikazu GOTO @goto_ipv6

9pfsPkg を使ったアプリケーションを考えてみた: #kernelvm #kernelvm_tw

2020-06-06 13:52:34
Yoshikazu GOTO @goto_ipv6

Proxy Boot: Booting from Cloud Storage: ・サーバーにて、GCP ストレージ を gcsfuse を使って マウント ・GCS マウントしたディレクトリを 9P でエクスポート #kernelvm #kernelvm_tw

2020-06-06 13:53:58
Yoshikazu GOTO @goto_ipv6

Proxy Boot: Booting from GCS: ・BitVisor をブートしてみる →bitvisor.elf は本体 →loadvmm.efi が上のをロード #kernelvm #kernelvm_tw

2020-06-06 13:55:22
Yoshikazu GOTO @goto_ipv6

Yutaro Hayakawa さんによる「ipftrace: A Linux Function Tracer for Network People」です。 #kernelvm #kernelvm_tw

2020-06-06 13:58:51
1 ・・ 4 次へ