トップ 追記

毎日が反省会

rss
2007|04|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|10|11|12|
2012|01|02|03|06|07|08|09|10|11|12|
2013|02|03|04|07|08|09|10|11|12|
2014|04|

2014-04-02

_ [Debian] Debian Hack Cafe

今年入って初めてのDebian Hack Cafeを開催しました。 自分の作業は以下の通り。
  • blueman のスポンサーアップロード。
  • django-guardian のスポンサーアップロード。
  • mtdev 1.1.5 のアップロード。
  • mruby のスナップショットのアップロード。
  • libnfc の更新。ハードウェア持ってきてないので後でアップロード。
  • libpng 1.6 builder の結果が返ってきたのでログを見た。家でパッチ書く。
  • 少しだけ bluez の修正をした。

2013-12-09

_ [Debian/Ubuntu JP Advent Calendar 2013] Debian Developer 以外の人が alioth の collabo-maint を利用する

Debianには sourceforge のようなソースコード管理用リポジトリ、ML、Webサイトなどの機能を提供する alioth.debian.org というサービスがあり、多くのDebianパッケージはこのサービスを用いて管理されています。

Debian Developer (DD) ならある程度自由にリポジトリを作れるのですが、そうではない人はサービスを使う理由と DD の推薦が必要があります。以前はアカウントを持っていれば(このアカウント作成も特にチェックはない)collabo-maint というディレクトリにリポジトリを作りまくれたのですが、去年から方針が変わったようです。アカウントさえ作れば誰でもアクセスできるリポジトリがあるのは問題ですので、この対策は当然だと思います。

というわけでcollabo-maint でリポジトリを管理したい、collabo-maint にあるリポジトリにあるパッケージをメンテナンスしたい、ということがありましたら所定の手続きを取るようにしましょう。ちなみにチームメンテナンスのリポジトリに関してはチーム側で管理する事になっているようです。


2013-12-01

_ [Debian/Ubuntu JP Advent Calendar 2013] multiarch アーキテクチャ用に apt-line を設定する

multiarch の設定を行うとパッケージにアーキテクチャ名を指定してパッケージをインストールできるようになります。 (もちろんmultiarch対応しているパッケージのみ)。
Debianでは 移植用のパッケージをサポートするサービス「debian-ports」がありますが、このサービスで提供されている アーキテクチャ(以下の例ではsh4)を利用する場合、何も設定しないとaptでエラーになってしまいます。
$ sudo dpkg --add-architecture sh4
$ sudo apt-get install debian-ports-archive-keyring
$ sudo sh -c "echo deb http://ftp.debian-ports.org/debian/ unstable main" >> /etc/apt/sources.list
$ sudo apt-get update
.....
W: Failed to fetch http://cdn.debian.or.jp/debian/dists/sid/InRelease  Unable to find expected entry 'main/binary-sh4/Packages' in Release file (Wrong sources.list entry or malformed file)
 
W: Failed to fetch http://ftp.debian-ports.org/debian/dists/unstable/main/binary-amd64/Packages  404  Not Found
.....
E: Some index files failed to download. They have been ignored, or old ones used instead.
これはsh4のパッケージ情報をcdn.debian.or.jpから、amd64のパッケージ情報をftp.debian-ports.orgから取得しようとしているのですが、データがないためエラーになっています。
この対策として、どのアーキテクチャがどのapt-lineを使うのか設定する必要があります。
deb [arch=amd64] http://cdn.debian.or.jp/debian/ sid main
deb [arch=sh4] http://ftp.debian-ports.org/debian/ unstable main
これらは複数指定することができ、カンマで区切ってアーキテクチャを列挙します。 例えば、i386をmultiarch で設定している場合には以下のようになります。
deb [arch=amd64,i386] http://cdn.debian.or.jp/debian/ sid main
今回はmultiarch アーキテクチャ別に apt-line を分ける方法について紹介しました。 debian-ports を使うことは少ないと思いますが、i386とamd64のmultiarchを設定してパッケージを利用する機会はあると思いますのでうまくaptが実行できない時はこの設定方法を思い出していただければと思います。

2013-11-26

_ [Debian] 続 MacBook Pro (Retina, 13-inch, Late 2013) に Debianをインストールした

先日 MacBook Pro (Retina, 13-inch, Late 2013) に Debianをインストールしたことを書きましたが、いろいろいじっているうちにインストール方法をが間違っていた事に気が付きました。 今まで買ってきたMacbookでは refit などを使わず legacy-biosモードで動かしていたので気にしていなかったのですが grub-efi を使うには以下のようにインストールする必要があるようです。
  1. grub がインストールされた後(「インストールは完了し、新しいシステムを起動する時となりました。あなたが.......」が表示される)、「戻る」を選択して シェルに移動します。
  2. そして /boot/efi/EFI/debian/grubx64.efi にあるファイルを/boot/efi/EFI/boot/bootx64.efi コピーします。
    # chroot /target bash
    # mkdir -p /boot/efi/EFI/boot
    # cp /boot/efi/EFI/debian/grubx64.efi /boot/efi/EFI/boot/bootx64.efi
    
  3. シェルから抜けて、インストーラーを終了します。このときに「option キー」を押しながら再起動します。
今回買ったMacBook Proでは EFI で起動しないと SMP が使えなかったり、SDカードスロットが使えなかったりします。OS X と Dual ブートしている人は refit や refind を使っていると思いますのでこれらの問題に引っかからないと思いますが、Debian(他のLinuxディストリを含む)だけをインストールして使う人はいままで通りではうまくいかないのでちょっとハマりますね。
最新の情報は wiki.debian.orgに書いていますのでこちらを参照ください。

2013-11-20

_ [Debian] Debian で linaro toolchain を使う

linaro toolchain は i386 バイナリなので amd64 で動作させるには i386 バイナリパッケージがいくつか必要です。そのまま実行すると以下のようなエラーが出ます。
$ LANG=C arm-linux-gnueabihf-gcc -v 
-bash: /home/iwamatsu/dev/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_linux/bin/arm-linux-gnueabihf-gcc: そのようなファイルやディレクトリはありません
$ file /arm-linux-gnueabihf-gcc 
arm-linux-gnueabihf-gcc: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
multiarch で i386 を有効にして libstdc++6 と zlib1gをインストールすると必要なパッケージがインストールされ、使えるようになります。
$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get install libstdc++6:i386 zlib1g:i386
$ LANG=C arm-linux-gnueabihf-gcc -v 
Using built-in specs.
COLLECT_GCC=arm-linux-gnueabihf-gcc
COLLECT_LTO_WRAPPER=/home/iwamatsu/dev/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_linux/bin/../libexec/gcc/arm-linux-gnueabihf/4.8.2/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: /cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/src/gcc-linaro-4.8-2013.09/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-linux-gnueabihf --prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install --with-sysroot=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux-gnueabihf/libc --enable-languages=c,c++,fortran --enable-multilib --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=vfpv3-d16 --with-float=hard --with-pkgversion='crosstool-NG linaro-1.13.1-4.8-2013.09 - Linaro GCC 2013.09' --with-bugurl=https://bugs.launchpad.net/gcc-linaro --enable-__cxa_atexit --enable-libmudflap --enable-libgomp --enable-libssp --with-gmp=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-mpfr=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-mpc=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-isl=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-cloog=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-libelf=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --enable-threads=posix --disable-libstdcxx-pch --enable-linker-build-id --enable-gold --with-local-prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux-gnueabihf/libc --enable-c99 --enable-long-long --with-mode=thumb
Thread model: posix
gcc version 4.8.2 20130902 (prerelease) (crosstool-NG linaro-1.13.1-4.8-2013.09 - Linaro GCC 2013.09)

2013-11-10

_ [Debian] MacBook Pro (Retina, 13-inch, Late 2013) に Debianをインストールした

MacBook Pro (Retina, 13-inch, Late 2013) を買ってみた。そしてDebianをインストールした。もちろん OS Xは入れてない。Debianだけ。
手順は以下の通り。このマシンは有線LANがないので適当なUSBのEtherデバイスを使うと楽ちんです。
  1. インストールUSBを作る。
  2. インストーラーでパーティションを消す。
  3. パーティションを切って、システムをインストールする。
  4. GRUB インストールの前でコンソールに移動(Alt-F2を押す)し、/target に chroot。
    # chroot /target bash
    
  5. chroot 先で refit をインストールして、gptsync を実行する。そして chroot から出る。
    # apt-get install refit
    # gptsync /dev/sda
    # exit
    
  6. インストーラーの画面に移動(Alt-F1 を押す)して GRUB をインストール。
  7. おしまい。
ちなみにWheezyとSidで提供されているLinux カーネルではブートに失敗するのでとりあえずブートさせるにはカーネルオプションに nosmp をつける必要があります。これはカーネルの変更で対応可能です。対応方法はまた今後紹介します。
各種デバイス対応状況ですが、サウンドとカメラ以外は問題なく動いています。カメラはまだドライバ(UVCではなく、PCI経由で制御するみたい)がないのです。 サウンドは3.13からサポートされます。Debianには後でパッチを取り込んでおきます。気になる方は最新情報はDebian Wikiに追記していきますのでこちらをトラッキングしておいてください。
軽い、大画面、そして速い、Debianも簡単にインストールできる良いマシンだと思いますのでお勧めです。

2013-10-21

_ OpenBlocks AX3 のブート

今隣にいる人に 「OpenBlocks AX3 で最新カーネルのブート方法をどっかに公開しろ!」と言われたのでここに書いておきます。
u-boot の go コマンドでもいいのだけど、bootm で起動する場合は以下のようにして uImage を作ります。
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4
$ cat arch/arm/boot/zImage arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dtb > zImage-armada-xp-openblocks-ax3-4
$ ./scripts/mkuboot.sh -A arm -O linux -T kernel -C none -a 0x2000000 -e 0x2000040 -n 'Linux-obax3' -d zImage-armada-xp-openblocks-ax3-4 uImage-armada-xp-openblocks-ax3-4
作成されたイメージをtftpなどでロードして、bootmで起動すればよいです。
multi-platform の場合は bootz がいいですけどね。

2013-09-19

_ [Debian] Debian work

  • Upload obexd 0.48-2 to unstable.
  • Upload mozc 1.11.1522.102-1 to unstable.
  • kfreebsd のサポートをやめてみた。

2013-09-11

_ [Debian]Debian work

  • Upload pystache 0.5.3-2 to unstable

2013-09-10

_ [Debian] Debian work

  • upload ruby-snmp 1.1.1-1
  • upload libnfc 1.7.0-1
  • upload djangorestframework 2.3.7-1
  • review pystache 0.5.3-2
  • review visp 2.8.0-1