Инструменты пользователя

Инструменты сайта


howto:programming:embedded:uboot

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
howto:programming:embedded:uboot [2012/02/02 18:35]
sergey
howto:programming:embedded:uboot [2019/10/26 21:15] (текущий)
sergey ↷ Страница перемещена из dev:embedd:uboot в howto:programming:embedded:uboot
Строка 1: Строка 1:
-====== u-boot ====== 
  
 +===== rootfs через nfs =====
 +Далее описан способ загрузки встраиваемой linux-системы через nfs (вообще без участия flash-памяти). Это очень удобно для мгновенной отладки,​ когда не нужно ничего перезаписывать во встроенную flash, а все файлы, в т.ч. и корневая файловая система,​ находятся на сервере.
 +
 +**Собираем ядро с опциями ROOT_NFS и CONFIG_IP_PNP**
 +
 +В buildroot они называются так:
 +  * Networking support ->  Networking options ->  IP: kernel level autoconfiguration
 +  * 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:**
 +FIXME
 +
 +**Настраиваем nfs для rootfs:**
 +<file nfs /​etc/​exports>​
 +/​data/​work/​em5root pandapc01(rw,​sync,​no_subtree_check,​all_squash,​anongid=1000,​anonuid=1000,​no_wdelay)
 +</​file>​
 +pandapc01 -- ip удаленного хоста, на время настройки можно поставить *. \\
 +/​data/​work/​em5root -- папка под коневую фс.
 +
 +**После изменения не забываем сделать**
 +   sudo exportfs -a
 +
 +**Распаковываем корневую систему из buildroot:​**
 +<code bash>
 +cp rootfs.arm.tar /​data/​work/​em5root
 +cd /​data/​work/​em5root
 +# Без sudo не создадутся файлы устройств!
 +sudo tar -xvf rootfs.arm.tar
 +# id пользователя и группы те же, что в /​etc/​exports
 +sudo chown -R 1000.1000 .
 +</​code>​
 +
 +**Настраиваем u-boot на целевом устройстве:​**
 +
 +Предварительно рекомендуется выполнить printenv и скопировать старые значения переменных.
 +<code uboot>
 +u-boot> setenv serverip 10.163.2.126
 +u-boot> setenv nfspath /​data/​work/​em5root/​
 +u-boot> setenv hostname pandapc01
 +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> printenv
 +u-boot> saveenv
 +u-boot> reset
 +</​code>​
 +
 +
 +
 +**Если всё было сделано правильно,​ система должна загрузиться по nfs.**
  
-setenv server 10.163.2.126 
-tftpboot zImage 
-wtags 
-go 
howto/programming/embedded/uboot.1328193317.txt.gz · Последние изменения: 2012/11/30 12:41 (внешнее изменение)