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
выполняет обновления больших двоичных объектов для конкретной платы, чаще всего устанавливает тактовую частоту и т.д.