UEnv.txt

Материал из virt2real wiki
Перейти к: навигация, поиск

Основные настройки Виртурилки вынесены в файл /boot/uEnv.txt

Содержание

Редактирование файла uEnv.txt

Этот файл находится в загрузочном разделе (с меткой "boot", FAT16).

На обычном компьютере

Для редактирования файла можно подключить microSD карточку к компьютеру с помощью кардридера, после чего в любимом текстовом редакторе открыть и отредактировать этот файл.

На Виртурилке

Надо примонтировать раздел

  mount /dev/mmcblk0p1 /mnt

Запустить редактор (например, vi)

  vi /mnt/uEnv.txt

Внести нужные изменения, сохранить файл. После чего отмонтировать раздел

  umount /mnt

И перезагрузить Виртурилку

  reboot -f


Через админку

В админке, в разделе Консоль (http://ip_addres/?console) надо примонтировать загрузочный раздел. Для этого надо ввести команду

  mount /dev/mmcblk0p1 /mnt

После чего с помощью файл-менеджера админки (http://ip_addres/?filemanager) надо перейти в каталог /mnt, выбрать файл uEnv.txt (кликнуть по нему), отредактировать и сохранить (кнопка "Сохранить" под окошком редактирования).

После этого в консоли админки отмонтировать загрузочный раздел

  umount /mnt

И перезагрузить Виртурилку. Для этого можно воспользоваться разделом "перезагрузка" (http://ip_address/?reboot)


В случае использования NAND

В этом случае для хранения настроек загрузчика используется не отдельный файл, а определенный диапазон адресов NAND flash-памяти, отведенной под секцию загрузчика. Для записи и чтения используются две утилиты из комплекта uboot-tools - fw_printenv и fw_setentv. Для корректной работы необходимо наличие файла /etc/fw_env.config.

Для начала распечатаем все доступные переменные:

[root@virt2real ~]# fw_printenv
baudrate=115200
bootargs=mem=99M rootwait root=ubi0:fs rw rootfstype=ubifs rootdelay=0 ubi.mtd=2,2048 davinci_enc_mngr.ch0_output=COMPOSITE davinci_enc_mngr.ch0_mode=PAL davinci_display.cont2_bufsize=3145728  vpfe_capture.cont_bufoffset=3145728 vpfe_capture.cont_bufsize=6291456 video=davincifb:osd1=0x0x8:osd0=720x480x16,1350K@0,0 console=ttyS0,115200n8 dm365_imp.oper_mode=0 vpfe_capture.interface=1 coherent_pool=1M pwrled=on redled=none greenled=cpu0 wifi=on usbwifi=on lan0=on 1wire=10 1wirepullup=11 spi0=on ap=off uart1=off camera=ov2643
bootcmd=nboot 0x80700000 0 0x00400000; bootm 0x80700000
bootdelay=1
bootfile="uImage"
ethact=DaVinci-EMAC
ethaddr="00:0C:0C:A0:02:b5"
importbootenv=echo Importing environment from mmc ...; env import -t ${loadaddr} ${filesize}
loadaddr=0x82000000
loadbootenv=fatload mmc 0 ${loadaddr} uEnv.txt
loaduimage=fatload mmc 0 ${loadaddr} uImage
stderr=serial
stdin=serial
stdout=serial
ver=U-Boot 2011.03-00000-g5940852-dirty (Feb 07 2014 - 12:54:13)

Как видим, параметры загрузки находятся в переменной bootargs, ee значение и будем изменять. Например, включим второй UART установкой uart1 в on:

[root@virt2real ~]# fw_setenv bootargs mem=99M rootwait root=ubi0:fs rw rootfstype=ubifs rootdelay=0 ubi.mtd=2,2048 davinci_enc_mngr.ch0_output=COMPOSITE davinci_enc_mngr.ch0_mode=PAL  davinci_display.cont2_bufsize=3145728  vpfe_capture.cont_bufoffset=3145728 vpfe_capture.cont_bufsize=6291456 video=davincifb:osd1=0x0x8:osd0=720x480x16,1350K@0,0 console=ttyS0,115200n8 dm365_imp.oper_mode=0 vpfe_capture.interface=1 coherent_pool=1M pwrled=on redled=none greenled=cpu0 wifi=on usbwifi=on lan0=on 1wire=10 1wirepullup=11 spi0=on ap=off uart1=on camera=ov2643

[root@virt2real ~]# fw_printenv
baudrate=115200
bootcmd=nboot 0x80700000 0 0x00400000; bootm 0x80700000
bootdelay=1
bootfile="uImage"
ethact=DaVinci-EMAC
ethaddr="00:0C:0C:A0:02:b5"
importbootenv=echo Importing environment from mmc ...; env import -t ${loadaddr} ${filesize}
loadaddr=0x82000000
loadbootenv=fatload mmc 0 ${loadaddr} uEnv.txt 
loaduimage=fatload mmc 0 ${loadaddr} uImage
stderr=serial
stdin=serial
stdout=serial
ver=U-Boot 2011.03-00000-g5940852-dirty (Feb 07 2014 - 12:54:13)
bootargs=mem=99M rootwait root=ubi0:fs rw rootfstype=ubifs rootdelay=0 ubi.mtd=2,2048 davinci_enc_mngr.ch0_output=COMPOSITE davinci_enc_mngr.ch0_mode=PAL davinci_display.cont2_bufsize=3145728 vpfe_capture.cont_bufoffset=3145728 vpfe_capture.cont_bufsize=6291456 video=davincifb:osd1=0x0x8:osd0=720x480x16,1350K@0,0 console=ttyS0,115200n8 dm365_imp.oper_mode=0 vpfe_capture.interface=1 coherent_pool=1M pwrled=on redled=none greenled=cpu0 wifi=on usbwifi=on lan0=on 1wire=10 1wirepullup=11 spi0=on ap=off uart1=on camera=ov2643

Как видим, все вполне себе записалось. Можем проверить при помощи перезагрузки.

Так же не лишним будет взглянуть на вспомогательное сообщение fw_setenv, из которого становится понятным, что можно использовать файлы для хранения переменных:

[root@virt2real ~]# fw_setenv -h
fw_printenv/fw_setenv, a command line interface to U-Boot environment 

usage:	fw_printenv [-n] [variable name]
	fw_setenv [variable name] [variable value]
	fw_setenv -s [ file ]
	fw_setenv -s - < [ file ]

The file passed as argument contains only pairs name / value
Example:
# Any line starting with # is treated as comment

	      netdev         eth0
	      kernel_addr    400000
	      var1
	      var2          The quick brown fox jumps over the lazy dog

A variable without value will be dropped. It is possible
to put any number of spaces between the fields, but any
space inside the value is treated as part of the value itself.

Описание параметров файла uEnv.txt

Параметр Значения Описание
pwrled on off Включить/выключить синий светодиод при загрузке ядра. Пример: pwled=on
redled none nand-disk mmc0 mmc1 timer oneshot heartbeat backlight gpio cpu0 rfkill0 назначить красному светодиоду триггер. Пример: redled=cpu0
greenled none nand-disk mmc0 mmc1 timer oneshot heartbeat backlight gpio cpu0 rfkill0 назначить зелёному светодиоду триггер. Пример: greenled=cpu0
wifi on off Если wifi=on - инициализировать модуль Virt2real Wi-Fi при загрузке.
usbwifi on off Если usbwifi=on - загружать драйвера для USB Wi-Fi свистков.
wifi_ssid <SSID> Подставить в конфигурацию первой сети в файле /etc/wpa_supplicant.conf это название сети (SSID). Пример: wifi_ssid=virt2real Важно: если SSID не указан, обязательно указать два пробела.
wifi_pass <PASS> Подставить в конфигурацию первой сети в файле /etc/wpa_supplicant.conf этот пароль от сети (PASS). Пример: wifi_pass=12345678 Важно: если PASS не указан, обязательно указать два пробела.
lan0 on off Если lan0=on - инициализировать сетевой контроллер LAN при загрузке.
lan1 on off Если lan1=on - инициализировать сетевой контроллер EMAC (Davinci LAN) при загрузке.
lan1hwaddr 112233445566 задать MAC-адрес сетевого контроллера EMAC (Davinci LAN) при загрузке. Если не указано - присваивается случайный MAC-адрес при каждой загрузке.
1wire <номер_gpio> подключить датчик 1-Wire на указанном GPIO
1wirepullup <номер_gpio> использовать указанный GPIO как питание для датчика 1-Wire
ap on off включить режим точки доступа. Если ap=on - после загрузки, при включённом Wi-Fi, Виртурилка перейдёт в режим точки доступа
spi0 on off Если spi0=on - активировать шину SPI0 при загрузке
uart1 on off если uart1=on - активировать UART1 при загрузке
camera ov2643 ov5642 инициализировать указанную камеру при загрузке
console ttyS0,115200n8 установить параметры консоли (ttyS0, она же UART0)
quiet не выводить сообщения ядра в консоль
davinci_wdt.heartbeat 1-600 тайм-аут сторожевого таймера (Watchdog) в секундах
dm365_ccdc.top_offset 0-1080 вертикальное смещение кадра для HDMI. 30 - для видеовыхода видеокарты обычного компа, 42 - для видеовыхода GoPro. Для других источников возможны другие смещения, надо подбирать экспериментально.
ghid km Для USB Gadjet HID (модуль g-hid). k - использовать HID keyboard. m - использовать HID mouse. Например, ghid=km - использовать одновременно и клавиатуру и мышь.
ks8851.hwaddr AABBCCDDEEFF MAC-адрес для lan0