livaの雑記帳

始めてこのページを開いた人へ

基本情報 書いている人:Liva(@liva_jy) 学年:M2 生息域:都内 主に作ってる物: 何か(詳細はそのうち記事にする予定) github.com 過去作: x86向けOS(と言いつつ、カーネルだけ) 連絡はtwitterのDMでお願いします。

alpine linuxのminirootfsからqemuで起動する話

小さくて便利で皆大好きalpine linux。 docker触ってたら一度くらい使った事ありますよね?(個人の意見です)このalpine linuxではminirootfsというものが提供されています。これはalpineのファイルシステムをtar.gzに圧縮して固めたもので、公式サイトいわ…

ubpfで遊んでみる

eBPFくらい簡単に遊べるようになっておかないとまずいよな、という気持ちになったので、遊んだときの記録。とりあえずユーザーランドで動かしたいんじゃ、って思ったので、ubpfを使ってみる。 github.com clang入れるのと、pipで nose pyelftools parcon を…

Mac+dockerでx11アプリケーションを起動する

Mac上で動作するdockerコンテナ内で、GUIアプリケーションを起動したい事って良くあると思うんだけども、動かすまで結構手間取ったので記録に残しておく。ググるといろいろ出てくるけど、結論としてはこのページ通りにすると上手く行った。 medium.com XQuar…

qemu(not kvm)上のゲストOSへのsshが遅くてハゲるので何とかした備忘録

QEMU上でLinux動かす時、kvm有効化しないとめちゃくちゃ遅くないですか? ゲストOSはUbuntuなんですが、ログインシェル出るまで数分かかるとかありえねぇ!kvm有効化すると10秒掛からずに起動するのに!! ・・・みたいな感じで深夜の研究室でブチ切れてたん…

OSを好きなだけの普通の大学生が簡単に強くなる方法

raphine.hatenablog.com 以前こんな記事を書きました。 この記事の最後では「ここの記事に書いた内容を実践するだけじゃ大学生は強くなれないよ」と言い残したわけですが、多方面から「じゃあ大学生はどうすれば良いんだよ!」みたいなお叱りを頂いたので、…

普通の中高生でも簡単にOS分野で強くなる方法

釣りタイトルだと思った皆さん、残念ながら本記事は釣り記事ではありません。 安心して読み進めてください。

seccamp2018(補足4)

注:このページは、セキュリティ・キャンプ2018全国大会x86 OS ゼミにおいて私が担当するテーマ(最先端OS談義)について解説したものです。 詳しくはトップページを御覧ください。 独創的なOSを作るために私が必要だと考える3つの要素について 既にあるOS…

seccamp2018(補足2)

注:このページは、セキュリティ・キャンプ2018全国大会x86 OS ゼミにおいて私が担当するテーマ(最先端OS談義)について解説したものです。 詳しくはトップページを御覧ください。 「OSってなんだろう?」という問いで考える、物事の考え方 OSの定義は結構…

seccamp2018(補足3)

注:このページは、セキュリティ・キャンプ2018全国大会x86 OS ゼミにおいて私が担当するテーマ(最先端OS談義)について解説したものです。 詳しくはトップページを御覧ください。 「自分がOSと思った物がOSなんだ」論について SNSを見ていると、時々「OSの…

seccamp2018(補足1)

注:このページは、セキュリティ・キャンプ2018全国大会x86 OS ゼミにおいて私が担当するテーマ(最先端OS談義)について解説したものです。 詳しくはトップページを御覧ください。 なんで当日は議論が主体なの? これを読んでいる皆さんの中には「セキュリ…

seccamp2018(テーマ紹介)

注:このページは、セキュリティ・キャンプ2018全国大会 OS開発ゼミ において私が担当するテーマ(最先端OS談義)について解説したものです。 全国大会紹介ページ(IPA公式サイト) OS開発ゼミのについての説明(内田先生のブログ) はじめに 私のテーマでは…

seccamp2018(課題)

注:このページは、セキュリティ・キャンプ2018全国大会x86 OS ゼミにおいて私が担当するテーマ(最先端OS談義)の選択課題です。 テーマの概要についてはトップページを御覧ください。 課題 以下を良く読み、これらのOSについて思った事や皆さん自身でこれ…

セキュリティ・キャンプの審査基準について個人的に思う事

twitterのDMで以下のような質問を頂いたのだけど、多くの学生さんが似たような事を思ってるだろうな、と感じたので、こちらに転載させてもらいました。(質問者の方の同意を得ています) 原文ママです。 はじめまして。seccampについてです。様々な価値観の…

24コアARMとXeonでlinuxビルド対決

SynQuacer DevBoxで遊んでいる。 24コアARMでのmakeは十分に早いのか、誰もが気になる所なので、実験してみた。 Xeonと比較してしまうのは卑怯だ、という声もありそうだけども、気持ちとしては、 ネイティブARM開発環境を標榜するDevBox上でのビルドが、Xeon…

SynQuacer Developerbox をセットアップした

買った。 sp.chip1stop.com 参考: github.com ぶっちゃけ、このページ以外に情報が無い。 Liva師、ちゃんとこれを読んで組み立てたら発火とかしなかったんじゃないか?https://t.co/yKF8PfOPMm— Yojiro UO (@yojiro) 2018年3月7日 →ちゃんとマニュアルあり…

minimalなlinuxを作りたい、と思ったんだ

以下のツイートが結構反響があったので、どんな事をやったのかまとめておく。自分の勉強用に最小構成のlinuxを作ったので、githubに転がしておく(不要な.cファイルもパッと見つけられる限り削除した)https://t.co/KdTb6zgr8N— Liva (@liva_jy) 2018年2月8…

Pull Requestのレビューはpatchファイルでやるのが吉

凄くくだらない事を書く。 githubで送られてきたPull Requestをレビューするのが辛い。 何が辛いかというと、本質的な部分をレビューしたいのに、変数名の変更みたいな非本質的な要素が無限にあって、つらい。 良さげなレビューツールとか無いのかなー、と思…

HiKey960上でM.2 SSDの性能をゆるーく測定した。

この記事の続き。 raphine.hatenablog.com fioでベンチを取ってみる。 やり方は以下と同様。 raphine.hatenablog.com 上の記事内にあるUFS(HiKey960内蔵のFlashストレージ)の結果をこちらにも転記。 job数が4なので実際の速度はこの4倍。 UFS seq read: 1…

HiKey960のM.2コネクタがSSDを認識するようになった

この記事の続き。 raphine.hatenablog.com この記事を書いた時点では、AOSP(Hisilicon謹製のクローズドソースなブートローダから起動する)ではPCIデバイスが認識されるけど、UEFIからDebianを起動すると認識されなかった。UEFIがきちんとPCIを初期化しない…

HiKey960のM.2コネクタはSSDを認識するのだろうか<その2>

raphine.hatenablog.com これの続き。 Western DigitalのSSD等を買ってきて検証した結果、問題はSSDにあらずという事が分かった。 今手元にあるSSDは三種類。 www.samsung.com www.intel.co.jp あと、これ。 WD Black PCIe SSD | Western Digital(WD) で、…

Hikey960をfactory imageのAOSPに戻す

Debian入れてたけど、一度初期化したくなったので。 まずはBase Firmwareの初期化。 このリポジトリをダウンロードしてくる。 github.com DIPスイッチをRecovery-modeに設定してUSBケーブル2本を作業マシンと接続。(詳細は上のリポジトリのREADMEを参照) …

HiKey960のM.2コネクタはSSDを認識するのだろうか<その1>

HiKey960用にSSDを買ってきた。 www.samsung.com 挿した。 あの、これどうしろと、、、 pic.twitter.com/36oEBF9r1A— Liva (@liva_jy) 2017年12月27日 結局、こうなった。 いい加減フラフラなSSDにイラついてきたので、僕の全技術力を用いてボードを自作した…

Rump Kernelのreadが遅くてハゲかけたので調査

後輩氏から、「Rump Kernelのreadシステムコール、素のNetBSDよりも遅いぞ!ハゲ!」と言われてしまい、まだハゲたくはないので調べたメモ。 ちなみに前提として、既に一度ブロックキャッシュに載ったデータをreadしている事とする。 追記: この調査結果反…

gettimeofdayからclocksourceまでの道のり

clocksource作ってみたけど、gettimeofdayで反映されないぞ! どうせgettimeofdayはclocksourceなんて見てないんだろバーカバーカ! っていう邪悪な気持ちになったので、カーネルソースを追っかけた。 結論:ちゃんと見てる。 本編 linuxカーネル:v4.4.0 ge…

雑記(10月〜12月)

カーネル内変数をファイルシステムから簡単に書き換え可能にする。 #liva_notebookhttps://t.co/ZsGXsXvoHU — Liva (@liva_jy) 2017年10月16日 変数読み書きだけじゃなくて、関数の戻り値食わせたりもしたいですね? https://t.co/GLEZkLP8H2#liva_notebook …

HiKey960のストレージ性能をゆるく測定

この記事の続き。 raphine.hatenablog.com HiKey960の内蔵ストレージであるUFSの性能の測定をfioを用いて行う。 ジョブファイルはこんな感じ [global] direct=1 size=100m bs=4k numjobs=4 runtime=10 directory=/hoge/huga/ [read] rw=read [write] rw=writ…

HiKey960でDebianを起動する。

この記事の続き。 raphine.hatenablog.com DebianをSDカードにインストールする。 ちなみに、USBメモリにインストールしようとしたが、UEFIがUSBメモリを認識しないので、断念。 参考: Hikey960作業メモ5 - はまあさんはブログを使っています。 この記事だ…

HiKey960にUEFIを焼く

開発環境: ubuntu16.04 ボード: HiKey 960 www.96boards.org 最新の4GB版だよ!(11月までは3GBだった) Cortex-A73(2.36GHz) 4-coreとCortex-A53(1.84GHz) 4-coreの octa-core。 あのあの、2.36GHzとか、僕のMacBookPro(13-inch late 2016)のCore i7(2.4G…

僕の💩自作OS💩が研究室のネットワークを破壊するわけがない

出オチです。ごめんなさい。 背景 最近研究室で僕が自分で作ってるOSを起動すると、ラボのネットワークが不安定になるんですよね。YouTubeが見れなくて辛い。 一年くらい前に僕が研究室のネットワーク構築をした時は、僕のOSをインターネッツに繋いだ所で何…