Archive

Posts Tagged ‘ubuntu’

Ubuntu 11.04 で Kernel 2.6.39 をビルド

May 21st, 2011 No comments
$ sudo -s
# aptitude install build-essential kernel-package libncurses-dev ncurses-dev linux-source-2.6.39
# cd /usr/src
# tar xf linux-source-2.6.39.tar.bz2
# cd linux-source-2.6.39
# cp /boot/[とりあえず最新の config ファイル] .config
# make menuconfig
# make-kpkg --initrd --revision=20110521 kernel_image kernel_headers
# cd ..
# dpkg -i ./linux-headers-2.6.39-rc7_20110521_amd64.deb ./linux-image-2.6.39-rc7_20110521_amd64.deb
# reboot

遭遇した問題
1.smp_lock.hがないと言われる
I’d Rather Hack: Nvidia drivers fail without ‘smp_lock.h’
何故か2.6.39からなくなっているようです
2.6.38 のソースを取ってきて include/linux/smp_lock.h を 2.6.39 ソースの同じディレクトリに置けば解決します
(あるいはnVidia系ドライバを無効にする?)

2.aufsのmakeでコケる
menuconfig で無効にします
項目の場所は Ubuntu Supplied Third-party device drivers の中です

3.mt-raid(?)のmakeでコケる
上記と同様 menuconfig で無効に
同じ場所の RAID 4/5 target という項目です

4.dpkg -i でvboxhostの更新に失敗する
カーネルのインストール自体は出来るはずなので、再起動後に
sudo /etc/init.d/vboxdrv setup
を実行

自分の環境では以上でビルド&インストール出来ました
参考までに menuconfig( .config ) のサンプルです
Linux Kernel 2.6.39 build option — Gist
※Thinkpad X201s 向けで、CPU最適化オプションも使用しているので環境によってはそのままでは使えません

Tags: , ,

Thinkpad x201s に Ubuntu 10.10 x64 をインストールした記録

April 2nd, 2011 No comments

IntelのSSD120GB(古い方)を買ったので本格的にLinux環境を構築することにしました
以前のSSD、Crucial C300 はWindows環境ごと一応取ってあり、こっちが安定したらデスクトップのWin7を入れ直したいと思います

以下Ubuntuインストールの記録
wifi6250のドライバも含まれているようで前より楽になりました

・Ubuntuのダウンロード
64bit版は日本語Remixがないのでubuntu.comから直接ダウンロードします

http://www.ubuntu.com/desktop/get-ubuntu/download

64bitを選択するのを忘れないように

・unetbotinでSDカードからインストール
こちらを使いました

http://unetbootin.sourceforge.net/

・CAPSLOCKをCTRLキーに
/etc/default/console-setup
XKBOPTIONS=”ctrl:nocaps”

・TrackPoint
/usr/share/X11/xorg.conf.d/20-thinkpad.conf を作成

Section "InputClass"
Identifier "Trackpoint Wheel Emulation"
MatchProduct "TrackPoint"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "Emulate3Buttons" "false"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection

UltraNavの場合、タッチパッドを無効化する設定
上記と同じファイルに書いて大丈夫

Section "InputClass"
Identifier "touchpad disabled"
MatchProduct "Synaptics TouchPad"
MatchDevicePath "/dev/input/event*"
Option "Ignore" "on"
EndSection

・TrackPointのカーソル速度設定

$ sudo -s
# echo -n 160 > /sys/devices/platform/i8042/serio1/serio2/speed
# echo -n 200 > /sys/devices/platform/i8042/serio1/serio2/sensitivity

※ただし serio* 以降は環境によって微妙に変わります
で出来ますが、再起動のたびに初期化されます
起動時に実行しようとしても speed, sensitivityなどのファイルはX起動後に時間差で作られているらしく、監視が必要です
自分の場合は ruby で適当にスクリプトを用意しました
sudo のパスワードをなしにして無理やり設定してます;

target = '/sys/devices/platform/i8042/serio1/serio2/speed'
while (File.exists?(target) == false) do
  sleep 1
end
exec 'sudo /home/yusuke/startup.sh' # X起動後に実行させたいコマンドを書いておく

このrubyスクリプトを自動起動するアプリで設定しておきます

・ドキュメントなどのディレクトリ名を英語に
ターミナルで下記コマンドを実行
LANG=C xdg-user-dirs-gtk-update

・mozcのインストール
GoogleIMEのオープンソース版、パッケージが提供されているので apt で入れられます
ibus-mozc, scim-mozc, uim-mozc の3種類があるのでお好みで

・Firefox4に更新
PPAが提供されています
sudo add-apt-repository ppa:mozillateam/firefox-stable
sudo aptitude update && sudo aptitude safe-upgrade

・ipv6無効化
ipv6での名前解決を試みるため非常にブラウジングが重い…
とりあえず下記サイトの手順を実践したところアドレス解決の問題が改善した気がします
Ubuntu 10.04 ipv6 Disable, firefox « 愛するということ 10.04
Firefoxは about:config で network.dns.disableIPv6 を true に反転させます

・CONCURRENCY
確か起動時処理を並列実行するオプションだったと思います
今でも意味があるのか分からないけど、9.04とかの時は結構効果がありました
/etc/init.rc/rc
このファイルの CONCURRENCY=none の値を startpar にする
以前は shell という値でしたがobsoluteになったようです
SSDのためか差は感じられず

他にもやった気がするけど、大まかにこんな設定をしました
思い出したらまた追記します

・Chromeのフォントを変更
何故か設定で変更しても反映されないのでCSSで強制することに…
/home/yusuke/.config/google-chrome/Default/User StyleSheets/Custom.css

* {
  font-family: "MigMix 2P" !important;
}

などと書くと全て(Tweetdeckなど拡張含む)のページで使用されます

・Windowsマシンからホスト名でアクセス出来るようにする
sudo aptitude install samba4 winbind
sudo vim /etc/nsswitch.conf
で、hosts: 〜の行に wins を追加する
例)hosts: files wins mdns4_minimal [NOTFOUND=return] dns mdns4
sudo /etc/init.d/winbind restart
これで windows と ubuntu で相互にホスト名でアクセス出来るはずです
samba4を入れないとwindows側から見えないというのが盲点でした

・ウィンドウ一覧をWin7っぽくアイコンだけにする
自分は上部にパネルを1個置くだけにしているのですが、タイトルまで表示していると狭くなってごちゃごちゃしてしまうので、いっそのことアイコンだけにします

http://sourceforge.net/projects/talika/

上記リンク先から talika をインストール(64bit版もあります)
インストール後、sudo killall gnome-panel し、ウィンドウ一覧の変わりに talika をパネルに追加します
本当にWin7っぽくて、一度起動したアプリをピン止め(記憶)してランチャーのように使うことも出来ます

・ufwの設定
アンチウィルスソフトは入れてませんが、一応ファイアウォールを設定しておきます
上記sambaのポートは許可しておかないとwinbindが無効になってしまいます
あとはSynergyとかもですね
とりあえずその辺のポート全許可

sudo ufw enable
sudo ufw default DENY
sudo ufw allow 137
sudo ufw allow 138
sudo ufw allow 139
sudo ufw allow 445
sudo ufw allow 24800

・無線LANのキーリングロック解除を回避
ネットワークマネージャーを右クリック>接続を編集>無線>プロファイル選択>左下の全てのユーザーが利用可能にチェック

・Synergys自動起動
サーバーとして起動する場合、TrackPointの設定と同様にXが立ち上がっている必要があるので上記 startup.sh に
synergys –config /etc/synergy/synergy.conf
とかしておく
調べてみると本来はgdm等の起動-ログイン処理の間に挟む人が多いみたいです
まぁ遅延実行でも得られる結果は同じなので問題ないと思います

・自動起動アプリの初期ワークスペースを指定
devilspie というので出来ました
compiz と併用している場合の注意点として set_workspace ではなく set_viewport を「最後に」使うこと
その後で geometry などを使うと何故か workspace1 に配置されてしまいます
gdevilspie というアプリで設定ファイルを出力すると、一覧の上からコマンドが書かれるので Raw の表示を確認しましょう
devilspie はその他ウィンドウサイズなども設定できるそうですが、自分の環境では正常に機能しませんでした

・Flash動画のフルスクリーン再生
/etc/adobe/mms.cfg を作成し、OverrideGPUValidation=true と書き込んでおく
フルスクリーンにしても大分コマ落ちしますが…
FlashだけはやはりWindows環境が一番まともに使える印象です;

Ubuntu Tweak のFlashPlugin x86-64をインストールしたところ、フルスクリーンでもコマ落ちしなくなった気がします
インストールは sudo aptitude install ubuntu-tweak してその中のアプリケーションセンターから

Tags: ,

gvimのカレントディレクトリがおかしい

November 16th, 2009 No comments

何故か自分のUbuntu9.10ではgvimのカレントディレクトリが毎回/home/usernameになってしまいます;
毎回cdするのはだるいので
cd %:h
をvimrcに書いてカレントディレクトリを定義しなおすようにして解決しました

他のMacやwindowsでは遭遇したことのない不具合なのですが…;

Tags: ,

Ubuntu9.10とgrub2

November 9th, 2009 No comments

カーネルの更新が来たんですが何故か従来どおりmenu.lstが吐き出されました
#9.10からはgrub.cnfというのを使っていて、ユーザレベルではrootでも編集不可です
原因は何故かgrub-pcパッケージではなくてgrubが入っていたせいでした;
何でこんなことになっていたのか本当に意味不明です…
grub-pc入れてupdate-grub2やったら新しいカーネルが表示されました
しかし自動で選択してくれません;
これについては疲れたのでまだ調べてないです…

Tags: ,

vmhgfsをbuildする

June 10th, 2009 No comments

Ubuntu9.04 Jauntyにしてからうまくbuild出来なくなっていたので調べました

Unable to build the vmhgfs module. – Maeの(Mae向きな)日記

//page = __grab_cache_page(mapping, index);
page = grab_cache_page_write_begin(mapping, index, flags);

ここのとおりにpage.cを書き換えたところ、無事buildに成功しました

Tags: , ,