ホーム > 記録 > 環境構築

環境構築のアーカイブ

Ubuntu 10.04 でカーネル再構築

Ubuntu上でInfernoのカーネルをコンパイルするときに、

  1. /bin/sh: Argument list too long

というエラーでmkが完了しなかった。
xargsで分割できればいいんだけど、いまいち使い方がわからない。
というのもmkコマンドでmkfileを使うんだけど、その中身で
どうも、別ファイルを読み込んでその中をまた別のファイルに書かれてるスクリプトで
分割して、それを引数で渡してるみたいなんだけど、この場合どうやってxargsを使えばいいんだ?

仕方ないのでARG_MAX自体の値を増やすことにした。

カーネル再構築に必要なパッケージのインストール

  1. $sudo apt-get install build-essential
  2. $sudo apt-get install kernel-package libncurses5-dev libqt3-mt-dev

カーネルソースをインストールして展開

  1. $sudo apt-get install linux-source-2.6.32
  2. $cd /usr/src
  3. $sudo tar xvjf linux-source-2.6.32.tar.bz2

ソースの変更

  1. /usr/src/linux-source-2.6.32/include/linux/limits.hを開き、ARG_MAXを増やす

.config ファイルの作成

  1. $cd linux-source-2.6.32
  2. $sudo cp /boot/config-2.6.32-23-generic .config
  3. $sudo make oldconfig

パラメータの変更

  1. $sudo make menuconfig

Processor type and features ---> Processor familly ---> *Coer 2/newer Xeon
Timer frequency ---> *300 HZ
Device Drivers ---> ATA/ATAPI/MFM/RLL support ---> *generic ATA/ATAPI disk support
Device Drivers ---> ATA/ATAPI/MFM/RLL support ---> *ATA disk support

などを変更してSave Configuration to an Alternate Fileで変更を保存。
出来上がった .config ファイルの中を開いて、
以下のものが「M」ではなく「y」になっているか確認する。

  • CONFIG_IDE
  • CONFIG_SCSI
  • CONFIG_EXT3

並列コンパイル設定(CPUは4つなので最大5つまでという設定にする)

  1. $sudo export CONCURRENCY_LEVEL=5

カーネルリビルド

  1. $sudo make-kpkg clean
  2. $sudo make-kpkg –initrd –revision=20100710 kernel_image kernel_headers

.debができるのでdpkgでインストール

  1. $cd ../
  2. $sudo dpkg -i linux-image-2.6.32.*****20100710_i386.deb
  3. $sudo dpkg -i linux-headers-2.6.32.*****20100710_i386.deb

再起動

  1. $sudo shutdown -r now

起動しない・・・

Kernel Panic:VFS:***

というエラー、とりあえず、再起動後Shiftキーを押しっぱなしにしてGRUB2のメニュー入って、
正常に動いていたバージョンの起動設定と見比べてみるとinitrdの項が無いのが問題っぽい。
initrd作成

  1. $cd /boot/
  2. $sudo mkinitramfs -o initrd.img-2.6.32.***** 2.6.32

再起動後Shiftキーを押しっぱなしにして再度GRUB2のメニュー入って、
再構築したカーネルの項で”e”を押下で編集モードに入り末尾に

initrd /boot/initrd.img-2.6.32.*****

を追加して、Ctrl+xでなんとか起動できたっぽい。
GRUB2の変更は手動でやらないとだめなのかなぁ・・・。
そして、目的のARG_MAXの値を確認
$getconf ARG_MAX
で確認してみるも変わらない・・・。
カーネルが新しいのでもしかしてと重い
$sudo ulimit -Ss
を実行したところ、増えた。
結局、カーネルコンパイルしなくてよかったみたいなので、
今回作ったカーネルを削除して、今まで使ってたカーネルを利用。

増やしても、infernoのカーネルコンパイルエラーは発生する。
どうも作業してる方向がすでに間違っているようなので別の方法を探してみる。

ツイートツイート

inferno in QEMU on WindowsXP

inferno Install完了画面
QEMUにNative infernoをインストールしたときのメモ

  • 準備
    1. QEMU on Windowsをダウンロード
    2. inferno CD 2007May10をダウンロード
    3. QEMUを適当なところに解凍する(例:”C:\QEMU”)
    4. infernoCDをQEMUのディレクトリ内に解凍する(例:”C:\QEMU\inf.iso”)
  • インストール
    1. 1GBのHardDiskImageの作成(コマンドプロンプト)
      C:\QEMU>qemu-img create -f qcow inferno.img 1G
    2. infernoCDからBoot(コマンドプロンプト)
      C:\QEMU>qemu -L . -m 128 -boot d -cdrom inf.iso -hda inferno.img
    3. インストールシェルスクリプトの実行(QEMU)
      ;sh install.sh -m /dev/sdD0 /dev/sdC0
    4. パーティションをPlan9で作成(QEMU)
      >>> a p1
      start cylinder: 0
      end [0..1024] 1024
      >>> A p1
      >>> w
      >>> q
      
    5. 再起動されるので再度インストールシェルスクリプトを実行(QEMU)
      ;sh install.sh /dev/sdD0 /dev/sdC0
      >>> w
      >>> q
      
    6. 「Remove the CD and reboot」と表示されたらQEMUのWindowsを閉じる
  • 起動確認
    1. (コマンドプロンプト)
      C:\QEMU>qemu.exe -L . -m 128 -hda inferno.img -net nic,model=rtl8139
    2. (QEMU)
      ; wm/wm
      wmlib: can't allocate Display: .initdisplay: /dev/draw/new:
      ;
      

    とりあえず、動きはしたけれど、GUIが立ち上がらない。
    VGAが見えてない?
    QEMUはCL-GD5446をエミュレートしてらしい。
    で、ソースをあさってみると os/pcに

    • vgaclgd542x.c
    • vgaclgd546x.c

    はあった。つまり・・・未対応?
    もしかしたら応用でドライバかけるかもしれないけど今のところ見送り
    QEMUはVESA起動もできるみたいなのでそちらも試してみる

    1. (コマンドプロンプト)
      C:\QEMU>qemu.exe -L . -m 128 -hda inferno.img -net nic,model=rtl8139 -vga std
    2. (QEMU)
      ; wm/wm
      wmlib: can't allocate Display: .initdisplay: /dev/draw/new:
      ;
      

    やっぱり駄目っぽい。
    このCDに入ってるカーネルにはVGAドライバが組み込まれてないのかな?
    このCD起動カーネルと昨日のFD起動カーネルではファイルサイズが結構違う。
    つまり、コンパイルした内容が違うってことだろうけど、
    このCDのカーネルと差し替えれるカーネルをつくるにはどうすればいいんだろう。
    CDのカーネルと同じコンパイル条件を作りたいんだけど、
    そもそもコンパイルオプションとかがよくわかってない。

  • 参考
ツイートツイート

inferno in VirtualBox on WindowsXP

inferno起動画面
inferno を VirtualBox上で動くように Ubuntu で コンパイル したときのメモ

  • ソースコードの入手
    1. $apt-get install mercurial
    2. $cd /usr
    3. $sudo hg clone https://inferno-os.googlecode.com/hg/ inferno
    4. $sudo chmod -R 777 /usr/inferno

    どうも、コンパイルが通らないのでVita Nuovaのバージョンを利用する。

    1. inferno Fourth Edition(inferno-20100120.tgz)をダウンロード
    2. inferno-20100120.tgzを解凍し、中身を/usr/inferno/へ上書き
  • コンパイル用ライブラリのインストール
    1. $sudo apt-get install libxpm-dev
    2. $sudo apt-get install libxext-dev
    3. $sudo apt-get install x11proto-xext-dev
  • infernoのコンパイル
    1. $sudo vi inferno/mkconfig
      
      @@ -17,0 +18,0 @@
      -	SYSHOST=Plan9
      +#	SYSHOST=Plan9
      +	SYSHOST=Linux
      @@ -25,0 +27,0 @@
      -#	OBJTYPE=368
      -	OBJTYPE=$objtype
      +	OBJTYPE=368
      +#	OBJTYPE=$objtype
      
    2. $sh makemk.sh
    3. $export PATH=$PATH:/usr/inferno/Linux/368/bin/
    4. $mk nuke
    5. $mk install
  • PBS(PCパーティションブートセレクタプログラム)と9load(カーネルローダ)のコンパイル
    1. $mkdir /usr/inferno/Inferno/386/lib/
    2. $sudo chmod -R 777 /usr/inferno/Inferno/386/lib/
    3. $cd /usr/inferno/os/boot/pc/
    4. $mk pbs.install 9load.install
  • カーネルコンパイル
    1. $cd /usr/inferno/os/pc
    2. $vi ether79x970.c
      
      @@ -540,6 +540,7 @@
      	switch(x&0xFFFFFFF){
      	case 0x2420003: /* PCnet/PCI 79C970 */
      	case 0x2621003: /* PCnet/PCI II 79C970A */
      +	case 0x2625003: /* PCnet/FAST III 79C973 */
      		break;
      	default:
      		print("#l%d: unknown PCnet card version %.7ux\n",
      
    3. $vi pc
      
      @@ -48,10 +48,11 @@
      	kern
      
       link
      -	ether2114x      pci
      +	ether79c970     pci
      +#	ether2114x      pci
       #	ether82557      pci
      -	ether83815      pci
      -	etherelnk3      pci
      +#	ether83815      pci
      +#	etherelnk3      pci
      	ps2mouse
      	ethermedium
       #	pppmedium ppp compress
      @@ -70,7 +71,7 @@
      	math
      
       init
      -	wminit
      +	shell
      
       code
      	int kernel_pool_pcnt = 10;
      @@ -79,7 +80,7 @@
      	int image_pool_pcnt = 40;
      	int cflag=0;
      	int swcursor=0;
      -	int consoleprint=0;
      +	int consoleprint=1;
      
       port
      	alarm
      @@ -137,3 +138,5 @@
      	/dis/lib/daytime.dis
      	/dis/lib/auth.dis
      	/dis/lib/ssl.dis
      +	/dis/lib/arg.dis
      +	/dis/lib/filepat.dis
      
    4. $mk
  • カーネルロード設定ファイルの作成
    1. $vi /usr/inferno/os/pc/plan9.ini
      
      bootfile=fd0!ipc.gz
      
  • フロッピーイメージの作成
    1. $emu
    2. ;cd os/pc
    3. ;gzip ipc
    4. ;disk/format -b /Inferno/386/pbs -df inferno.img /Inferno/386/9load plan9.ini ipc.gz

    出来上がったinferno.imgをVirtualBoxにマウントしBoot
    確かに起動はできたが、たまにPanicを起こす。
    infernoもPlan9系だからVirtualBoxではだめなのかもしれない。
    それに、Native infernoをコンパイルできたけど、FD起動なんだよね。
    Plan9のブートローダで起動可能ってことはこれで分かったんだけど、
    HDDからブートさせたい・・・Native infernoを使うにはPlan9の勉強した方がいいかもしれない。
    次回はinferno in QEMU on WindowsXPを試してみよう。

  • 参考
ツイートツイート

VirtualBox in Ubuntuで共有フォルダ

共有フォルダ設定

  1. 拡張機能のインストール
    1. 仮想マシンウインドウのメニューの「デバイス」→「Guest Additions のインストール」でインストールCDをマウント
    2. $cd /media/VBOXADDITIONS_3.2.4_62467/
    3. $sudo sh VBoxLinuxAdditions-x86.run
  2. 共有フォルダの設定
    1. 仮想マシンウインドウのメニューの「デバイス」→「共有フォルダ…」で共有フォルダを設定
    2. $sudu mkdir /mnt/share
      (マウント先の作成)
    3. $sudo mount.vboxsf Share /mnt/share/
      (共有フォルダをマウント)
ツイートツイート

Touch Diamond 環境構築メモ その5

便利ツールのインストールとフリック入力の設定を行う。
フリック入力画面

  • gsGetFile.dll インターナショナル版

    ファイル選択ダイアログの機能を拡張したダイアログを提供するDLL

    1. gsgetfile-i.zipを解凍し、ARMRel内のgsGetFile.dllをWindowsフォルダにコピー
  • FileDialogChanger(WM6.5暫定対策版)

    ファイル選択ダイアログをgsGetFile.dllが提供するダイアログに切り替えるツール

    1. filedlgchg_WM6_5.zipを解凍し、filedlgchg.cplをWindowsフォルダにコピー
    2. スタート→設定→システム→File Dialog Changerを選択
    3. 「Exchange Standard File Dialog」のチェックを入れ、設定完了
  • touchkeysip

    ソフトウエア入力パネル SIP

    1. touchkeysip112.zipを解凍し、touchkeysip.ARM.CABをS21HTに転送しインストール
  • gesture10key改造版

    フリック入力を行うtouchkeysip用スクリプト

    1. key0167.zipを解凍し、解凍されたフォルダの名前をgesture10keyに変更
    2. gesture10key内のgesture10key_x15_mst_vga_x04ht.txtをgesture10key_x17.txtに変更
    3. gesture10key内のgesture10key_x_mst_vga.bmpをgesture10key_x17.bmpに変更
    4. gesture10key_x17.txt内のgesture10key_x_mst_vga.bmpをgesture10key_x17.bmpに変更
    5. gesture10keyフォルダをS21HTのProgram Files内のtouchkeysip内に転送
    6. スタート→設定→個人用→入力を起動し、リストボックスから「touchkeysip」選択し、「オプション」ボタンを押下
    7. 参照ボタンを押下し、先ほどコピーしたフォルダ内の「gesture10key_x17.txt」を選択し、設定完了
  • カメラ消音化
    1. x04ht-Camera.zipを解凍し、CameraRc.dll.0411.muiをWindowsフォルダにコピー
    2. x04ht-Camera.zipに同封されているSDKCerts.cabをS21HTにコピーし、インストール後再起動

これで、基本環境は完了。
あとは、好みのソフトを入れていく予定。

ツイートツイート

Touch Diamond 環境構築メモ その4

パケット通信の接続設定を行う。
接続設定画面
EMnetの設定

  1. スタート→設定→接続→接続を選択
  2. 詳細設定→「ネットワークの選択」を押下
  3. 「インターネットに自動~」のほうの「追加…」を押下
  4. ISP名にEMnetを入力して「OK」を押下
  5. 「インターネットに自動~」のほうのリストボックスでEMnetを選択して「編集…」を押下
  6. 「新規」を押下
  7. 接続名に「EMnet」、モデムの選択に「Cellular Line(GPRS,3G)」を入力し、「次へ」を押下
  8. アクセスポイント名に「emnet.connect」と入力し、「次へ」を押下
  9. ユーザー名とパスワードに「*******」を入力し、「完了」を押下(一応伏字にしていますのでマニュアルを参照してください)
  10. 「設定→接続→接続」に戻って(詳細設定ではなく仕事)、「プロキシサーバーの設定」を押下
  11. 「プロキシサーバーを使用して~」にチェックを入れ、有効になった「詳細設定…」を押下
  12. 「HTTP」を選択し、サーバーに「wm.internal.emnet.ne.jp」、ポートに「8080」を入力し、OKを押下
  13. 「Socks」を選択し、サーバーに「wm.internal.emnet.ne.jp」、ポートに「1080」を入力し、OKを押下

embの設定

  1. スタート→設定→接続→接続を選択
  2. 詳細設定→「ネットワークの選択」を押下
  3. 「インターネットに自動~」のほうの「追加…」を押下
  4. ISP名にembを入力して「OK」を押下
  5. 「インターネットに自動~」のほうのリストボックスでembを選択して「編集…」を押下
  6. 「新規」を押下
  7. 接続名に「emb」、モデムの選択に「Cellular Line(GPRS,3G)」を入力し、「次へ」を押下
  8. アクセスポイント名に「emb.ne.jp」と入力し、「次へ」を押下
  9. ユーザー名とパスワードに「**」を入力し、「完了」を押下(一応伏字にしていますのでマニュアルを参照してください)

以上で接続設定を完了。
次回は、便利ツールのインストールを予定。

ツイートツイート

Touch Diamond 環境構築メモ その3

Fontをメイリオに変更し、サイズの調整を行う。
スタートメニューの画面

  1. MeiryoKaiRev2.zipを解凍し、meiryo.ttfをS21HTのwindowsフォルダへコピー
  2. PHM Registry Editorを起動し、レジストリを下記の内容に変更

    HKEY_LOCAL_MACHINE\Software\Microsoft\FontLink\SystemLink

    • Courier Newの値を、\windows\msgothic.ac3,MS UI Gothicから\windows\meiryo.ttf,meiryoに変更
    • Helvetica Neue OTSの値を、\windows\tahoma.ttf,Tahomaから\windows\meiryo.ttf,meiryoに変更
    • HelveticaNeue LT 35 Thinの値を、\windows\tahoma.ttf,Tahomaから\windows\meiryo.ttf,meiryoに変更
    • MS Gothicの値を、\windows\tahoma.ttf,Tahomaから\windows\meiryo.ttf,meiryoに変更
    • MS PGothicの値を、\windows\tahoma.ttf,Tahomaから\windows\meiryo.ttf,meiryoに変更
    • MS UI Gothicの値を、\windows\tahoma.ttf,Tahomaから\windows\meiryo.ttf,meiryoに変更
    • Tahomaの値を、\windows\msgothic.ac3,MS UI Gothicから\windows\meiryo.ttf,meiryoに変更

    HKEY_LOCAL_MACHINE\System\GWE\Menu\BarFnt

    • Htの値を、900から800に変更(10進数)

    HKEY_LOCAL_MACHINE\System\GWE\Menu\PopFnt

    • Htの値を、1200から850に変更(10進数)

これで、フォントの設定を完了。
次回は、パケット接続の設定を行います。

ツイートツイート

Touch Diamond 環境構築メモ その2

今回は、WindowsMobile6.5のデスクトップUIの「Titanium」の設定。
デスクトップ画面時間とアラームの画面

  1. CHome Editorでパネルを編集
    • CTextを削除
    • CEmailを追加
    • CClockを追加
    • CMyPhotosを追加
    • TitaniumWeatherを追加
  2. Weather OptionsでTitaniumWeatherのロケールを設定(LocaleCodeはこちらのページを参考に自分に関係ありそうなものを選択)
    • ASI|JP|JA005|IMABARI:愛媛県今治
    • ASI|JP|JA005|NIIHAMA:愛媛県新居浜
    • ASI|JP|JA035|SOKA:埼玉県草加
  3. Titanium Weatherの文字化けの修正
    • ¥Program Files¥TitaniumWeather¥TitaniumWeather.mscr内の”ー”を”℃”に修正し、SJISで保存
  4. スタート→設定→システム→地域を選択し、地域が「日本語(日本)」になっていることを確認
  5. スタート→設定→時計とアラームを選択し、Time Zoneを「GMT+9 東京,大阪」に設定

これでTitaniumの設定を完了。
次はフォントの設定を行います。

ツイートツイート

Touch Diamond 環境構築メモ その1

WM6.5環境(BsB6.5.1G)にするため、真似すると保証が効かなくなるよ。
(Hard-SPLの書き換えでたぶんアウトになる。)
スプラッシュ画面起動画面

  1. S21HTとPCをUSBケーブルで接続し、ActiveSyncにて同期
  2. Unsigned-Hard-SPL-Diamond-OliNex.zipを解凍し、ROMUpdateUtility.exeを実行
  3. ダイアログを進めていく、端末がブラックアウト、PCのプログレスバーが100%になってることを確認
  4. ボリュームダウン+リセット(裏側のリセットボタン)でブートローダー画面にはいり、OliNex1.40になっていれば成功
  5. RUU_Signed_1_93OliNex_HSPL_UnsignedEdition.zipを解凍し、RUU_Signed.nbhを②のROMUpdateUtility.exeを使って書き込む
  6. ボリュームダウン+リセットでブートローダー画面にはいり、OliNex1.93になっていれば成功
  7. 内部ストレージのルートフォルダ直下にROMファイルとcabファイルをコピー
  8. 「ボリュームダウン」+「←」ボタンを押しながらリセットし、ROMアップデートモードで起動、書き込みを行う
  9. S21HTを再起動してSetting→connect→USB to PCの「Enable faster~」のチェックを外し、ActiveSyncで同期
  10. DonSalari Tweaks.cabをデバイスにインストール
  11. MyRegistryTweaks.cabをデバイスにインストール
  12. BSB651G_MUI_JAP_6.0.92_1.cabをデバイスにインストール
  13. amarullzBlueBlackTheme.cabをデバイスにインストール後、再起動
  14. MoonWing StartMenuIcons.cabをデバイスにインストール後、再起動
  15. MoonWing Advanced Configuration Tool v3.3.cabをデバイスにインストール
  16. LetsJapanWM61r07.cabをデバイスにインストール後、再起動
  17. KeyTouchJapIMEr07.cabをデバイスにインストール後、再起動

大まかな環境はこれで完了。
Titaniumの設定はその2、フォントの設定はその3、パケットの接続設定はその4に記述予定。

ツイートツイート

XAMPPのPHPエラーログ出力

XAMPPのデフォルトではPHPエラーログが無効になっているので有効にする。

インストールドライブパスを C: として記述する。
ファイル
C:/xampp/php/php.ini

設定内容

  • log_errors=Off
  • ->log_errors=On
  • error_log=”;C:/xampp/apache/logs/phperror.log”
  • ->error_log=”C:/xampp/apache/logs/phperror.log”
ツイートツイート
1 2 3 4

ホーム > 記録 > 環境構築

検索
フィード
翻訳
Japanese flagEnglish flag

ページの上部に戻る