Monthly Archives: 5月 2016

2016-05-31

本家Linux カーネルをコンパイルして仮想PCで起動する

こんにちは、JWordのゲーム開発エンジニア カネテックです。

みなさんカーネルコンパイルしてますか?kernel.orgからソースコードをダウンロードしても
使い方がよくわからない、なんて思ったことはないですか?
今回は本家Linuxカーネル(kernel.orgで公開されているもの)をダウンロードして
仮想PC上で起動させる手順を共有いたします。

概要

  • ソースコードの入手、展開
  • カーネルコンパイル
  • 仮想イメージの作成
  • カーネルの設置
  • ブートローダのインストール
  • 起動

ソースコードの入手、展開

何はともあれ、ソースを入手して展開しないことには始まりません。
ちょうど執筆時点(2016/05/31現在)では4.7-rc1というリリース候補版がありますので、
これを仮想PCで動作させて動作確認する、というシナリオにします。

kernelorg

日付の右にある[tar.xz]というリンクをクリックしてソースコードをダウンロードします。
ダウンロードしたファイルはtarコマンドを使って展開しておきます。

 

カーネルコンパイル

x86の64bitアーキテクチャ向け(amd64)のカーネルを作ります。

コンパイルオプションをx86_64のデフォルトで設定

カーネルイメージのタイプとしてbzImageを指定してコンパイル実行

 

コンパイルがうまくいくと、以下のようにカーネルイメージファイルが得られます。

 

仮想イメージの作成

今回はVirtualBoxで起動させることにします。
ただし、専用の形式であるVDIのファイルは編集しづらいので、rawイメージを作成して
データを全て置いてから、最後にVDIに変換する手順にします。

100MBのrawイメージの作成

 

パーティショニング(プライマリパーティションに全領域を割り当てる)

 

ext3ファイルシステムの構築

 

カーネルの設置

マウントしてカーネルを設置します。ついでに後で必要になるbootディレクトリも
ここで作っておきます。

 

ブートローダのインストール

続いて、作った仮想ディスクにブートローダをインストールしていきます。
これは既存のLinuxが動いている環境に接続した方が簡単なので、CentOSの
インストールディスクに収録されているレスキューモードをVirtualBoxで
動かして、その環境の中でsda.rawにGRUB2をインストールします。

まずはsda.rawをVirtualBoxで認識させるために、VDI形式にコンバートします。

 

続いて、VirtualBoxで新規仮想PCを作成し、CentOSのISOイメージとsda.vdiを
接続した状態で立ち上げます。

ストレージ設定

スクリーンショット 2016-05-31 11.15.12

インストールディスクが起動したら、「Troubleshooting」を選択し「Rescure a CentOS system」
を選択します。(CentOS7の場合)

スクリーンショット 2016-05-31 11.18.49

起動が完了すると以下のメニューが表示されるので、「3) Skip to shell」を選択してシェルを
起動します。

スクリーンショット 2016-05-31 11.22.57

接続した仮想ディスク(sda.vdi)にGRUB2をインストールします。

 

ここまでできたら、いったん仮想PCはシャットダウンしておきます。

起動

VirtualBoxのストレージ設定を開き、CentOSのISOイメージを取り除きます。

スクリーンショット 2016-05-31 12.13.14

仮想PCを再度起動します。うまくいくと、以下のようにGRUBのプロンプトが表示されます。

スクリーンショット 2016-05-31 12.14.29

以下のようにカーネルの場所をGRUB2に教えて、起動してみます。

 

長かったですね、お疲れ様でした。無事起動することができました。

スクリーンショット 2016-05-31 12.16.45

起動に要した時間は0.98秒!速いですね!
カーネルは起動完了後に/sbin/initを実行しますが、まだ/sbin/initを用意していないため
カーネルパニックで停止しています。

もちろん、sda.rawの中にinitを置くことでこの先の動作をさせることも可能です。
余力がある人は是非チャレンジしてみてください!

 

2016-05-30

2016/5/30[社内勉強会]Alpine Linuxを触ってみよう

GMOアドマーケティングのインフラ開発本部あだちんです。
5/30にグループ横断の勉強会をまたまた行いました。
前回は「Docker」がテーマでしたが、
今回もDockerネタです笑。
最近DockerイメージがAlpine Linuxに移行しているとのことで、
軽量OSとして今話題となっております。
流行りそうなので、今のうち触っておきたいと思いました!
資料添付しますので、よかったらご覧ください!!


資料

・Alpine Linux初心者の人
・軽量化OS/Alpine Linuxに興味がある人
・Docker興味ある人


まとめ

簡単なWEBサーバであればわざわざCentOSを使わなくてもAlpine Linuxを使って
運営していくのも良さそうです。
まだまだ勉強不足なので、今後も調べて行きたいと思います!

2016-05-30

Apache Cordova×OnsenUI×Visual Studioでハイブリッドアプリを爆速開発

1月からGMOアドパートナーズグループのGMO NIKKOに入社したY.Iです。

私はハイブリッドアプリ大好きエンジニアでして、スマートフォン用ネイティブアプリやPC用デスクトップアプリを開発する際には、ハイブリッドアプリとして(HTML5, CSS3, JavaScriptといったおなじみのWeb技術で)開発することを推進し、高品質なアプリを効率よく開発することを追求しています。

今回のエントリでは、Visual Studio 2015を開発環境とすることで、スマートフォン用ネイティブアプリをApache Cordovaでハイブリッドアプリとしてラクラクと開発する手順を紹介したいと思います。

※今回はWindows環境を対象としているため、iOSアプリとしてビルドすることはできません。ただし、Webブラウザを利用してiOS用アプリをデバッグすることは可能です。Macを利用したiOSアプリのビルド方法は後日の別記事で紹介します。

Continue reading