防備録としてThinkPad T400の設定をメモします.インストールしたOSはUbuntu 9.04です.WindowsとLinuxのデュアルブートとしました.gpsdの設定を新たに追加しました.
- 準備
- 500GBのハードディスをWindows 300GB, Linux 200GBに分割して使うために,Windowsのコントロールパネルを使い500GBの領域を300GBと200GBに分割します.
- Linuxのインストール
- Ubuntu 9.04日本語REMIXをCD-Rに焼き,DVDドライブにセットし,コンピュータを再起動する.
- 指示に従ってインストールする.パーティションの分割だけ注意が必要で,今回は手動分割を行った.
- スワップに10GB, 後の190GBはルートパーティションとした.
- 後は、ほぼ自動でノートラブルでインストール完了。Windowsのインストールより簡単。おそるべし、Ubuntu。
- CapsLockとCtrlの切り替え
- システム→設定→キーボード→レイアウト→日本→レイアウトのオプション→Ctrlキーの位置→Swap Ctrl and CapsLock
- 開発環境
- 日本語環境のセットアップ
- システム→システム管理→日本語環境セットアップヘルパで必要なソフトをインストール
- C, C++言語の開発環境
- sudo aptitude install build-essential
- Qtのインストール
- http://qt.nokia.com/downloads-jpからhttp://www.qtsoftware.com/downloads/sdk-linux-x11-32bit-cpp を/home/ユーザ名/に ダウンロード
- chmod u+x qt-sdk-linux-x86-opensource-2009.03.1.bin
- Setupのウインドウが開くので指示に従ってインストール
- Qtが原因のエラーをなくすために以下のパッケージをインストール
- sudo aptitude install libglib2.0-dev
- sudo aptitude install libxrender-dev
- sudo aptitude install libfontconfig1-dev
- SDLのインストール
- sudo aptitude install libSDL1.2-dev
- sudo aptitude install libsdl-net1.2-dev
- Boostのインストール
- sudo aptitude install libboost1.35-dev libboost1.35-dbg libboost1.35-doc
- Urg-0.7.7のインストール
- 北陽電機のホームページ URGプログラミングガイド参照
- ./configure
- make
- sudo make install
- なお、Ubuntuのパッケージインストールする場合はboost1.35でないとmakeで失敗します。
- gpsdのインストール
- gpsdと通信するクライアントプログラムを作成するためにソースコードを取ってきて参考にした.ライブラリはソースコード付属のlibgps.aを使用.
- gpsd – a gps service deamonからgpsd-2.39.tar.gzをダウンロード
- sudo apt-get install automake
- sudo apt-get install libtool
- sudo apt-get install libmotif-dev
- sudo apt-get install libxp-dev
- sudo apt-get install libxaw7-dev
- ./autogen.sh
- make
- sudo make install
- 日本語環境のセットアップ
- デバイスファイル名の固定
- udevデータベースからデバイスの情報を取得。Ubuntu9.04からudevinfoがudevadmに変更された。デバイスファイル名には/dev/ttyACM0などを入れる。
-
udevadm info --query=all --name=デバイスファイル名
- 各デバイスに固有な情報を探します。ここでは、idVendorとidProductの情報を使います。
-
- /etc/udev/rules.d/96-local.rulesというファイルを作成
- 中身は次のとおりです。なお,idProductの番号は変えています.
- udevデータベースからデバイスの情報を取得。Ubuntu9.04からudevinfoがudevadmに変更された。デバイスファイル名には/dev/ttyACM0などを入れる。
# ttyACM0: URG Laser scanner KERNEL=="ttyACM*", SUBSYSTEMS=="usb", ATTRS{idVendor}=="15d1", ATTRS{idProduct}=="0000", NAME="ttyACM0" # ttyACM1: U-blox 5 GPS KERNEL=="ttyACM*", SUBSYSTEMS=="usb", ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a5", NAME="ttyACM1" # urbtc0: imcs01 robot controller KERNEL=="urbtc0", MODE="0666
コメント