sakashita_spc
2018年7月23日 2時02分
Armadillo-840のSDカードを利用しています。
SDカードをマウントするとき、
/dev/mmcblk0
/dev/mmcblk0p1
のデバイスにがあります。この違いはパーティション(p1)を指定するか、そうでないかの違いなのでしょうか?
個体差によって、/dev/mmcblk0が見えるものと、/dev/mmcblk0p1が見えるものがあって、SDカードのフォーマット
の違いによって生じるのでしょうか?(マウント時の、起動スクリプトに問題が起こりそうです。)
また、マニュアル等では、/dev/mmcblk0p1が指定されています。
確実に、/dev/mmcblk0p1にする方法があれば、教示願いします。
以上、よろしくお願いします。
コメント
at_kojiro.yamada
> > 個体差によって、/dev/mmcblk0が見えるものと、/dev/mmcblk0p1が見えるものがあって、SDカードのフォーマット
> > の違いによって生じるのでしょうか?(マウント時の、起動スクリプトに問題が起こりそうです。)
> >
> > また、マニュアル等では、/dev/mmcblk0p1が指定されています。
> > 確実に、/dev/mmcblk0p1にする方法があれば、教示願いします。
>
> 以下のような要因が考えられます。
> - パーティションが作成されていない、書き込み中の電源断などによりパーティション情報が破壊されている
> - パーティションが作成されているが接触不良などで正しく認識されなかった
市販されているSDカードの中には、パーティションがないものもあるようです。
# /dev/mmcblk0に直接ファイルシステムを構築(フォーマット)している
sakashita_spc
at_kojiro.yamada
at_kojiro.yamada
2018年7月23日 11時35分
> Armadillo-840のSDカードを利用しています。
> SDカードをマウントするとき、
> /dev/mmcblk0
> /dev/mmcblk0p1
> のデバイスにがあります。この違いはパーティション(p1)を指定するか、そうでないかの違いなのでしょうか?
/dev/mmcblk0 はディスク(SDカード)そのものを表します。
先頭に0x00を書けば、そのデータはディスクのアドレス0に書き込まれます。
/dev/mmcblk0p1 はkernelがディスクを読んで認識したディスクのパーティション1を表します。
/dev/mmcblk0p1の先頭はディスクの先頭(/dev/mmcblk0のアドレス 0)ではなく、
ディスク上のパーティション1の先頭とされているアドレスと対応しています。
先頭に0x00を書けば、そのデータはディスクの0アドレスではなく、ディスク上のパーティション1の先頭とされているアドレスに書き込まれます。
>
> 個体差によって、/dev/mmcblk0が見えるものと、/dev/mmcblk0p1が見えるものがあって、SDカードのフォーマット
> の違いによって生じるのでしょうか?(マウント時の、起動スクリプトに問題が起こりそうです。)
>
> また、マニュアル等では、/dev/mmcblk0p1が指定されています。
> 確実に、/dev/mmcblk0p1にする方法があれば、教示願いします。
以下のような要因が考えられます。
- パーティションが作成されていない、書き込み中の電源断などによりパーティション情報が破壊されている
- パーティションが作成されているが接触不良などで正しく認識されなかった
前者の場合は、fdiskコマンドをroot権限で実行してパーティションを作りなおせば/dev/mmcblk0p1が見えるようになります。