Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
howto:programming:embedded:uboot [2012/04/06 23:16] sergey |
howto:programming:embedded:uboot [2019/10/26 21:15] (текущий) sergey ↷ Страница перемещена из dev:embedd:uboot в howto:programming:embedded:uboot |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== u-boot ====== | ||
- | Boot image zImage from 10.163.2.126 via tftp. | ||
- | <code u-boot> | ||
- | setenv serverip 10.163.2.126 | ||
- | tftpboot zImage | ||
- | wtags | ||
- | go | ||
- | </code> | ||
- | |||
- | Flash kernel image. | ||
- | <code> | ||
- | tftpboot zImage | ||
- | erase 1:4-13 | ||
- | cp.b $(fileaddr) 20000 $(filesize) | ||
- | reset | ||
- | </code> | ||
- | |||
- | Flash filesystem image. | ||
- | <code> | ||
- | tftpboot rootfs.arm.jffs2 | ||
- | erase 1:14- | ||
- | cp.b $(fileaddr) 160000 $(filesize) | ||
- | reset | ||
- | </code> | ||
===== rootfs через nfs ===== | ===== rootfs через nfs ===== | ||
- | Далее описан способ загрузки linux-системы через nfs (вообще без участия flash-памяти). Это очень удобно для мгновенной отладки, когда не нужно ничего перезаписывать во встроенную flash, а все файлы, в т.ч. и корневая файловая система, находятся на сервере. | + | Далее описан способ загрузки встраиваемой linux-системы через nfs (вообще без участия flash-памяти). Это очень удобно для мгновенной отладки, когда не нужно ничего перезаписывать во встроенную flash, а все файлы, в т.ч. и корневая файловая система, находятся на сервере. |
**Собираем ядро с опциями ROOT_NFS и CONFIG_IP_PNP** | **Собираем ядро с опциями ROOT_NFS и CONFIG_IP_PNP** | ||
Строка 32: | Строка 8: | ||
* Networking support -> Networking options -> IP: kernel level autoconfiguration | * Networking support -> Networking options -> IP: kernel level autoconfiguration | ||
* File systems -> Network File Systems -> Root file system on NFS (не видна без первой опции) | * File systems -> Network File Systems -> Root file system on NFS (не видна без первой опции) | ||
+ | |||
+ | Предварительно убеждаемся, что в "make menuconfig" "Target filesystem options" включена опция "tar the root filesystem" и правильно указан путь в "also copy the image to...". \\ | ||
+ | **Добавляем /dev/nfs в файл device_table.txt и пересобираем корневую фс в buildroot (make).** | ||
+ | |||
+ | <file device_table.txt> | ||
+ | /dev/nfs b 777 0 0 0 255 0 0 - | ||
+ | </file> | ||
**Настраиваем tftp для zImage:** | **Настраиваем tftp для zImage:** | ||
Строка 63: | Строка 46: | ||
u-boot> setenv nfspath /data/work/em5root/ | u-boot> setenv nfspath /data/work/em5root/ | ||
u-boot> setenv hostname pandapc01 | u-boot> setenv hostname pandapc01 | ||
- | u-boot> setenv bootargs root=/dev/nfs rw nfsroot=$(serverip):$(nfspath) ip=$(ipaddr):::$(netmask):$(hostname) debug console=ttyS0,38400 nfsrootdebug; | + | u-boot> setenv bootargs root=/dev/nfs rw nfsroot=$(serverip):$(nfspath),rsize=1024,wsize=1024 ip=$(ipaddr):::$(netmask):$(hostname) debug console=ttyS0,38400 nfsrootdebug; |
u-boot> setenv bootcmd tftpboot zImage\; wtags\; go | u-boot> setenv bootcmd tftpboot zImage\; wtags\; go | ||
u-boot> printenv | u-boot> printenv | ||
Строка 69: | Строка 52: | ||
u-boot> reset | u-boot> reset | ||
</code> | </code> | ||
+ | |||
+ | |||
**Если всё было сделано правильно, система должна загрузиться по nfs.** | **Если всё было сделано правильно, система должна загрузиться по nfs.** | ||