Toàn bộ mã nguồn của nhân linux đều là nguồn mở, bất cứ ai cũng có thể sử dụng và xem xét sửa đổi nếu muốn. Nhân linux bao gồm khoảng 20000 file chứa khoảng 6 triệu dòng lệnh, đảm nhiệm các chức năng cốt yếu của một hệ điều hành. Nhƣ quản lý tiến trình, quản lý bộ nhớ, quản lý hệ thống file, tƣơng tác thiết bị, tƣơng tác ngƣời dùng...Trong phần này ta tìm hiểu sơ lƣợc cấu trúc và tổ chức của một hệ thống nhúng Linux. Từ đó đƣa ra các cấu hình và xây dựng một hệ thống nhúng hệ thống Linux.
Một hệ thống nhúng đƣợc sử dụng trên một hệ phần cứng cho các mục đích cụ thể. Một hệ phần cứng thƣờng có các phần: hệ vi xử lý, hệ bộ nhớ, chipset điều khiển, thiết lập vi xử lý và bộ nhớ, các phần đảm nhiệm đảm bảo cho sự hoạt động của hệ thống, các phần mở rộng, các kết nối và truyền dẫn. Thƣờng thì các thành phần của hệ phần cứng đƣợc các nhà sản xuất thiết lập sẵn theo chuẩn, sao cho khi hệ phần cứng đƣợc cấp nguồn điện, các thành phần của hệ đƣợc thiết lập, khởi tạo và sẵn sàng hoạt động. Lúc này, ngay sau khi đƣợc cấp nguồn, một số tiến trình đầu tiên, đƣợc thiết lập sẵn chiếm quyền kiểm soát vi xử lý, tiến hành các hoạt động thiết lập, kiểm tra phần cứng, các thiết bị ngoại vi, sau đó tiến hành tải firmware hoặc hệ điều hành để chúng bắt đầu có thể hoạt động. Những hệ tiến trình này là Bootloader.
Mỗi một bộ vi xử lý có một địa chỉ mặc định để những chỉ lệnh đầu tiên đƣợc nạp và xử lý khi đƣợc cấp nguồn hoặc khởi động lại. Nhà sản xuất phần cứng sử dụng địa chỉ này để tổ chức dữ liệu cho hợp lý. Khi phần cứng đƣợc cấp nguồn thì dữ liệu có sẵn đƣợc nạp và điều khiển, khởi tạo các hoạt động của hệ thống. Bootloader cung cấp những lệnh khởi đầu để cho hệ thống chạy các chƣơng trình khởi tạo cần thiết, định vị và nạp hệ điều hành vào hệ thống.
44