Last active
December 26, 2015 16:19
Revisions
-
mzp revised this gist
Oct 27, 2013 . 1 changed file with 35 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -134,4 +134,38 @@ Debianだと幅が80文字で固定なので、なんとかします。 $ sudo chown mzp:mzp /home/mzp/cabal/cabal $ ln -s ~/cabal/cabal ~/.cabal 参考: [技術的雑談-Linuxでのディスクイメージファイルのマウント](http://www.himajin2001.com/fswiki/wiki.cgi?page=%B5%BB%BD%D1%C5%AA%BB%A8%C3%CC-Linux%A4%C7%A4%CE%A5%C7%A5%A3%A5%B9%A5%AF%A5%A4%A5%E1%A1%BC%A5%B8%A5%D5%A5%A1%A5%A4%A5%EB%A4%CE%A5%DE%A5%A6%A5%F3%A5%C8) ## Haskell環境の構築 ### Cabal Cabal 1.18.0.2をいれようとしたら、エラーがでてしまいました。 ``` $ cabal install cabal-install (snip) Linking dist/build/cabal/cabal ... /usr/lib/ghc/libHSrts.a(OSThreads.o): In function `getNumberOfProcessors': (.text+0x8): multiple definition of `getNumberOfProcessors' dist/build/cabal/cabal-tmp/cbits/getnumcores.o:getnumcores.c:(.text+0x0): first defined here collect2: ld returned 1 exit status World file is already up to date. cabal: Error: some packages failed to install: cabal-install-1.18.0.2 failed during the building phase. The exception was: ExitFailure 1 ``` マクロの定義がまちがってるっぽかったので、cabal-install.cabalにパッチあてて、手動でインストールしました。 ```diff --- cabal-install.cabal.old 2013-10-02 03:50:10.000000000 +0000 +++ cabal-install.cabal 2013-10-27 08:22:47.259204164 +0000 @@ -144,7 +144,7 @@ if arch(arm) && impl(ghc < 7.6) -- older ghc on arm does not supprt -threaded - cc-options: -DCABAL_NO_THREADED + cc-options: -DCABAL_NO_THREADED -DHAS_GET_NUMBER_OF_PROCESSORS else ghc-options: -threaded ``` -
mzp revised this gist
Oct 27, 2013 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,5 +1,5 @@ # Nexus7買いました あるいは、Nexus7上にDebian環境を構築するときのメモ。 ## TODO -
mzp created this gist
Oct 27, 2013 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,137 @@ # Nexus7買いました åあるいは、Nexus7上にDebian環境を構築するときのメモ。 ## TODO だれかおしえてください。 * キーボードの配列変更(Dvorak配列 + Ctrl-CapsLock入れ替え) * 画面幅が80文字に固定される * スワップを有効にしたほうがいい? * ちょうどいいサイズのカバン(シザーバッグ?) ## 購入 Nexus7とケース一体型のキーボードを買ったら、Nexus7(2013モデル)とケース(Nexus7 2012用)が届きました。注意しましょう。 ## Ubuntu touch導入(失敗) [Ubuntu touch](https://wiki.ubuntu.com/Touch/Install)をインストールしようとしたら、うまく動きませんでした。 よく読んだら > Note: We currently do not support the newer '2013' Nexus 7. - > > (訳: 新しいNexus7(2013)はまだサポートしてません。) と書いてありませんでした。 ## Debian kitの導入 Ubuntuはあきらめて、Debianを入れることにしました。手順は技評の[第256回 新春特別企画・Android上でUbuntu…ではなくDebianを使う](http://gihyo.jp/admin/serial/01/ubuntu-recipe/0256)を参考にしました。 ざっくり言うと 1. Bootloaderのアンロック & Root化(参考: [簡単にできる nexus7 2013 日本版のroot化手順について ](http://www.tsurezure.org/2013/08/nexus7-2013-root.html)) 2. [Android Terminal Emulator](https://play.google.com/store/apps/details?id=jackpal.androidterm)のインストール 3. debian-kitの実行(イメージサイズ:2GB、Debian squeeze) 4. `deb` の実行 5. `adduser mzp` したのち、mzpを `/etc/sudoers` に追加 6. `apt-get update; apt-get upgrade; apt-get install andromize` このときDebian squeezeをいれてしまったけど、wheezyにしとくべきだった。 ## Wheezy化 sequeezeをいれてしまったので、/etc/apt/source.list.d/sources.listをwheezy用に書き換えた。 ### sources.listの更新 souces.listは [Debian Sources List Generator](http://debgen.simplylinux.ch/)で生成しました。 Debian kitでいれたままだとドイツのミラーサイトを使うので、いずれにせよ作り直したほうがいいかも。 ついでに[Debian Backports](http://backports.debian.org/)もいれた。 ### アップグレード 同じみのコマンドをたたいて、しばらくほっておきました。 # aptitude update # aptitude upgrade # aptitude full-upgrade ## Dropbox Dropboxで管理している設定ファイル群が欲しかったので、(Drop Sync)[https://play.google.com/store/apps/details?id=com.ttxapps.dropsync&hl=ja]を入れました。 このときは、Debian側からSDカード内のファイルを見る方法がわからなかったので、 1. Dropboxの中身をSDカードに同期 2. ホームディレクトリにコピー というまわりくどい手を使いました。 たぶん # mount --rbind /mnt/sdcard/Dropbox /home/mzp/Dropbox でできるし、そっちのほうがよさそう。 ## ホスト名の変更 よくわからない連番のホスト名がイヤになったので、変更しました。 $ sudo echo "nexus7" > /etc/hostname && hostname $(cat /etc/hostname) ついでにsudoするたびに「ホスト名が解決できなかった」という警告がでるのがイヤだったので、 `/etc/hosts` に追記しました。 127.0.0.1 nexus7 せっかくのNexusだし、ホスト名を[レプリカント](http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AC%E3%83%BC%E3%83%89%E3%83%A9%E3%83%B3%E3%83%8A%E3%83%BC)にしようかなー、とか考えてたんですが、アルファベットにしたら長くてつらかったのでやめました。 ## 各種ソフトの導入 `aptitude` がうごくので普段使ってるソフトウェアをインストールした。 * zsh * tmux * vim-full * git * haskell-platform 特にエラーもでず普通に動いてる。 `screen` がうまく起動しないけど、普段は `tmux` を使ってるので深追いはしていない。 ## 画面幅の調整(作業中) Debianだと幅が80文字で固定なので、なんとかします。 1. Android Terminal Emulatorの設定を変更して"ターミナルタイプ"をlinuxにする(別になんでもいい) ルートになって、terminfoの該当エントリをいじります。 # infocmp linux > linux.ti # vi linux.ti (適当な場所に `cols#100` を挟む) # tic linux.ti でもtmux上だとこれが使えないので、まだ解決してないです。 ## ループバックデバイスの追加 せいぜい2GBしか使えないので、だんだんと容量が足りなくなってきます。 とりあえず `~/.cabal` があふれてきたので、これを別のデバイスに逃がします。 まず、SDカード上にイメージを作ります。(今回は500MB) # cd /mnt/sdcard # dd if=/dev/zero of=cabal.img bs=500M count=1 seek=2048 ループバックデバイスとして登録します。 空いているループバックデバイスの番号はlosetup -Fでわかります。 # losetup /dev/loop1 /mnt/sdcard/cabal.img フォーマットします。 理由はわからないですが、ext4でないとマウントできません。 # mkfs -t ext4 /dev/loop1 マウントします。 # mkdir /home/mzp/cabal # mount -t ext4 /dev/loop1 /home/mzp/cabal あとは `~/.cabal` をシンボリックリンクに置き換えます。 $ sudo mkdir /home/mzp/cabal/cabal $ sudo chown mzp:mzp /home/mzp/cabal/cabal $ ln -s ~/cabal/cabal ~/.cabal 参考: [技術的雑談-Linuxでのディスクイメージファイルのマウント](http://www.himajin2001.com/fswiki/wiki.cgi?page=%B5%BB%BD%D1%C5%AA%BB%A8%C3%CC-Linux%A4%C7%A4%CE%A5%C7%A5%A3%A5%B9%A5%AF%A5%A4%A5%E1%A1%BC%A5%B8%A5%D5%A5%A1%A5%A4%A5%EB%A4%CE%A5%DE%A5%A6%A5%F3%A5%C8)