1:イーサネット開始
uboot bootargs bootcmd bootm起動パラメーターの意味:(http://blog.csdn.net/cgzhello1/article/details/7852033)
環境パラメーターは次のとおりです。
setenv bootargs'root = / dev / nfs rw nfsroot = 192.168.1.4:/ exports / rfs ip = 192.168.1.200 console = ttySC0 video = HDMI-A-1:1280x800 video = HDMI-A-2:1280x960 '
setenv bootcmd' tftp0x48080000イメージ; tftp0x48000000 r8a7795-salvator-xs.dtb; booti 0x48080000-0x48000000'setenv
bootcmd 'run nfscmd'
2:EMMCが開始します
環境パラメータは次のとおりです。
setenv bootargs'root = / dev / mmcblk0p2 console = ttySC0 video = HDMI-A-1:1280x800 video = HDMI-A-2:1280x960 '
setenv bootcmd'ext4load mmc 2:1 0x48080000 Image; ext4load mmc 2:1 0x48000000 r8a7795- salvator-xs.dtb; booti 0x48080000-0x48000000 '
2.1フォーマットツールはe2fsprogsアドレスhttps://sourceforge.net/projects/e2fsprogs/?source=typ_redirectです
tar -zxvf /mnt/hgfs/linuxbak/e2fsprogs-1.43.7.tar.gz
ソースクロスツールコンパイルスクリプト
生成makefile./configure --host = aarch64-poky-linux --prefix = / exports / rfs / usr
インストールする
2.2 EMMCパーティション:
EMMC関連の手順:https ://blog.csdn.net/simonjay2007/article/details/43198353
最初にNFSを介して開発ボードシステムにマウントし、次にパーティションを作成します。
まず、emmcパーティションにfdiskを使用する必要があります。
fdisk / dev / mmcblk0
(パーティションのサイズは独自のemmcサイズに従ってパーティション化されます)
コマンド(ヘルプの場合はm):m — fdiskツールの手順を取得するにはmを入力します
コマンド(ヘルプの場合はm):n —nを入力します新しいパーティションを作成するには
選択(デフォルトp):p — pを入力してプライマリパーティションを作成
パーティション番号(1-4、デフォルト1):1
—パーティション番号を入力最初のセクター(2048-31116287、デフォルト2048):—入力パーティションの開始アドレスを押して、Enterキーを押します。デフォルト値を使用します。
最後のセクター、+ sectorsまたは+ size(K、M、G)(2048-31116287、デフォルト31116287):+ 2G —パーティションの終了アドレスを入力します
コマンド(mヘルプ用):n — 2番目のパーティションを作成します
パーティションタイプ:
pプライマリ(1プライマリ、0拡張、3フリー)
e拡張
選択(デフォルトp):p
パーティション番号(1-4、デフォルト2):2
最初のセクター(10000001 -31116287、デフォルト10000001):
デフォルト値10000001を使用
最後のセクター、+セクターまたは+サイズ{K、M、G}(10000001-31116287、デフォルト31116287):+ 1G
コマンド(ヘルプの場合はm):p:mmcblk0のパーティションステータスを出力します
コマンド(ヘルプはm):w —パーティション設定を
保存して終了します2.3パーティションファイルシステムをフォーマットします
mkfs.ext4 / dev / mmcblk0p1
mkfs.ext4 / dev / mmcblk0p2フォーマットext4システム(パーティション1およびパーティション2用)
マウントパーティション
mkdir / mnt / emmc1
mkdir / mnt / emmc2
マウント/ dev / mmcblk0p1 / mnt / emmc1
mount / dev / mmcblk0p2 / mnt / emmc2
(NFS経由で起動するたびに、mountコマンドを実行してemmc1フォルダーとmmcblk0p1パーティションをマウントする必要があります。そうしないと、フォルダーの内容が表示されません)
3:ramdiskルートファイルシステムから起動します
跳转到要制作的rootfs的上一级目录
#genext2fs -b 8192 -d rootfs ramdisk
#gzip -9 -f ramdisk
将该ramdisk以最优方式压缩为ramdisk.gz
-bは、生成されたRAMディスクのサイズが8MB(8192/1024 = 8、8MBはrfsフォルダーのサイズを指します)であることを
意味し、変更できます。-dは、RAMディスクのルートファイルシステムディレクトリを指します(rootfsはルートを指します)。 fileそれが置かれているフォルダの名前)
最後のramdiskは、作成されたramdiskの名前です。もちろん、名前を変更することもできます。
genext2fs -b 1024 -d rootfs ramdisk.image
がエラーを報告しました:genext2fs:ブロックを割り当てることができませんでした(空き領域がありません)
多くの検索の結果、これは領域割り当てエラーであることがわかりまし
た
。genext2fs-b102400に変更してください。 -d rootfs ramdisk.image
これは渡されます。
このスペースのサイズが小さすぎるようです。最初に大きい方を使用してから、小さい方を使用してください。
ubootで実行
tftp 0x500000000 ramdisk.gz
mmc dev 1
mmc write 0x500000000 0x16 0xcbce
0x500000000是指在RAM中从该地址读取数据放到EMMC中,0x16为起始地址,大小为0xcbce(0xcbce转化为十进制,
再乘以512,即为ramdisk.gz的大小,单位是kb)
mmc write 0x48080000 0xcbe3 51df(image大小)
mmc write 0x48000000 fd1b(0xcbe3+51df) 7e (dtb大小)
内部の.config内のカーネルの場合
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=819600重新编译
配置内核支持的ramdisk的大小(KB)
起動パラメータを設定します。
setenv bootargs'initrd = 0x500000000,0x48e99A6 root = / dev / ram rw console = ttySC0 video = HDMI-A-1:1280x800 video = HDMI-A-2:1280x960 '
setenv bootcmd'run loadramdisk; dlkernelを実行します。booti 0x48080000-0x48000000'dlkernel
= mmc read 0x48080000 24764 648e; mmc読み取り0x4800000002abf3 85