linux
エイプリルフールの日だったのでつい勢い余って書いてしまった。 公式リポジトリに含まれているわけではないが、Copr上に置いてあるので簡単な手順でリポジトリを手元のFedora環境で有効化できる。 以下がインストール方法になる: # dnf -y install dnf-plu…
singlefilelinuxとか名前を付けてみたが、新しいディストリを作ったり新しいツールを作ったりしたのではなく、単にGentooのLiveCDを単一のカーネルイメージに埋め込んでブート可能にしただけである。使い方は以下の通り: bootx64.efiをダウンロードする USB…
Linux上のmikutterでリンクをクリックしたらMac上のブラウザで表示する方法 - かーねる・う゛いえむにっきの続きですが、「いや、おれMacとか使ってねぇし?不自由なOSユーザー氏ね!」みたいな声が聞こえてくる気がする*1ので、Linuxでも出来るかどうか考え…
VM上のLinuxでmikutterを動かしてたり、synergyで2台のPCを並べて使ってたりする場合に、TwitterだけLinuxのmikutterで眺めてWebはMacで見たい場合ってありませんか。僕はあります。 そんな時、SSHを使えば割と簡単に実現出来ます。 MacのSSHサーバを有効化 …
USBからLEDのコントロールできるおもちゃ。 取り敢えずlsusb取ってみた: Bus 003 Device 005: ID 1d34:0004 Dream Cheeky Dream Cheeky Webmail Notifier Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interfa…
こちら。こんな感じにRubyスクリプトでNICを設定できるぜいえーい eth = Netif.new("eth0") eth.up eth.mtu = 1000 eth.set_addr("172.0.0.1", "255.255.255.0") puts "addr:#{eth.addr}" puts "netmask:#{eth.netmask}" puts "broadaddr:#{eth.broadaddr}" …
自分の書いているプログラムからNICの設定を直接弄りたくなった事はないだろうか? プログラム内からifconfigコマンドに引数をつけて実行すれば簡単に実現できるが、それはあんまり格好良くないし、情報を取り出そうとするとifconfigコマンドの出力文字列を…
wget http://ftp.netbsd.org/pub/NetBSD/NetBSD-6.0.1/amd64/installation/cdrom/boot-com.iso sudo qemu-img create -f qcow2 /var/lib/libvirt/images/netbsd.img 15G sudo virt-install --connect=qemu:///system -n netbsd --vcpus=4 -r 8192 --serial p…
前回の記事の続き。 FreeBSD-CURRENTのISOはシリアルコンソール用になっていないため、余計な作業が増えて面倒くさい。 よく読まずに作業を飛ばすとログイン手段をすべて失う事になるので注意されたい。また、このOSは--location引数でのセットアップには対…
おもしろいことに、Ubuntuゲストインストール時のvirt-installの引数のうち、locationのみCentOSのものに変更するとCentOSのインストーラがきちんと起動した(os-variantすら指定していない。URLからディストリを検出している?)。 Ubuntuは仮想シリアルコ…
$ sudo apt-get install libvirt-bin virtinst qemu-kvm $ sudo invoke-rc.d libvirt-bin start とりあえず必要なモノを入れてlibvirtdを立ち上げる。 $ sudo qemu-img create -f qcow2 /var/lib/libvirt/images/vm0.img 16G 16GBなVMイメージファイルを作成…
Linux kernelと言えばlist_for_eachみたいな謎のマクロでよくわからないがforeachできる事はよく知られているが、他にも色々あるのだなぁと知ったのでメモ。 #define for_each_possible_cpu(cpu) for_each_cpu((cpu), cpu_possible_mask) #define for_each_o…
Linuxで3万プロセス起動するとMCE(Machine Check Excepution)を食らうというよく分からない噂を聞いたので、興味を持ち試してみている。 但し、元実験は恐らくDebian stableでカーネルが2.6.32と古めだが、再現実験環境は最近入れたUbuntu Serverなので3.5…
3.8あたりからかな?最近のカーネルのnetconsoleにはoops_onlyってオプションがある。 $ sudo modprobe netconsole netconsole=6665@192.168.100.12/eth0,6666@192.168.100.11/04:0c:ce:xx:xx:xx oops_only=Y こんな感じに指定しとくと、panicした時のdmesg…
netconsoleは、dmesgの出力をUDPでリモートホストへ送る機能。 この機能のポイントは、カーネルがpanicした後でも送信してくれる(無理かもしれないけど努力はする)という事。 panic時のbacktraceとかも取れる。 送信側の設定 netconsoleモジュールの引数か…
ネットワークスタックの、割り込みコンテキストからプロセスをたたき起こすまでの処理はしっかり読んだつもりなのだが、プロセスコンテキストで寝ている側を深く把握していなかったのでちょっと眺めてみる。 システムコールからプロセスがスリープするまで(…
頑張れば回避可能なんだけどめんどくせぇからchrootedなdebian環境作ってそこで遊ぼうかなとも思ってたんだが、それも不便だと思い至ったので取り敢えずプリインストールパッケージをpinningする事にした。 dpkg -l|while read line do PKG=`echo $line|awk …
カーネル飛んだ時とか、RIP(EIP)からobjdump -d vmlinuxを見ながら位置を探したりしてたんだけれども、binutilsに含まれてるaddr2line使えばソースコードの行数簡単に見れたのね。まぁ、これがあるからといってobjdumpでディスアセンブルさせて眺めたいケ…
GRUB1なら良く知ってるんだけど、GRUB2って勉強不足で未だによく分からないのよね。 で、デフォルトカーネルを変えようとした訳だが、最近のUbuntuの/boot/grub/grub.cfgってサブメニューがあって、そこにカーネルの候補が入ってる形になってる。 grub.cfgか…
ユーザランドのkexecコマンドへ再起動後のカーネルを渡します。ELFパーサとかbzImageカーネルイメージパーサとか種類あるみたいだけど、それらがカーネルのレイアウト読み取って解釈を行なって、最終的にイメージとメモリレイアウトをシステムコール経由でカ…
なんかBIOS emulationなかなか動かないし、取り敢えずLinux loader欲しいよね。という気持ちが高まりつつある今日この頃、皆様如何お過ごしでしょうか。で、作ってみるならなるべく既存のプログラムを流用して楽にやりたいわけだが、bhyveloadに一番似てるLi…
netperfで負荷かけている時にカーネルのstatistics情報取って色々とグラフ作るツールがあったらいいなぁ、と思ったので作った。今のところperf statで取れるようなCPUのキャッシュの情報とかが取れてないが…とりあえず netperfとかやってる間にログに数値を…
あおたくんの記事と同じような話だが、Arch Linuxには/sbin/installkernelが無いので作ってみる。 で、ググるとこのあたりにそれっぽいものがあるんだが、これinitramfs作ってくれなかったので、作ってくれるようにちょっと改良した。このあたりから取れます…
sched:sched_migrate_taskイベントにフィルタルール「comm==bash」を適用、トレースを有効化してtrace_pipeから標準出力にトレース結果を出力 cd /sys/kernel/debug/tracing/events/sched/sched_migrate_task echo "comm==bash" > filter echo 1 > enable cat…
Implementing a layer 2 framework on linux network View more presentations from Takuya Asada
なんかArchのドキュメント見てもパッケージシステム使おうとしてるっぽくてよーわからんかったけど、そんな事せんでも普通にinitramfsが用意されてればブート出来るわけで。 tar xvjf linux-3.2.16.tar.bz2 cd linux-3.2.16 zcat /proc/config.gz > .config …
昨日作ったiSCSIのやつは使い勝手がいまいちだったので、やっぱりnetatalkを入れて普通に自作TimeCapsuleを作ることにした。 まぁこのへん読めって話なんだが。 事前作業 yaourt -Sy netatalk dbus avahi /etc/fstab UUID=017e0151-f13c-4c1e-8eb7-21965d825…
Arch Linux 基本的にやらなきゃいかんことは全部ここに書いてある: ISCSI Target - ArchWikiなので、ちょっとしたメモだけ。なんかpython2-setuptoolsが無いと途中でビルドが詰んだので先に入れる yaourt -Sy python2-setuptools yaourt -Sy targetcli-fb /…
ドキュメントがあんまりしっかりしてないのでここに書いておく。 ちなみにkdbというのは*BSDでいうddbである(説明になっていない。まず、カーネルの.configでこのあたりを有効にしてみる: CONFIG_KGDB_KDB=y CONFIG_KDB_KEYBOARD=y CONFIG_HAVE_ARCH_KGDB=…
なんかいつも通りに/etc/ssh/sshd_configに X11Forwarding yesとか設定すればいいかなって思ってたら X11 forwarding request failed on channel 0とか変なエラーでて使えないわけですよ。 なんだろ、って思ってググったらこんなの出てきた。 A note on X11-…