2014年7月13日日曜日

UDOO(i.MX6)用Ubuntu 13.10のSDカードセットアップ

UDOO公式で配布されているUbuntuのバージョンは12.04と若干古めなんですが、こちらのブログで13.04のファイルシステムが配布されているのをたまたま見つけたので、インストールしてみることに。とりあえずカーネルとU-Bootは公式のものをそのまま使い、ファイルシステムだけ13.04にしてみます。

作業はLinuxマシンで行います。

1.ルートファイルシステム、カーネル、カーネルモジュール、U-Bootのダウンロード


まずは必要なものをもろもろダウンロードしてきます。

U-Boot。i.MX6 DualモデルとQuadモデルで違うので注意。
$ wget http://udoo.org/download/files/UDOO_Unico/u-Boot_Quad/u-boot-q.imx
次にカーネルイメージ。
$ wget http://udoo.org/download/files/UDOO_Unico/Kernel/uImage
それからカーネルモジュールも。
$ wget http://udoo.org/download/files/UDOO_Unico/Kernel/modules.tar.gz
後は件のルートファイルシステム(rootfs)。
$ wget http://stende.no-ip.info/jas/xubuntu_13_04_gpu.tar.gz

2. SDカードのパーティショニング


役者がそろったら、彼らに最高のステージを。SDカード。UDOOの場合はマイクロSDですな。たぶん2GBとかでもいけますけど、今日日Class10の16GBくらいじゃないと使う気になれませんね。笑
SDカードをカードリーダとかに挿してホストマシンに接続したら、dmesgとかでデバイス名を確認しておきます。パーティショニングはこの後すぐ!ホストマシンのHDDと間違えるなよ!絶対にだぞ!
 sdf: sdf1 
既存パーティションがある場合には上記のようにsdXのあとに数字のついたデバイスが見えるはず。いずれにせよ消しちゃうのであってもなくてもOK。

パーティショニングの作業はお好きなツールで。GUIならGpartedが便利ですよね。その昔、BeagleboardなんかいじってたころはfdiskでSDカードをフォーマットしたものです。最近はでっかいHDDをいじるときにfdiskがGPTに対応してなかったりするんで、私はpartedに移りつつあります。そんなわけでpartedを使ってやっていきましょう。
$ sudo parted /dev/sdf
まずはprintで中身を見てみる。
(parted) print                                                            
モデル: I-O DATA micro SD Reader (scsi)
ディスク /dev/sdf: 15.9GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos

番号  開始    終了    サイズ  タイプ   ファイルシステム  フラグ
 1    4194kB  15.9GB  15.9GB  primary  fat32             lba

既存のパーティション1をrmで削除。
(parted) rm 1
(parted) print                                                            
モデル: I-O DATA micro SD Reader (scsi)
ディスク /dev/sdf: 15.9GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos

番号  開始  終了  サイズ  タイプ  ファイルシステム  フラグ

次にmkpartでパーティションの作成。ファイルシステムはEXT3、サイズは先頭を10MiBほど空けて、後ろはSDカードサイズいっぱいにとってあげましょう。(パーティションテーブルをmsdosに直す場合はmklabelでできます。)
(parted) mkpart primary ext3 10MiB 15.9GB
(parted) print                                                            
モデル: I-O DATA micro SD Reader (scsi)
ディスク /dev/sdf: 15.9GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos

番号  開始    終了    サイズ  タイプ   ファイルシステム  フラグ
 1    10.5MB  15.9GB  15.9GB  primary

quitで終了。
(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。  

パーティショニングでEXT3指定をしましたが、mkfsもしたほうがいいっぽいので、
$ sudo mkfs.ext3 /dev/sdf1
はい。これで完了です。

3. SDカードへの書き込み


できたパーティションに先ほどダウンロードしたルートファイルシステムを書き込んでいきます。
まずはローカルにマウントポイントのディレクトリを作成し、マウント。
$ mkdir sdcard
$ sudo mount /dev/sdf1 sdcard
ルートファイルシステムをマウントしたSDカードのパーティションへ展開。sudoを忘れずに。
$ sudo tar -xzpf xubuntu_13_04_gpu.tar.gz -C sdcard/
続いてカーネルのコピー。
$ sudo cp uImage sdcard/boot
それからカーネルモジュール。既存のものを消してから。
$ sudo rm -rv sdcard/lib/modules/*
$ sudo cp -av lib sdcard/
ここまでできたら、アンマウントします。
$ sudo umount sdcard
最後に、SDカードにU-bootを書き込みます。
$ sudo dd if=u-boot-q.imx of=/dev/sdf bs=512 seek=2
これでSDカードの準備は完了。syncしてからSDカードを取り外し。
$ sync
ボードに挿して起動します。

(おまけ) Ethernetインタフェースのセットアップ


そのままだとEthernetに接続できませんが、/etc/network/interfacesに下記を追加し、
auto eth1
iface eth1 inet dhcp
下記でEthernetのインタフェースを起動すればOKです。
$ sudo ifup eth1

参考
I.MX6 - Ubuntu 13.04 with GPU acceleration - Tiny Devices
UDOO creating a bootable Micro SD card from precompiled binaries - eLinux.org
UDOOのUbuntuでネットワークに接続できない - Atelier Orchard

0 件のコメント:

コメントを投稿