【2014年 04月 14日】
- ■ CuBox-i4Pro に Debian をインストールする (CuBox-i)
-
- + [microSD カードの準備]
-
以下の作業は、Ubuntu 13.10 x86_64 で行っています。
microSD カードのデバイス名は当方の環境では /dev/sdd です。
各々の環境により変わりますので、間違えない様に良く確認してください。
最初に、microSD カードの先頭を 0 でクリアしておきます。
% sudo dd if=/dev/zero of=/dev/sdd bs=1M count=4
以下の様なパーティションを作成します。
% sudo fdisk /dev/sdd ... デバイス ブート 始点 終点 ブロック Id システム /dev/sdd1 8192 49151 20480 c W95 FAT32 (LBA) /dev/sdd2 49152 31116287 15533568 83 Linux
microSD カードの先頭にブートローダーを書き込むため、 最初のパーティションの始点を 8192 からにしています。
それぞれのパーティションをフォーマットします。
% sudo mkdosfs -n BOOT /dev/sdd1 % sudo mke2fs -T ext4 -L ROOT /dev/sdd2
/dev/sdd1 は /media/BOOT に、/dev/sdd2 は /media/ROOT にマウントしておきます。
- + [ブートローダー]
-
クロスコンパイラは、 Software Downloads at Linaro からダウンロードした
gcc-linaro-arm-linux-gnueabihf-4.8-2014.03_linux.tar.xz
を使用しました。
ブートローダーのソースを取得します。
% git clone https://github.com/SolidRun/u-boot-imx6.git
ブートローダーをコンパイルします。
% cd u-boot-imx6 % make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6_cubox-i_config % make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
ブートローダーをmicroSD カードに書き込みます。
% sudo dd if=SPL of=/dev/sdd bs=1K seek=1 % sudo dd if=u-boot.img of=/dev/sdd bs=1K seek=42
- + [ユーザーランド]
-
コンパイルするのが面倒でしたので、 I.MX6 Debian Jessie (GPU/VPU) 3.10.17_beta で公開されている
jessie-3.10.17_beta.tar.gz
を使用しました。
% wget -nd -N http://stende.no-ip.info/jas/debian/jessie-3.10.17_beta.tar.gz
ダウンロードした jessie-3.10.17_beta.tar.gz を microSD カードに展開します。
% sudo tar -xf jessie-3.10.17_beta.tar.gz -C /media/ROOT % sudo mv -i /media/ROOT/boot/* /media/BOOT/
- + [カーネル]
-
カーネルのソースを取得します。
% git clone https://github.com/SolidRun/linux-linaro-stable-mx6.git
カーネルをコンパイルします。
% cd linux-linaro-stable-mx6 % make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_cubox-i_hummingboard_defconfig % make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage imx6q-cubox-i.dtb % make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules
カーネルを microSD カードにコピーします。
% cp arch/arm/boot/zImage /media/BOOT/ % cp arch/arm/boot/dts/imx6q-cubox-i.dtb /media/BOOT/ % sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=/media/ROOT modules_install
ブート用の設定ファイルを作成します。
% vi /media/BOOT/uEnv.txt bootfile=zImage boot_fdt=yes fdt_file=imx6q-cubox-i.dtb mmcargs=setenv bootargs root=/dev/mmcblk0p2 rootfstype=ext4 rootwait video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24,bpp=32 dmfc=3 consoleblank=0
- + [ローカルタイム]
-
日本時間にします。
% sudo cp /media/ROOT/usr/share/zoneinfo/Asia/Tokyo /media/ROOT/etc/localtime
更に
% sudo vi /media/ROOT/etc/timezone
を実行し
Asia/Tokyo
に書き換えます。
- + [キーボードレイアウト]
-
キーボードレイアウトが gb になっていますので
% sudo vi /media/ROOT/etc/default/keyboard
を実行し
XKBLAYOUT="us"
等に変更します。
- + [Input driver event debug module]
-
イベントのデバッグメッセージが大量に出ますので
% sudo vi /media/ROOT/etc/modprobe.d/blacklist.conf
を実行し
blacklist evbug
を書き込みます。
【2014年 04月 09日】
- ■ mmcblk0: error -110 transferring data (CuBox-i)
-
- + [CuBox-i4Pro で UHS は使えない ?]
-
CuBox-i4Pro を去年に購入 した後、動作確認ぐらいで放置してました。
で、数日前からがんばって OS のインストールとかしてるのです。
がしかし、しばらく動作させていますと
mmcblk0: error -110 transferring data
が延々と出てハングした様になります。
Linux kernel を 3.0.35-g0f2006c-dirty や 3.0.35-gde37251 、更には 3.10.30-g592b2d9 と変更しても同じです。
ところが microSD カードを
SanDisk Extreme Pro microSDHC UHS-I[SDSDQXP-016G-J35]
から
Barun microSDHC 16GB CLASS10[BMC-MS16G BK]
に変えたらエラーが出ません。
Google で検索しますと、 UHS 対応カードだとこのエラーが出る事がある様なのですが、 全ての UHS 対応カードがダメなのか不明です。
<追記>
あー、
TOSHIBA microSDHC UHS-I CARD[SD-C032GR7AR30]
ではエラーは出ませんでした。
UHS 対応カードだとダメなのではなくて、たまたま使用した SanDisk Extreme Pro microSDHC がダメだったのかもしれません。
Windows PC で Check Flash 1.16 を使用し、エラーが無いのは確認したのですが…
</追記>
前のページ 次のページ