このSDカードを内蔵したデバイスがあります。
[root@(none) ~]# busybox fdisk -l
Disk /dev/mmcblk0: 3965 MB, 3965190144 bytes
4 heads, 16 sectors/track, 121008 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 305 8497 262144+ 83 Linux
/dev/mmcblk0p2 8497 16689 262144+ 83 Linux
/dev/mmcblk0p3 16689 60352 1397247 b Win95 FAT32
そして次のパーティションは:
[root@(none) ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 253871 140291 113580 55% /
none 16384 4 16380 0% /tmp
none 127016 4 127012 0% /dev
none 16 4 12 25% /var/lib
none 16 0 16 0% /var/log
none 128 16 112 13% /var/run
/dev/mmcblk0p3 1394520 118036 1276484 8% /mnt/onboard
uImage
約2MBのサイズのu-bootカーネルイメージファイルがあります。次のことを行うと正確にどうなりますか?
dd if=uImage of=/dev/mmcblk0 bs=512 seek=2048
私がこれを尋ねるのはなぜですか?このコマンドは、次の理由で奇妙に見えます。
コピーされたイメージはターゲットパーティションよりも小さいです。ルートパーティション/dev/mmcblk0p1にイメージが抽出されたようです。 305で始まり、ddはブロック2048をスキップする。編集:参照アントンの答え- ブートパーティションなし
- u-画像が抽出されました。代わりにu-bootでそのまま使用すると予想しました。
背景:デバイスはKobo Gloであり、更新スクリプトを介してこのコマンドを実行してカーネルを更新します。
答え1
コボグロがないからここにいると思います。 (私のBookeen HDが再プログラミング可能であればと思います。)
内部に2Gb SDメモリがあるようです(60352本のシリンダ、シリンダあたり32K)。
実際、dd
512ブロックのうち2048(1048576)はスキップされていますが、これは305シリンダーオフセット(9994240)よりも少ないです。実際、/dev/mmcblk0p1
この方法でパーティションに到達するには、8 Mb以上を作成する必要があります。
デバイスの起動方法はファームウェアによって異なりますが、最初の1 MbのSDメモリを介して基本的な起動を実行してからdd
。
/dev/mmcblk0p1
256Mb((8497 - 305)* 32768)で、/
vvまたはvvのバックアップを介してインストールされているようです/dev/mmcblk0p2
。