サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
syuu1228.hatenablog.com
とりあえず色々みてみた。 lspci $ lspci 00:00.0 Host bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DMI2 (rev 01) 00:01.0 PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 1 (rev 01) 00:02.0 PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 2 (rev 01) 00:02.2 PCI bridge: Intel Corporation Xeon E7 v4/Xeon E5 v
エイプリルフールの日だったのでつい勢い余って書いてしまった。 公式リポジトリに含まれているわけではないが、Copr上に置いてあるので簡単な手順でリポジトリを手元のFedora環境で有効化できる。 以下がインストール方法になる: # dnf -y install dnf-plugins-core # dnf -y copr enable syuu1228/mikutter # dnf -y install mikutter たった三行コマンドであなたのFedoraもておくれに
温泉ハッカソン Advent Calendar 2016 25日目の記事です。 前回のおさらい カーネル/VM探検隊の参加者を中心としたメンバー(不定)で山奥に集まりみんなでわいわいやりながら好きな作業をするイベント「カーネル/VMキャンプ」を不定期で年に数回開催しています。 今回はカーネル/VMキャンプが発足する以前に秋山郷で行われた秋山郷発火村'15の話を書きます。 場所は前回の記事と同じなので、差分情報だけ載せることにします。 ハッカソン会場 小赤沢にある苗場荘を利用させていただきました。 「グループで客室に篭ってPCで作業したい」「インターネットを使いたい」旨説明して、大部屋を割り当てていただきました。 一泊二食6800円・冬季暖房料200円、温泉はありませんが楽養館の割引券がもらえます。 こちらは前回紹介したかたくりの宿と比較して小規模で大きな古民家のような建物の民宿で雰囲気があ
温泉ハッカソン Advent Calendar 2016 23日目の記事です。 前回のおさらい カーネル/VM探検隊の参加者を中心としたメンバー(不定)で山奥に集まりみんなでわいわいやりながら好きな作業をするイベント「カーネル/VMキャンプ」を不定期で年に数回開催しています。 今回はカーネル/VMキャンプが発足する以前に秋山郷で行われた秋山郷発火村'14の話を書きます。 秋山郷 秋山郷とは、新潟県中魚沼郡津南町と長野県下水内郡 (しもみのちぐん)栄村にまたがる中津川上流域に点在する山間の13の集落の総称で、「秘境」と紹介されていることが多い場所です(日本の秘境100選の一つ)。 かぐらスキー場・苗場スキー場の山の裏側にあたり、標高が500〜1000mほどになることもあり、冬は豪雪地帯です。 湯量が豊富なので温泉宿が集落ごとにあり、それぞれ泉質の異なる様々な温泉を楽しむことができます(日帰り
温泉ハッカソン Advent Calendar 2016 18日目の記事です。 前回のおさらい カーネル/VM探検隊の参加者を中心としたメンバー(不定)で山奥に集まりみんなでわいわいやりながら好きな作業をするイベント「カーネル/VMキャンプ」を不定期で年に数回開催しています。 今回は群馬県みなかみ町で行われたカーネル/VMキャンプの話を書きます。 群馬県みなかみ町 みなかみ町は群馬の最果て、新潟県湯沢町のすぐ手前で、谷川岳・武尊山の麓のエリアです。 確かに山がちのエリアではありますが、市町村の規模としては前回までに紹介した奥多摩の方の村とは比べ物にならないくらい大きく、町内に駅も有るし駅前には土産屋が並んでいたりします。 町内に温泉地が18箇所、スキー場が4つあるような観光地で、有名な苗場スキー場も近所です(関東から苗場スキー場に行く場合はみなかみ町を通過します)。 こう長々と説明しなくて
温泉ハッカソン Advent Calendar 2016 10日目の記事です。 前回のおさらい カーネル/VM探検隊の参加者を中心としたメンバー(不定)で山奥に集まりみんなでわいわいやりながら好きな作業をするイベント「カーネル/VMキャンプ」を不定期で年に数回開催しています。 前回の記事前回の記事では最新の回が開催された山梨県小菅村を紹介しましたが、今回はかつて当ダイアリーでも紹介した(東京都檜原村潜入記録)東京都檜原村で行われたカーネル/VMキャンプの話を書きます。 なお、ハッカソン以外の一般的な檜原村情報については東京都檜原村潜入記録の記事を一部再加工して利用しました。 檜原村 八王子の西、サマーランドを経由して武蔵五日市駅から秋川渓谷に入り更にずっと山道を登っていった所にある小さな山村で、島嶼部を除いた東京都の本州における唯一の村。或いは東京のチベット。 (檜原村とは) 東京の一番奥
温泉ハッカソン Advent Calendar 2016 3日目の記事です。 昨日より山梨県小菅村でカーネル/VMキャンプ #4を開催しているので、こちらのハッカソン会場と温泉を紹介しようと思います。 カーネル/VMキャンプってなに? 「カーネル/VM探検隊っぽいハッカソンイベント」です。 カーネル/VM探検隊の主催者や常連参加者が中心に参加しており、特にジャンルの縛りや成果発表などはなくみんなで集まってわいわいやりながら各自好きな作業をするイベントです。 もうひとつのイベントの特徴として、毎回山奥で開催される掟になっています。 開催場所によってはロードバイクで宿まで来る参加者がいたり、山へハイキングに行く参加者がいたりします。 小菅村 小菅村は奥多摩湖の西側、大月の北側、檜原村(※)から山ひとつ越えた裏側にある人口約700人の山間の小さな村です。多摩川源流の小菅川での釣りと周辺の山でのハ
singlefilelinuxとか名前を付けてみたが、新しいディストリを作ったり新しいツールを作ったりしたのではなく、単にGentooのLiveCDを単一のカーネルイメージに埋め込んでブート可能にしただけである。 使い方は以下の通り: bootx64.efiをダウンロードする USBメモリにEFI\BOOT\ディレクトリを作ってそこにコピーする USBメモリを刺してPCを再起動。起動してこない時はブートオーダをUEFIの設定画面で変更、USBディスクを優先にする これで普段データを入れておく用のUSBメモリからデータを消すことなくLinuxのインストールをしたり、壊れたbtrfsの復旧作業が出来るようになった。 なお、UEFI専用なので当然のことながらUEFI非対応のPCでは使えない。 また、UEFIはexFATに対応していないので32GBを超える容量のUSBメモリでこれを使う事は難しい(
OSvは、ハイパーバイザやIaaSプラットフォームへアプリケーションをデプロイすることに特化した軽量OSです(※詳しくはこちら)。 今回はRuby on Railsで書かれたブログエンジン「Publify」をインストールしたOSvのイメージをGoogle Compute Engine(GCE)へデプロイしてみます。 プロジェクトを作成 まずOSv用にプロジェクトを作成してみます。 Cloud Storageの登録 Cloud Storageが有効化されてなかったので登録しておきます。 GCE SDKのインストール GCE管理用のコマンド群を使用するため、SDKをインストールします。 curl https://sdk.cloud.google.com | bash プロジェクトIDの設定 先ほど作成したプロジェクトへログインしてIDを設定します。 gcloud auth login gclo
カーネル/VM@関西7回目でお話したネタです。スライドはこちら: UEFI時代のブートローダ from Takuya Asada 既にmrubyはUEFIへ移植されています(覚え書き: mruby on EFI Shell)。 また、EFI StubカーネルをUEFIアプリから実行するのは非常に簡単であることが分かっています(実際にソースコードを書いて実験しました)。 以上のことから、「mrubyにEFI Stubカーネルのファイル名を指定したら実行するAPIを足せば、mrubyでブートローダが実装可能になるに違いない」と考えました。 ただ面白いというだけでなく、mruby-socket・mruby-simplehttp-socketなどのmrbgemsを移植していけばブート処理を記述したmrubyスクリプトやカーネルそのものをHTTPから取得することが出来るようになり、簡単なスクリプトで
もうちょっと応用的な内容にトライしようと思ったら久々の開発環境整備で手間取ったので、まずどうやって試すのか、について書いてお茶を濁す。 開発環境はFedora 20 + gcc-4.9 from rawhideという変則な環境だが、新しめのパッケージが使われているディストリならこれと状況は大きく変わらない。 なおアーキテクチャはX64とする。32bit環境については取り扱わない。 まずはEDK2のお決まりのビルド作業について。 git clone https://github.com/tianocore/edk2.git cd edk2 make -C edk2/BaseTools . edksetup.shConf/target.txtを開いて以下のように変更する。 ACTIVE_PLATFORM = AppPkg/AppPkg.dsc TOOL_CHAIN_TAG = GCC49 TA
ご注意:OSvは絶賛開発中のプロダクトであるため、将来のバージョンではここに書いてある通り動かない場合があります。 OSvとは OSvは、ハイパーバイザやIaaSプラットフォームへアプリケーションをデプロイすることに特化した軽量OSです。 Linuxで動作するいくつかのアプリケーションが動きますが、Linuxを使わずにフルスクラッチで実装されています。 詳しくはOSCの発表スライドを見て下さい。 提供される機能 Linux互換 libc API(一部のLinuxアプリケーションとの互換性) position independentでビルドされたLinux/x86_64バイナリのロード&実行 ZFS TCP/IP(IPv4 only)、DHCP SMP シングルプロセス/マルチスレッド REST APIによるプログラマブルな管理機構 Luaで実装された簡易シェル 簡易デプロイツール「Caps
前回の記事ではLinuxに絞ってcapstanを使ったmruby on OSvのビルド&実行方法を紹介しましたが、アプリケーションのコンパイルが他プラットフォームでは出来ないと説明しました。 代わりに、github上にビルド済みのアプリケーションバイナリを置いて、OS Xでcapstanを使ってOSvのイメージを作成&実行することに成功したので、これを紹介します。 brewで必要になるアプリをインストール brew install go qemu git 環境変数を設定 echo 'export GOPATH=$HOME/go' >> $HOME/.profile echo 'export PATH=$PATH:$GOPATH/bin' >> $HOME/.profile source $HOME/.profile VirtualBoxをインストール Downloads – Oracle
Linux上のmikutterでリンクをクリックしたらMac上のブラウザで表示する方法 - かーねる・う゛いえむにっきの続きですが、「いや、おれMacとか使ってねぇし?不自由なOSユーザー氏ね!」みたいな声が聞こえてくる気がする*1ので、Linuxでも出来るかどうか考えてみました。 で、なんか10秒くらい考えた結果、出来そうなのでここに書いておきます。 基本的な設定は前回の記事と全く同じなのでそちらを参照して下さい。 シェルスクリプトだけ違うものを使います。 cat > open <<EOS #!/bin/sh ssh teokure.local env DISPLAY=:0.0 xdg-open $* EOS chmod +rx openあんまりしっかり試してないけど多分これで大丈夫 *1:完全な被害妄想
VM上のLinuxでmikutterを動かしてたり、synergyで2台のPCを並べて使ってたりする場合に、TwitterだけLinuxのmikutterで眺めてWebはMacで見たい場合ってありませんか。僕はあります。 そんな時、SSHを使えば割と簡単に実現出来ます。 MacのSSHサーバを有効化 システム環境設定→共有でリモートログインにチェック。 Linuxにmulticast DNSを設定 FedoraやUbuntuのようなお手軽ディストリなら設定済みです。 GentooやArchやDebianの人はこのへんを見て設定して下さい。 ここでmulticast DNSを敢えて使用するのは、DHCPでMacのIPアドレスが変更されたり、VMのネットワーク設定が変わってホスト側のMacのIPアドレスが変わって見えたりしたときにもIPアドレスを自動的に解決する方法として適しているからです。
bhyve用にこれ買ってみたんですよ、これ。まぁ新しいハードだし地雷だろうなと思ってたんだけど、面白そうにおもっちゃってつい人柱っちゃったんですよ。はい。 したらもういきなりドハマリして。 FreeBSDが入っている2.5インチHDDを繋いでもレガシーブートモードでブートセクタが認識されている様子が無い USBメモリやUSB CD-ROMを認識する気配も無い ふと何となくHDDを抜いてUSBメモリを刺したらUbuntuがあっさり起動 …それ、電源容量足りてないのでは? HDDをSSDに差し替えてみたらUSBメモリとSSD両方認識 でもUEFIの設定画面でブートデバイスのリスト空になったりするし、ブートセレクタでUSBメモリでてこないし UEFIの設定画面のメモリ容量0GBだし UEFIの設定画面からネット経由のファームアップを選んだらエラーメッセージ UEFIの設定画面からUSBメモリ経由
こちらのサイトでシンプルな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%d", IFF_TAP].pack("a16S")) sock = UDPSocket.open sock.bind("0.0.0.0", 9876) peer = Socket.pack_sockaddr_in(PORT, PEER) while true ret = IO::select([sock, tap]) ret[0].each do |d| if d == tap sock.sen
# cd bhyve-script # cp vm0 centos1 これから作るVMの名前にvm0をコピー(末尾は数値で、他のVMと重複しない値でなければならない) # vi centos1 NIC=“em0” をお使いのNIC名に VCPUS=“1”を任意のvCPU数に VMRAM=1024”を任意のメモリサイズに VMOS=“freebsd”を”linuxに VMOSVER=“9.2-RELEASE”を”centos6.5”に DEVSIZE=“2G”を任意のディスクサイズに それぞれ変更。 # sh centos1 iso ISOファイルがダウンロードされ、ブートローダが起動する。 “Error processing drive: pci-0000:00:02.0-virtio-pci-virtio0”というようなエラーが表示されたら「Re-initialize all」を選択する
正月を機に、以前より気になっていた檜原村に行くことが出来たので、再度訪れる時に便利なようにここに記録を残しておく。 檜原村とはどこだ? 八王子の西、サマーランドを経由して武蔵五日市駅から秋川渓谷に入り更にずっと山道を登っていった所にある小さな山村で、島嶼部を除いた東京都の本州における唯一の村。或いは東京のチベット。 (檜原村とは) 東京の一番奥として良く話題に上がる奥多摩駅・奥多摩湖の辺り(奥多摩町)からは南側に位置している。 村内の約60%の地域が秩父多摩甲斐国立公園の指定地域で、村内に鉄道駅はなく、最寄り駅は武蔵五日市駅で場所によっては駅からバスで65分かかるというようなところ。 おんせん&はっかそん候補 温泉宿でハッカソンしたいなぁ、と思って良さそうな場所を探している時に、日本秘湯を守る会のWebサイトで「東京都」で検索したら蛇の湯温泉 たから荘が表示されて、ここいいかもしれないなぁ
このブログエントリはカーネル/VM Advent Calendar 2013 25日目の記事です。 前回、カーネル/VM探検隊で「バインディングさえあればスクリプト言語でもゲストOSローダを実装出来る」という話をちらっとしました(資料)。 今回の記事では、ゲストOSローダではなくてもっと実験的な、簡単なアセンブリコードをRubyスクリプトからハイパーバイザへ投入する仕組みを実装したのでこれを紹介します。 ruby-virtualmachine ruby-virtualmachineというgemを作成しました。 これを用いて、任意のアセンブリコードをアセンブル・ロード・VM上で実行、までの一連の処理をわずかな行数のRubyスクリプトで行えます。 インストール BHyVeが正常動作するFreeBSD 10.0以降の環境が必要です。 インストールコマンドは以下の通りになります。 $ gem in
自前のスクリプトを内部に持ち込む術がないのでバイナリ版を配布しても無意味だと思って今までソースコード配布しかしてなかったんですが、一応作ってみました。 取り敢えずeshellでlsすることぐらいはできます。それ以上は自前ビルド版でどうぞ。 wget https://dl.dropboxusercontent.com/u/648670/uosv_20131219.img sudo qemu-system-x86_64 -m 128m -drive file=uosv_20131219.img,if=virtio,cache=none \ -netdev user,id=un0,net=192.168.122.0/24,host=192.168.122.1 \ -device virtio-net-pci,netdev=un0 -enable-kvm -cpu host,+x2apic \ -
この記事はmruby Advent Calendar 2013の記事です。 本当はμOSvでTwitterクライアントをテストしたかったんですが、大幅に予定の日をオーバーしてしまっていたので取り敢えずmruby-eshellのことを書きます。 一言で言うと、mrubyで書かれたシェルです。 コードはこのへんから。 μOSvを作ったときに、丁度良いpure-mrubyなシェルが見当たらなかったので書きました。 コード自体は150行程度のごくごく小さなもので、これ自体にそれほど大きな価値はないです。 が、取り敢えず、何も無いときにmrubyプログラムのランチャーになるものがあるとそれなりに便利です。 ちょっと古いですが操作してる画面はこちら: pure-mrubyで書かれていますが、mrbgemとしてビルドすればmrubyバイナリに内蔵された状態になるので、ファイルシステム経由で外部からソース
このブログエントリはカーネル/VM Advent Calendar 2013 8日目の記事、および第九回カーネル/VM探検隊の発表の補足記事です。 発表資料と動画 このエントリだけでも理解できるように書いたつもりですが、はじめにこちらをみて頂いた方が分かりやすいかもしれません。 BHyVeでOSvを起動したい 〜BIOSがなくてもこの先生きのこるには〜 // Speaker Deck BHyVeって何? OSvって何? BHyVeについて知らない人はこちら OSvについて知らない人はこちら 何がしたいのか? BHyVeはKVM+QEMUやVMwareと異なり、BIOSやUEFIなどの標準的なファームウェアを持ちません。 そのため、MBRのブートセクタからのブートやUEFIブートローダからのブートを行う事ができません。 代わりに、ホストOSで動くプログラム(ゲストOSローダ)でゲストマシン上
追記:μOSvはOSv本家にマージされました。 こちらのWikiの「OSvをビルドしてより多くのアプリを試す」以下を参照して下さい。 μOSvというものをgithubで公開したので、ここに簡単な説明を書いておきます。 実行イメージ動画: これは何?(OSvを知らない人向けの説明) ローカルマシン上のKVM・Xenや一部のIaaSサービス・VPSなどで走る、mrubyスクリプトを実行する事のみに特化されたOSです。 mrubyインタプリタの実行に汎用OSを必要としないため、とても少ないメモリ使用量(今のところ90MB以上なら動く)・ディスクイメージサイズ(今のところ26MB)・とても速い起動時間(今のところ2秒くらい)で動作します。 mrubyなのでRubyで使えるAPIが全て使えるわけではありませんが、ネットワークアクセスを行う小さなアプリケーションであればLinux上で動作するRubyス
何が使えるかの詳細はこちらへ:osv-mruby/build_config.rb at master · syuu1228/osv-mruby · GitHub mruby-uvではなくiijのsocketなのでuv依存なコードが一切動かないんだが、ともあれHTTPとかHTTPSとか出来るようになった。 ただ、mirbがなんか壊れてるっぽくて、mrubyではちゃんと動くプログラムがまともに動かない。 インストール方法はこのあたり。 Way to install mruby/mirb on OSv · GitHub
Java application serverやらJRubyなapplication serverじゃなくて、スタティックなWebサイトをホスト出来るシンプルなHTTPDが動いたらよさそうだなーって思ったのでちょっとやってみた。 OSvもmrbgemsみたいな感じに簡単にextensionを追加できるといいよね→やってみた - かーねる・う゛いえむにっきのpatchがマージされる前提で、mrubyと同じようなmodule用githubリポジトリを作成してみる。 Makefileは単純な構成だったので、消してしまってmrubyからOSv用のものを持ってきて書き直した。 あとは大体ビルド通るんだけど、細かいところで存在しないlibc上にC関数が多発したのでいちいち消して回った。 syslog関連、uid/gid関連など、細かいところで結構ひっかかる。 無視するのでよいからこの辺はきちんとOSv
OSvへmrubyを移植してみたらとてもあっさりと動いた話 - かーねる・う゛いえむにっきの続きです。 さて、OSvでmrubyが動くようになったのですがmrbgemsを追加していないのでこのままではAPIがむっちゃ少なくてなにも書けません。 でもmrbgemsの移植ってそれぞれ依存ライブラリあったりして動かすの面倒よなー、とか思ってたら、こんなのが目にとまりました。 GitHub - mobiruby/mruby-cfunc: Interface to C functions on mruby ふと思ったんだけど、cfuncを組み込むことに成功すれば、OSvのカーネル内関数たたき放題なのでは…?:URL 2013-10-25 21:22:22 via YoruFukurou | \ __ / _ (m) _ピコーン |ミ| / `´ \ ('A`) ノヽノヽ くく OSvってプ
注:この記事はカーネル/VM+K*BUG勉強会@関西 ごかいめのダイジェスト版です。 詳しくは、以下の動画とスライドをご覧下さい。 OSvは、OpenJDKを仮想環境で高速に動かす事を目指していて、ユーザは基本的にJavaアプリケーションしか実行しないという前提になっています。 メモリプロテクションやリングプロテクションなどは使われず、JavaVMがユーザアプリケーションからの不正アクセスを保護します。 イメージ図: RubyプログラムやPythonプログラムはJRubyやJythonによって実行する事が可能ですが、CRubyやCPythonは含まれていません。 しかし、ユーザアプリケーションを実行する言語環境は別にJavaVMじゃなくてもいいのではないか?という考えも成り立つと思われます。 例えばCRubyを動かしてみるとか。 …という訳で、やってみようと思ったんですが、いきなりCRub
既にこのブログで第1回、第2回を公開していますが(追記:githubでの公開にあわせて削除済み)、原稿元データを含めて全ての回をgithubで公開することにしました。 githubリポジトリ 公開ページ 現在、TeXへの変換作業のボランティアを募集しています。 詳しくはgithubリポジトリのREADME.mdを参照して下さい。
次のページ
このページを最初にブックマークしてみませんか?
『syuu1228's blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く