Armadilloフォーラム

SDカードの自動マウントについて

matuo

2015年6月25日 17時19分

お世話になります、松尾です。

Armadillo-440でmicroSDからコマンドを起動しようと試み、サイトを参考にSDを起動時に自動マウントしようとしましたが上手くいきません。
知恵をお借りできれば幸いです。

参考にしたサイト:デベロッパーズガイド(Armadillo-400シリーズ編)
http://openrtm.org/openrtm/ja/book/export/html/149

/etc/config/rc.local
in/sh

. /etc/init.d/functions
TH=/bin:/sbin:/usr/bin:/usr/sbin

echo -n "Starting functester: "
export TZ=JST-9
DISPLAY=:0 functester >/dev/null 2>&1 &
check_status

echo -n "Adjusting clock"
ntpclient -h ntp.ring.gr.jp -s
check_status

if test -b /dev/mmcblk0p1; then
echo -n "Mounting SD memory"
mount -t vfat /dev/mmcblk0p1 /mnt
check_status
fi
PATH=/bin:/sbin:/usr/bin:/usr/sbin

echo -n "Starting functester: "
export TZ=JST-9
DISPLAY=:0 functester >/dev/null 2>&1 &
check_status

echo -n "Adjusting clock"
ntpclient -h ntp.ring.gr.jp -s
check_status

if test -b /dev/mmcblk0p1; then
echo -n "Mounting SD memory"
mount -t vfat /dev/mmcblk0p1 /mnt
check_status
fi

if test -f /mnt/boot.sh; then
echo -n "Starting RTCs"
sh /mnt/boot.sh
check_status
fi>/code>

コメント

at_takashi.sasayama

2015年6月30日 9時48分

笹山です。

> Armadillo-440でmicroSDからコマンドを起動しようと試み、サイトを参考にSDを起動時に自動マウントしようとしましたが上手くいきません。

記載いただきましたスクリプトですが、
一部の処理が重複していましたので、
スクリプト後半の以下のみを対象に見てみましたが、
特に問題なく動作することを確認しました

/etc/config/rc.local

#!/bin/sh
 
echo -n "Starting functester: "
export TZ=JST-9
DISPLAY=:0 functester >/dev/null 2>&1 &
check_status
 
echo -n "Adjusting clock"
ntpclient -h ntp.ring.gr.jp -s
check_status
 
if test -b /dev/mmcblk0p1; then
        echo -n "Mounting SD memory"
        mount -t vfat /dev/mmcblk0p1 /mnt
        check_status
fi
 
if test -f /mnt/boot.sh; then
        echo -n "Starting RTCs"
        sh /mnt/boot.sh
        check_status
fi

マウントが失敗しているとのことですので、
どのようなエラーメッセージが出力されているが教えていただけないでしょうか?

■参考情報

考えられるエラーとしては、
ext3 でフォーマットされたSDカードを FATでマウントを試みた場合は、
以下の様なエラーメッセージが出力されます。

Mounting SD memoryFAT: bogus number of reserved sectors
VFS: Can't find a valid FAT filesystem on dev mmcblk0p1.
mount: Mounting /dev/mmcblk0p1 on /mnt failed: Invalid argument
                                                                failed