2013年7月26日金曜日

ls-qlに4TB USB Touro接続 (1)

ls-qlは、2TB以上のUSBに対応していない。以前、パーティションを切らずに、xfsを作成、手動でmountすることで使用できるようにしたが、手動マウントするのは面倒。
直ディスクでできるなら、gptでパーティションきればできるのでは?と思って、試してみた。
USBディスクは、4TB Touro DX3。結果、できた。

partedの準備

ls-qlの付属のpartedを、Touroに対して使用すると、異常終了した。Touroは、4096 bytes/sectorであり、付属のpartedは、これに対応していないと推測。(googleで調査してそう思った)
付属のpartedは、v1.8.8なので、バージョン上げてみる。
parted v3.0のソースをダウンロード。クロス環境でビルドする。
>./configure --prefix=/usr/arm-linux-gnueabi --host=arm-linux-gnueabi --disable-device-mapper --without-readline --disable-shared
>make
>make install

/usr/arm-linux-gnueabi/sbinに、parted, partprobe が、
/usr/arm-linxu-gnueabi/libに、libparted.{a,so}がインストールされる。

隘路

./configureのときに、libuuidがないとおこられる。xaptでインストールした。
>xapt -a armel libuuid

ls-qlへのインストール

>mv /usr/local/sbin/parted /usr/local/sbin/parted.org
>mv /usr/local/sbin/partprobe /usr/local/sbin/partprobe.org
parted, partprobeを、コピー。

libparted, libuuidもコピー。

ls-ql:~# ldd /usr/local/sbin/parted
        libparted.so.1 => /usr/lib/libparted.so.1 (0x40026000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x40081000)
        libc.so.6 => /lib/libc.so.6 (0x40095000)
        libuuid.so.1 => /usr/lib/libuuid.so.1 (0x401c4000)
        libdl.so.2 => /lib/libdl.so.2 (0x401d0000)
        /lib/ld-linux.so.3 (0x40000000)
ls-ql:~# ldd /usr/local/sbin/partprobe
        libparted.so.1 => /usr/lib/libparted.so.1 (0x40026000)
        libuuid.so.1 => /usr/lib/libuuid.so.1 (0x40081000)
        libdl.so.2 => /lib/libdl.so.2 (0x4008d000)
        libc.so.6 => /lib/libc.so.6 (0x40098000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x401c7000)
        /lib/ld-linux.so.3 (0x40000000)

つづく

0 件のコメント: