Команды U-Boot

  Инфо    Память    Хранилище    Выполнение    Загрузка    Окружение      FDT      Sunxi  

  fdt    fdt addr      fdt chosen      fdt list    fdt mknode    fdt move    fdt print    fdt rm    fdt set  

fdt chosen


Исправление динамической информации (fixup dynamic info)

Одна из модификаций, сделанных U-Boot в BLOB-объект перед его передачей в ядро- это добавление /chosen узла.

В документации Linux 2.6/powerpc/ boot-without-of.txt говорится, что этот узел используется для хранения «некоторой переменной информации о среде, такой как аргументы или устройства ввода/вывода по умолчанию».

Чтобы заставить U-Boot добавить узел /chosen в текущий большой двоичный объект, можно использовать команду fdt chosen .

Теперь проверим его работу:


=> fdt list / / { #address-cells = <0x2>; #size-cells = <0x1>; model = "amcc,canyonlands"; compatible = "amcc,canyonlands"; dcr-parent = <0x1>; aliases { }; cpus { }; memory { }; interrupt-controller0 { }; interrupt-controller1 { }; interrupt-controller2 { }; interrupt-controller3 { }; sdr { }; cpr { }; l2c { }; plb { }; }; => fdt chosen => fdt list / / { #address-cells = <0x2>; #size-cells = <0x1>; model = "amcc,canyonlands"; compatible = "amcc,canyonlands"; dcr-parent = <0x1>; chosen { }; aliases { }; cpus { }; memory { }; interrupt-controller0 { }; interrupt-controller1 { }; interrupt-controller2 { }; interrupt-controller3 { }; sdr { }; cpr { }; l2c { }; plb { }; }; => fdt list /chosen chosen { bootargs = "root=/dev/ram rw ip=192.168.100.6:192.168.1.1:192.168.1.254:255.255.0.0:canyonlands:eth0:off panic=1 console=ttyS0,115200"; }; =>

Примечание. fdt boardsetup выполняет обновления больших двоичных объектов для конкретной платы, чаще всего устанавливает тактовую частоту и т.д.