<Sebelum | Contents [show] | Seterusnya>
Butan rangkaian pada sistem menggunakan perisian tegar U-Boot terdiri daripada tiga langkah: a) mengkonfigurasi rangkaian, b) memuatkan imej (kernel/ramdisk awal/dtb) ke dalam memori dan c) sebenarnya melaksanakan kod yang dimuatkan sebelumnya.
Mula-mula anda perlu mengkonfigurasi rangkaian, sama ada secara automatik melalui DHCP dengan menjalankan
setenv autoload tiada dhcp
atau secara manual dengan menetapkan beberapa pembolehubah persekitaran
setenv ipaddr setenv netmask
setenv serverip setenv dnsip
setenv gatewayip
Jika anda mahu, anda boleh membuat tetapan ini kekal dengan menjalankan
simpan
Selepas itu anda perlu memuatkan imej (kernel/ramdisk awal/dtb) ke dalam ingatan. Ini dilakukan dengan arahan tftpboot, yang perlu disediakan dengan alamat di mana imej akan disimpan dalam ingatan. Malangnya peta memori boleh berbeza-beza dari satu sistem ke sistem, jadi tidak ada peraturan umum alamat yang boleh digunakan untuk ini.
Pada sesetengah sistem, U-Boot mentakrifkan set pembolehubah persekitaran dengan alamat muatan yang sesuai: kernel_addr_r, ramdisk_addr_r dan fdt_addr_r. Anda boleh menyemak sama ada ia ditakrifkan dengan menjalankan
printenv kernel_addr_r ramdisk_addr_r fdt_addr_r
Jika ia tidak ditakrifkan, anda perlu menyemak dokumentasi sistem anda untuk nilai yang sesuai dan menetapkannya secara manual. Untuk sistem berdasarkan SOC Allwinner SunXi (cth Allwinner A10, nama seni bina "sun4i" atau Allwinner A20, nama seni bina "sun7i"), anda boleh cth menggunakan nilai berikut:
setenv kernel_addr_r 0x46000000 setenv fdt_addr_r 0x47000000 setenv ramdisk_addr_r 0x48000000
Apabila alamat muatan ditentukan, anda boleh memuatkan imej ke dalam memori daripada pelayan tftp yang ditakrifkan sebelum ini dengan
tftpboot ${kernel_addr_r} tftpboot ${fdt_addr_r}
tftpboot ${ramdisk_addr_r}
Bahagian ketiga ialah menetapkan baris arahan kernel dan sebenarnya melaksanakan kod yang dimuatkan. U-Boot menghantar kandungan pembolehubah persekitaran "bootargs" sebagai baris arahan kepada kernel, jadi mana-mana parameter untuk kernel dan pemasang - seperti peranti konsol (lihat Bahagian 5.3.1) atau pilihan praseeding (lihat Bahagian 5.3.2 .XNUMX dan Lampiran B) - boleh ditetapkan dengan arahan seperti
setenv bootargs console=ttyS0,115200 rootwait panik=10
Perintah yang tepat untuk melaksanakan kod yang dimuatkan sebelum ini bergantung pada format imej yang digunakan. Dengan uImage/uInitrd, arahannya ialah
but ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}
dan dengan imej Linux asli ia adalah
bootz ${kernel_addr_r} ${ramdisk_addr_r}:${saiz fail} ${fdt_addr_r}
Nota: Apabila boot imej linux standard, adalah penting untuk memuatkan imej ramdisk awal selepas kernel dan dtb kerana U-Boot menetapkan pembolehubah saiz fail kepada saiz fail terakhir yang dimuatkan dan arahan bootz memerlukan saiz imej ramdisk untuk bekerja dengan betul. Dalam kes but kernel khusus platform, iaitu kernel tanpa pepohon peranti, hanya tinggalkan parameter ${fdt_addr_r}.