4 thành phần của Embedded Linux

Ta biết rằng Linux chạy ở khắp nơi từ siêu máy tính, máy chủ, máy để bàn (máy xách tay), điện thoại (android)…cho đến các thiết bị gia dụng, gia đình. Khi sử dụng máy tính cá nhân, server ta dễ dàng “sờ” thấy được các thành phần của Linux như các tiến trình, shell..etc. Hầu hết các bản phân phối phổ biến làm hết những thứ liên quan đến phần cứng, nhân hệ điều hành, driver cho ta rồi. Ta thường chỉ quan tâm đến ứng dụng chạy trên đó thôi. ...

tháng 4 2, 2017

Một vài lệnh Bitbake hữu dụng

Có một vài lệnh hữu dụng được cộng đồng sử dụng board NXP chia sẻ, mình sẽ note ở đây cho dễ tìm vậy. Link tại đây. Lệnh Bitbake _bitbake <image> Nấu ra 1 “ảnh” (Image) _(Thêm tham số _-k đ_ể cho phép chạy đến hết kẻ cả có lỗi thực thi) bitbake <package> -c <task> Thực hiện 1 task của package nào đó. Ví dụ: Để “ép” bitbake compile lại kernel và build lại ảnh cho board imx, ta sẽ sử dụng : ...

tháng 2 19, 2017

Một chút về Driver cho USB Device trong Linux

Trong loại bài dịch trước đây nói về USB, tôi có nhắc một chút đến việc load đúng driver thì phía Host làm thế nào? Như ta đã biết, khi một thiết bị USB được cắm vào máy (Host), phía Host sẽ thực hiện một loạt thao tác từ xác định nguồn (bus, hay self), lấy thông tin tốc độ, các thông tin về descriptor (thiết bị, giao diện, các Endpoint). Cuối cùng để sử dụng các tính năng chính mà thiết bị cung cấp, thì hệ điều hành phía Host, dù là Windows, hay Linux, hay MacOS sẽ phải load driver tương ứng với thiết bị. ...

tháng 8 15, 2016

Cài thêm driver usb-wifi adapter cho bản build Raspbery PI sử dụng Yocto Project

Như ta đã làm trong bài trước, sau khi thực hiện việc setup các biến môi trường bằng lệnh source, ta thực hiện build tạo image có có tên là rpi-basic-image thông qua lệnh: $bitbake rpi-basic-image Thực ra còn 2 image khác ta có thể build đó là rpi-hwup-image rpi-test-image. Ta có thể thấy 2 file bb cho 2 image ở thư mục meta-raspberrypi/recipes-core/images/. rpi-hwup-image : là image nhỏ nhất (có dịp sẽ thử) rpi-basic-image: là image ta vấn dùng đến bây giờ. rpi-test-image : là image dùng cho việc test. (có dịp sẽ thử) ...

tháng 8 11, 2016

Thiết lập IP mặc định của bản build Linux cho Raspberry PI bằng Yocto Project

Để tiếp tục customize bản OS được build trong bài trước. Hôm nay ta sẽ thực hiện một nhiệm nhỏ. Đó là thiết lập một IP cho bản build. Tức là ta sẽ thiết lập 1 IP mặc định được gán cho Raspberry PI khi nó được khởi động bằng bản build của chúng ta. Như thường lệ ta cần thiết lập các biến môi trường trước khi định thực hiện bất cứ thay đổi nào trên bản build. ...

tháng 8 6, 2016

Thêm samba server vào bản build Linux cho Raspberry PI bằng Yocto Project

Ta đã nói đến việc build một bản phân phối Linux cho Raspberry PI ở bài Tạo một bản phân phối Linux cho Raspberry PI bằng Yocto Project. Một trong những giao thức truy cập file phổ biến nhất hiên nay là SMB, vốn ban đầu được hỗ trợ trên các máy Windows, dùng cho giao thức chia sẻ file trong mạng nội bộ. Trên Linux, để tạo một server như thế, người ta dùng Samba (cái tên cũng na ná nhỉ). ...

tháng 8 6, 2016

Tạo một bản build Linux cho Raspberry PI bằng Yocto Project

Ban đầu, dự định sẽ tạo một NAS server theo link tham khảo bên dưới. Nhưng thấy ta nên tách riêng phần tạo bản phân phối Linux thành 1 bài riêng, rồi viết các nội dung liên quan đến customize thành các bài khác sẽ dễ hiểu hơn. Hơn nữa, phần tạo bản build basic sẽ cần được thảo luận kĩ hơn do có thể phát sinh nhiều vấn đề. Mà nếu không giải quyết được các vấn đề đó thì nội dung các bài khác sẽ không thể thực hiện được. Do vậy, bài này sẽ tập trung vào tạo bản basic rpi-basic-image thôi. ...

tháng 7 29, 2016

[OE] Build một bản Linux cho Raspberry PI B+ sử dụng OpenEmbedded

Poky là một hệ distro linux ở dạng tham chiếu của Yocto Project. OpenEmbedded là một phần trong đó. Nào thế đủ rồi, ta đi vào phần chính. 1. Về Yocto project và ứng dụng cho Rasberry PI Lần trước, tôi có viết một hứng về việc tạo ra một ảnh cho Raspberry dựa trên Raspbian (chụp lại ảnh của một hệ thống đang chạy). Với kết quả lúc trước, thì vấn đề là nó không thực sự nhỏ hơn, khi giải nén ra nó vẫn chiếm khoảng 414MB. ...

tháng 4 25, 2015

[OE]Bitbake - Từ Hello World đến một Distro

Bitbake là một công cụ cốt lõi của Yocto Project. Nó bao gồm 1 bộ thông dịch các script được viết trong các file recipe (công thức tạo phần mềm), và thực hiện các lệnh trong đó. Nó mô tả lại và tự động hóa qúa trình người ta đưa một phần mềm vào một distro. Về việc đưa một phần mềm vào distro, ta có thể thấy nó bao gồm vài step chính. Từ việc tải source code (ở đây là tải source code chứ không phải các gói đã được build sẵn đâu nhé, nó gần giống với ArchLinux, Gentoo và hoàn toàn khác với Ubuntu) , thực hiện các bản patch (sửa source hoặc kịch bản build đề phù hợp mục đích sử dụng), biên dịch, cuối cùng là tích hợp vào distro (kèm theo các thông số cấu hình). ...

tháng 4 25, 2015