OnWorks Linux và Windows Online WorkStations

Logo

Lưu trữ trực tuyến miễn phí cho máy trạm

<Trước | Nội dung | Tiếp theo>

Khởi động mạng trên các hệ thống sử dụng phần sụn U-Boot bao gồm ba bước: a) cấu hình mạng, b) tải hình ảnh (kernel / đĩa ram ban đầu / dtb) vào bộ nhớ và c) thực thi mã được tải trước.

Đầu tiên, bạn phải cấu hình mạng, tự động thông qua DHCP bằng cách chạy


setenv tự động tải không có dhcp


hoặc thủ công bằng cách đặt một số biến môi trường


setenv ipaddr setenv netmask

setenv serverip setenv dnsip

setenv gatewayip


Nếu muốn, bạn có thể đặt các cài đặt này vĩnh viễn bằng cách chạy


lưuv


Sau đó, bạn cần tải các hình ảnh (kernel / đĩa ram ban đầu / dtb) vào bộ nhớ. Điều này được thực hiện bằng lệnh tftpboot, lệnh này phải được cung cấp địa chỉ mà hình ảnh sẽ được lưu trữ trong bộ nhớ. Thật không may, bản đồ bộ nhớ có thể khác nhau giữa các hệ thống, vì vậy không có quy tắc chung nào các địa chỉ có thể được sử dụng cho việc này.


Trên một số hệ thống, U-Boot xác định trước một tập hợp các biến môi trường với các địa chỉ tải phù hợp: kernel_addr_r, ramdisk_addr_r và fdt_addr_r. Bạn có thể kiểm tra xem chúng có được xác định hay không bằng cách chạy


printenv kernel_addr_r ramdisk_addr_r fdt_addr_r


Nếu chúng không được xác định, bạn phải kiểm tra tài liệu của hệ thống để biết các giá trị thích hợp và đặt chúng theo cách thủ công. Đối với các hệ thống dựa trên Allwinner SunXi SOCs (ví dụ: Allwinner A10, tên kiến ​​trúc “sun4i” hoặc Allwinner A20, tên kiến ​​trúc “sun7i”), bạn có thể sử dụng các giá trị follwing:


setenv kernel_addr_r 0x46000000 setenv fdt_addr_r 0x47000000 setenv ramdisk_addr_r 0x48000000


Khi địa chỉ tải được xác định, bạn có thể tải hình ảnh vào bộ nhớ từ máy chủ tftp đã xác định trước đó với


tftpboot $ {kernel_addr_r} tftpboot $ {fdt_addr_r}

tftpboot $ {ramdisk_addr_r}


Phần thứ ba là thiết lập dòng lệnh hạt nhân và thực sự thực thi mã đã tải. U-Boot chuyển nội dung của biến môi trường “bootargs” dưới dạng dòng lệnh tới hạt nhân, vì vậy bất kỳ phân tích nào cho hạt nhân và trình cài đặt - chẳng hạn như thiết bị điều khiển (xem Phần 5.3.1) hoặc các tùy chọn chèn sẵn (xem Phần 5.3.2 .XNUMX và Phụ lục B) - có thể được đặt bằng lệnh như


setenv bootargs console = ttyS0,115200 rootwait hoảng = 10


Lệnh chính xác để thực thi mã đã tải trước đó phụ thuộc vào định dạng hình ảnh được sử dụng. Với uImage / uInitrd, lệnh là


bootm $ {kernel_addr_r} $ {ramdisk_addr_r} $ {fdt_addr_r}


và với các hình ảnh Linux gốc, nó là


bootz $ {kernel_addr_r} $ {ramdisk_addr_r}: $ {filesize} $ {fdt_addr_r}


Lưu ý: Khi khởi động hình ảnh linux tiêu chuẩn, điều quan trọng là phải tải hình ảnh đĩa ram ban đầu sau hạt nhân và dtb vì U-Boot đặt biến kích thước tệp thành kích thước của tệp cuối cùng được tải và lệnh bootz yêu cầu kích thước của hình ảnh đĩa ram để hoạt động chính xác. Trong trường hợp khởi động một nhân dành riêng cho nền tảng, tức là một nhân không có cây thiết bị, chỉ cần bỏ qua tham số $ {fdt_addr_r}.


5.2. Khả năng tiếp cận

Điện toán đám mây hệ điều hành hàng đầu tại OnWorks: