Tôi muốn hiểu thêm về cách thức hoạt động của kernel. Một phần của việc này là để tự biên dịch nó. Làm cách nào để tôi biên dịch chéo Kernel trên máy chủ Ubuntu?
Tôi muốn hiểu thêm về cách thức hoạt động của kernel. Một phần của việc này là để tự biên dịch nó. Làm cách nào để tôi biên dịch chéo Kernel trên máy chủ Ubuntu?
Câu trả lời:
Đầu tiên, chúng ta cần cài đặt các điều kiện tiên quyết cần thiết. Tôi giả sử bạn có sudo
quyền truy cập.
sudo apt-get install git ncurses-dev make gcc-arm-linux-gnueabi
git
là hệ thống kiểm soát phiên bản được sử dụng bởi nhóm nhân Linux.ncurses
là một thư viện để xây dựng các menu console. Nó là cần thiết cho menuconfig
.make
chạy phần tổng hợp cho chúng tôi.gcc-arm-linux-gnueabi
là trình biên dịch chéo.Tiếp theo, chúng ta cần lấy lại nguồn, chạy:
git clone https://github.com/raspberrypi/linux raspberrypi-linux
cd raspberrypi-linux
Điều này sẽ sao chép mã nguồn vào một thư mục được gọi raspberrypi-linux
và thay đổi nó.
Trước tiên chúng ta cần di chuyển tệp cấu hình bằng cách chạy
cp arch/arm/configs/bcmrpi_cutdown_defconfig .config
Sau đó cấu hình xây dựng kernel
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- oldconfig
Tùy chọn: Tùy chỉnh bản dựng bằng menuconfig
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig
Sau đó chạy phần tổng hợp
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
Người giới thiệu
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
Tôi nghĩ Alex đúng nhưng gcc-arm-linux-gnueabi được biên dịch cho cpus arm mà không có đơn vị điểm nổi phần cứng. Bạn có thể tìm thấy một trình biên dịch chéo có hỗ trợ armhf trên: https://github.com/raspberrypi/tools và một hướng dẫn tốt để bắt đầu tại đây: http://hertaville.com/2012/09/11/development-en môi- raspberry-pi-cross-biên dịch /
Tài liệu chính thức
https://www.raspberrypi.org/documentation/linux/kernel/building.md ( GitHub )
Tôi khuyên bạn chỉ nên làm theo các bước ở đó hoặc gửi yêu cầu kéo nếu có gì đó lỗi thời hoặc không đủ rõ ràng: những hướng dẫn đó là những hướng dẫn có khả năng chính xác và cập nhật nhất vì chúng là một phần của tài liệu chính thức của dự án.