Làm cách nào để tôi biên dịch chéo kernel trên máy chủ Ubuntu?


16

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:


24

Sự chuẩn bị

Đầ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ó sudoquyề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.
  • ncurseslà 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-linuxvà thay đổi nó.

Biên soạ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

1
Cảm ơn bạn rất nhiều vì đã cung cấp một sự thay thế cho việc sử dụng crosstool-ng .
earthmeLon

Trong trường hợp của tôi, CROSS_COMPILE chỉ là một tiền tố, do đó, việc theo dõi là đủ (không có gcc ở cuối): make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
nguy hiểm89


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.