matsumotory氏のmruby-simplehttpserverをcapstanを使ってお手軽簡単にOSv向けにビルド&実行する

OSvは最近capstanというビルド・デプロイツールが出来たので、以前のようにOSをビルドしなくてもアプリだけビルドしてVMイメージ作成&実行が簡単にできます。ここでは、@matsumotory氏がブログで解説されていたmruby-simplehttpserver用のcapstanリポジトリ…

Linux上のmikutterでリンクをクリックしたら別のLinux上のブラウザで表示する方法

Linux上のmikutterでリンクをクリックしたらMac上のブラウザで表示する方法 - かーねる・う゛いえむにっきの続きですが、「いや、おれMacとか使ってねぇし?不自由なOSユーザー氏ね!」みたいな声が聞こえてくる気がする*1ので、Linuxでも出来るかどうか考え…

Linux上のmikutterでリンクをクリックしたらMac上のブラウザで表示する方法

VM上のLinuxでmikutterを動かしてたり、synergyで2台のPCを並べて使ってたりする場合に、TwitterだけLinuxのmikutterで眺めてWebはMacで見たい場合ってありませんか。僕はあります。 そんな時、SSHを使えば割と簡単に実現出来ます。 MacのSSHサーバを有効化 …

githubで公開することにしました

既にこのブログで第1回、第2回を公開していますが(追記:githubでの公開にあわせて削除済み)、原稿元データを含めて全ての回をgithubで公開することにしました。 githubリポジトリ 公開ページ 現在、TeXへの変換作業のボランティアを募集しています。 詳し…

FreeBSD-10 install image for Baytrail-M NUC(DN2820FYKH)

Intel Baytrail-M NUC(DN2820FYKH) causes kernel panic due to its broken ACPI table: http://www.freebsd.org/cgi/query-pr.cgi?pr=187966This install image includes patched kernel for the machine, you are able to install FreeBSD-10 on the machi…

Baytrail-M NUC(DN2820FYKH)でFreeBSDが起動しなかった話・解決編

これの続き。Linuxでは僕の書いたpatchと同じ感じでreservedが来たらtriggerならlevel、polarityならlowを返すようにしています。 http://lxr.linux.no/linux+v3.13.5/arch/x86/kernel/acpi/boot.c#L1094ですので、このパッチをマージして貰うという事で良い…

Baytrail-M NUC(DN2820FYKH)でFreeBSDが起動しなかった話

bhyve用にこれ買ってみたんですよ、これ。まぁ新しいハードだし地雷だろうなと思ってたんだけど、面白そうにおもっちゃってつい人柱っちゃったんですよ。はい。したらもういきなりドハマリして。 FreeBSDが入っている2.5インチHDDを繋いでもレガシーブートモ…

RubyでTAPを使ったトンネリングプログラムを実装してみる

こちらのサイトでシンプルなPythonの実装が配布されていたので、Rubyでも実装してみました。 require "socket" TUNSETIFF = 0x400454ca IFF_TAP = 0x0002 PEER = "192.168.0.100" PORT = 9876 tap = open("/dev/net/tun", "r+") tap.ioctl(TUNSETIFF, ["tap%…

OSvにマージされたmrubyを試す

$ sudo apt-get install openjdk-7-jdk autotools-dev libltdl-dev libtool autoconf autopoint libboost-all-dev \ genromfs zfs-fuse autoconf ant libffi-dev ruby bison gyp git build-essential qemu-utils qemu-system-x86 \ bridge-utils libvirt0 li…

FreeBSD 10.0-RELEASEのBHyVeでLinuxゲストが「WRMSR・RDMSR」などの単語を含むエラーメッセージと共に異常終了する場合

一部のLinuxカーネルと一部のIntel CPUの組み合わせでは「Unknown WRMSR code 391, val 2000000f, cpu 0」「vm exit rdmsr 0xe8, cpu 0」などのエラーがでる。 これは、該当するMSRへのアクセスをBHyVeがハンドルせずに異常終了して済ませてしまっているため…

FreeBSD 10.0-RELEASEのBHyVeでOpenBSD 5.4をインストールしてみよう

OpenBSDサポートはまだ実験段階で、カーネルを改変したバージョンの5.4しか動かない。 この問題を回避するために、改変版カーネルがインストールされたディスクイメージをダウンロードする。 # cd bhyve-script # cp vm0 openbsd3 これから作るVMの名前にvm0…

FreeBSD 10.0-RELEASEのBHyVeでFreeBSD 9.2-RELEASEをインストールしてみよう

# cd bhyve-script # cp vm0 freebsd2 これから作るVMの名前にvm0をコピー(末尾は数値で、他のVMと重複しない値でなければならない) # vi freebsd2 NIC=“em0” をお使いのNIC名に VCPUS=“1”を任意のvCPU数に VMRAM=1024”を任意のメモリサイズに DEVSIZE=“2G…

FreeBSD 10.0-RELEASEのBHyVeでCentOS 6.5をインストールしてみよう

# cd bhyve-script # cp vm0 centos1 これから作るVMの名前にvm0をコピー(末尾は数値で、他のVMと重複しない値でなければならない) # vi centos1 NIC=“em0” をお使いのNIC名に VCPUS=“1”を任意のvCPU数に VMRAM=1024”を任意のメモリサイズに VMOS=“freebsd…

FreeBSD 10.0-RELEASEのBHyVeでUbuntu 13.10をインストールしてみよう

# pkg install grub2-bhyve tmux # fetch http://bhyve.org/bhyve-script.tar # tar -xvf bhyve-script.tar # cd bhyve-script # cp vm0 ubuntu0 これから作るVMの名前にvm0をコピー(末尾は数値で、他のVMと重複しない値でなければならない) # vi ubuntu0 …

東京都檜原村潜入記録

正月を機に、以前より気になっていた檜原村に行くことが出来たので、再度訪れる時に便利なようにここに記録を残しておく。 檜原村とはどこだ? 八王子の西、サマーランドを経由して武蔵五日市駅から秋川渓谷に入り更にずっと山道を登っていった所にある小さ…

任意のアセンブリコードを仮想マシンで実行しちゃうRuby gemを作ってみた

このブログエントリはカーネル/VM Advent Calendar 2013 25日目の記事です。前回、カーネル/VM探検隊で「バインディングさえあればスクリプト言語でもゲストOSローダを実装出来る」という話をちらっとしました(資料)。今回の記事では、ゲストOSロ…

μOSvバイナリ配布

自前のスクリプトを内部に持ち込む術がないのでバイナリ版を配布しても無意味だと思って今までソースコード配布しかしてなかったんですが、一応作ってみました。 取り敢えずeshellでlsすることぐらいはできます。それ以上は自前ビルド版でどうぞ。 wget http…

mruby-eshellのご紹介

この記事はmruby Advent Calendar 2013の記事です。本当はμOSvでTwitterクライアントをテストしたかったんですが、大幅に予定の日をオーバーしてしまっていたので取り敢えずmruby-eshellのことを書きます。一言で言うと、mrubyで書かれたシェルです。コード…

ゲストOSのブートローダをホストOS上で動作するプログラムに翻訳する

このブログエントリはカーネル/VM Advent Calendar 2013 8日目の記事、および第九回カーネル/VM探検隊の発表の補足記事です。 発表資料と動画 このエントリだけでも理解できるように書いたつもりですが、はじめにこちらをみて頂いた方が分かりやすいかもし…

mruby専用クラウドOS「μOSv」を作りました

追記:μOSvはOSv本家にマージされました。 こちらのWikiの「OSvをビルドしてより多くのアプリを試す」以下を参照して下さい。 μOSvというものをgithubで公開したので、ここに簡単な説明を書いておきます。実行イメージ動画: これは何?(OSvを知らない人向…

OSv mruby moduleでソケットとかHTTPパーサとかSSLとかが一通り動くようになった

何が使えるかの詳細はこちらへ:osv-mruby/build_config.rb at master · syuu1228/osv-mruby · GitHubmruby-uvではなくiijのsocketなのでuv依存なコードが一切動かないんだが、ともあれHTTPとかHTTPSとか出来るようになった。 ただ、mirbがなんか壊れてるっ…

OSvで複数のNICを初期化する

OS

Support multiple NIC ソースコードを読んでみたらeth0をdhcpで初期化するとハードコーディングされていたので、何とかしてみた。 で、Cで書いたらC++でやろうよかっこわるいから、って言われてC++で書き直すことに…。こんな感じでNIC名をイテレートできるよ…

OSvにシンプルなHTTPDがあってもいいんじゃないかなと思ってthttpdを移植してみた

OS

Java application serverやらJRubyなapplication serverじゃなくて、スタティックなWebサイトをホスト出来るシンプルなHTTPDが動いたらよさそうだなーって思ったのでちょっとやってみた。OSvもmrbgemsみたいな感じに簡単にextensionを追加できるといいよね→…

OSvもmrbgemsみたいな感じに簡単にextensionを追加できるといいよね→やってみた

mrubyってRubyのgemsみたいな感じに拡張をmrbgemsっていう方式で追加できるんですが、mrubyの用途から言ってどこかのディレクトリにダイナミックリンクライブラリ+Rubyファイルで配置とかやってほしくなくてmruby本体に直接リンクしといて欲しいという感じ…

OSvへmruby-cfuncを移植してみたらとてもあっさりと動いた話

OSvへmrubyを移植してみたらとてもあっさりと動いた話 - かーねる・う゛いえむにっきの続きです。さて、OSvでmrubyが動くようになったのですがmrbgemsを追加していないのでこのままではAPIがむっちゃ少なくてなにも書けません。 でもmrbgemsの移植ってそれぞ…

OSvへmrubyを移植してみたらとてもあっさりと動いた話

注:この記事はカーネル/VM+K*BUG勉強会@関西 ごかいめのダイジェスト版です。 詳しくは、以下の動画とスライドをご覧下さい。 OSvは、OpenJDKを仮想環境で高速に動かす事を目指していて、ユーザは基本的にJavaアプリケーションしか実行しないという前提にな…

実際のところ別に/bin/[要らないよねという話

前にTLで話題になってたけど記憶からほぼ飛んでいたのでブログに書いとく。/bin/shがbashになってたりすると困るからFreeBSDで試したけど別にLinuxでもOSXでもそんなに変わらないはず。 標準シェルがbashの状態で/bin/[(別のOSでは/usr/bin/[かもしれない)…

クラウド向けOS「OSv」とは何か - ソースコードから調べてみる -

なにこれ KVM開発エンジニアらが立ち上げたベンチャーCloudius、クラウド向けOS「OSv」を発表 | OSDN Magazineで紹介されていたので興味を持って弄ってみた。 KVM/Xen専用のOSで、アプリケーションとしてJavaアプリケーションが動くという事のようだ。 基本…

マイクタイソンのアルコール依存症の治療について

こんなメールが届いたんだが…(困惑) Subject: マイクタイソンのアルコール依存症の治療についてはじめまして。 私は、現在中央アジアで活動をしているフランスのジャーナリストです。セシルと申します。現在、中央アジアで起こっている出来事のなかで興味…

Dream Cheeky Dream Cheeky Webmail Notifier届いた

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…