2014-01-01から1年間の記事一覧
多分みなさんEDK2のビルドが面倒い最高で試すの嫌だと思うので、バイナリ配布しておきますね。 こちらです:https://s3.amazonaws.com/syuu1/mruby.efiブートローダのスクリプトはこちら: https://raw.githubusercontent.com/syuu1228/mruby_on_efi_shell/d…
OSvは、ハイパーバイザやIaaSプラットフォームへアプリケーションをデプロイすることに特化した軽量OSです(※詳しくはこちら)。今回はRuby on Railsで書かれたブログエンジン「Publify」をインストールしたOSvのイメージをGoogle Compute Engine(GCE)へデ…
mrubyでブートローダを書けるようにしました - かーねる・う゛いえむにっきの記事はlibc API経由でmrubyからUEFIの機能を使う話でした。 これとは別に、mruby on efi shellにはUEFIのネイティブAPIへアクセスするためのクラスが用意されているという話をしま…
カーネル/VM@関西7回目でお話したネタです。スライドはこちら: UEFI時代のブートローダ from Takuya Asada 既にmrubyはUEFIへ移植されています(覚え書き: mruby on EFI Shell)。また、EFI StubカーネルをUEFIアプリから実行するのは非常に簡単であるこ…
OSvはMacやWindows上のVirtualBox・VMware、VMware ESXiなど様々な環境で動作するのですが、ビルド環境はFedoraの最新版という極めて限られた環境でのみテストされています(理屈の上では他のディストリビューションでもビルド可能ですが、細かなパッケージ…
OSvは、ハイパーバイザやIaaSプラットフォームへアプリケーションをデプロイすることに特化した軽量OSです(※詳しくはこちら)。 また、CapstanはGo言語で実装されたOSvのデプロイツールです(※詳しくはこちら)。OSvはJVM上で動くアプリケーションをメイン…
OSv CLIの使い方 - かーねる・う゛いえむにっきで見たとおり、現状CLIのコマンドは非常に少なく、REST APIを直接呼び出して一部の操作を行わざるを得ない状態です。そこで、コマンドを足してOSvへコントリビューションしてみるのは如何でしょうか。 例えば、…
リモートCLIについて - かーねる・う゛いえむにっきでも紹介したCLIの使い方についてです。 リモートCLIに必要なもの まず、Linuxホスト側でCLIをインストールする必要があります(参照)。 その上で、httpserver(REST APIサーバ)を含むOSvのイメージを実…
CapstanはGo言語で実装されたOSvのデプロイツールです。 各種アプリケーションを含んだディスクイメージを1コマンドでダウンロードし、ローカルのKVMやVirtualBoxなどへデプロイすることが出来ます。以下に使い方を紹介します。 Capstanの対応環境 対応OSは…
OSvは、ハイパーバイザやIaaSプラットフォームへアプリケーションをデプロイすることに特化した軽量OSです(※詳しくはこちら)。OSvでは簡易CLIを実装するためにLua言語が使用されています。 この記事では、CLI以外の任意のLuaプログラムをOSv上で実行してみ…
OSvには簡易シェルとしてLua CLIが用意されていて、capstan経由でLua CLIしか入ってないVMイメージが配布されていたりするのですが、実はこのCLIは全てREST API上に実装されています。つまり、常にhttp://127.0.0.1:8000/へRESTを送ってシステムのAPIを叩い…
※この記事では後々mrbgemsを追加していく事などを意図してmrubyをビルドする事に拘っているが、単にmrubyをUEFIで試してみたいだけならば自分でビルドする必要はない。ここのHow to useからリンクされている"download page"をクリックすればダウンロードでき…
もうちょっと応用的な内容にトライしようと思ったら久々の開発環境整備で手間取ったので、まずどうやって試すのか、について書いてお茶を濁す。開発環境はFedora 20 + gcc-4.9 from rawhideという変則な環境だが、新しめのパッケージが使われているディスト…
ご注意:OSvは絶賛開発中のプロダクトであるため、将来のバージョンではここに書いてある通り動かない場合があります。 OSvとは OSvは、ハイパーバイザやIaaSプラットフォームへアプリケーションをデプロイすることに特化した軽量OSです。 Linuxで動作するい…
http://www.slideshare.net/syuu1228/intel-nuc の続きの話です。CURRENTにマージされたbug fixはMFCって言って、stableへマージされて次のRELEASEに含まれる仕組みになってるっぽいんですが、このパッチも無事取り込まれたようで、次のRELEASE(10.1, 9.3か…
前回の記事ではLinuxに絞ってcapstanを使ったmruby on OSvのビルド&実行方法を紹介しましたが、アプリケーションのコンパイルが他プラットフォームでは出来ないと説明しました。代わりに、github上にビルド済みのアプリケーションバイナリを置いて、OS Xでc…
OSvは最近capstanというビルド・デプロイツールが出来たので、以前のようにOSをビルドしなくてもアプリだけビルドしてVMイメージ作成&実行が簡単にできます。ここでは、@matsumotory氏がブログで解説されていたmruby-simplehttpserver用のcapstanリポジトリ…
Linux上のmikutterでリンクをクリックしたらMac上のブラウザで表示する方法 - かーねる・う゛いえむにっきの続きですが、「いや、おれMacとか使ってねぇし?不自由なOSユーザー氏ね!」みたいな声が聞こえてくる気がする*1ので、Linuxでも出来るかどうか考え…
VM上のLinuxでmikutterを動かしてたり、synergyで2台のPCを並べて使ってたりする場合に、TwitterだけLinuxのmikutterで眺めてWebはMacで見たい場合ってありませんか。僕はあります。 そんな時、SSHを使えば割と簡単に実現出来ます。 MacのSSHサーバを有効化 …
既にこのブログで第1回、第2回を公開していますが(追記:githubでの公開にあわせて削除済み)、原稿元データを含めて全ての回をgithubで公開することにしました。 githubリポジトリ 公開ページ 現在、TeXへの変換作業のボランティアを募集しています。 詳し…
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…
これの続き。Linuxでは僕の書いたpatchと同じ感じでreservedが来たらtriggerならlevel、polarityならlowを返すようにしています。 http://lxr.linux.no/linux+v3.13.5/arch/x86/kernel/acpi/boot.c#L1094ですので、このパッチをマージして貰うという事で良い…
bhyve用にこれ買ってみたんですよ、これ。まぁ新しいハードだし地雷だろうなと思ってたんだけど、面白そうにおもっちゃってつい人柱っちゃったんですよ。はい。したらもういきなりドハマリして。 FreeBSDが入っている2.5インチHDDを繋いでもレガシーブートモ…
こちらのサイトでシンプルな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%…
$ 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…
一部のLinuxカーネルと一部のIntel CPUの組み合わせでは「Unknown WRMSR code 391, val 2000000f, cpu 0」「vm exit rdmsr 0xe8, cpu 0」などのエラーがでる。 これは、該当するMSRへのアクセスをBHyVeがハンドルせずに異常終了して済ませてしまっているため…
OpenBSDサポートはまだ実験段階で、カーネルを改変したバージョンの5.4しか動かない。 この問題を回避するために、改変版カーネルがインストールされたディスクイメージをダウンロードする。 # cd bhyve-script # cp vm0 openbsd3 これから作るVMの名前にvm0…
# cd bhyve-script # cp vm0 freebsd2 これから作るVMの名前にvm0をコピー(末尾は数値で、他のVMと重複しない値でなければならない) # vi freebsd2 NIC=“em0” をお使いのNIC名に VCPUS=“1”を任意のvCPU数に VMRAM=1024”を任意のメモリサイズに DEVSIZE=“2G…
# cd bhyve-script # cp vm0 centos1 これから作るVMの名前にvm0をコピー(末尾は数値で、他のVMと重複しない値でなければならない) # vi centos1 NIC=“em0” をお使いのNIC名に VCPUS=“1”を任意のvCPU数に VMRAM=1024”を任意のメモリサイズに VMOS=“freebsd…
# 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 …