Tôi sẽ thiết lập môi trường xây dựng để làm cho hệ thống nhúng Linux của riêng tôi cho Ban AT91SAM9X25. Tôi đang sử dụng buildroot để làm điều này. Lệnh make xây dựng tất cả các mục tiêu, đầu tiên nó xây dựng toolchain sau đó gói và sau đó rootfs và hình ảnh của rootfs (tar, cpio ...). Để xây dựng lại rootfs tôi thường sử dụng làm sạch và sau đó thực hiện. Lệnh làm sạch sẽ xóa tất cả và bao gồm cả chuỗi công cụ.làm thế nào để xây dựng lại rootfs trong buildroot
Vì vậy, câu hỏi đầu tiên của tôi là: Có cách nào để làm lại rootfs mà không cần xây dựng chuỗi công cụ không? Mất nhiều thời gian.
Ngoài ra tôi đang xây dựng hạt nhân Linux trong xây dựng. Tôi đã bật BR2_LINUX_KERNEL [= y] trong công cụ xây dựng. Linux được cấu hình để sử dụng hệ thống tập tin RAM ban đầu, do đó, để xây dựng hạt nhân nó yêu cầu hình ảnh của rootfs (mà nên được tạo ra bởi buildroot). Khi tôi chạy làm dưới gốc của buildroot xây dựng thất bại với lỗi Không thể mở 'buildroot-2013.05/output/images/rootfs.cpio'. Bởi vì (nếu tôi hiểu chính xác) trình tự xây dựng là toolchain - pakages - rootfs - linux kernel - hình ảnh của rootfs. Khi nó cố gắng để xây dựng hạt nhân Linux hình ảnh rootfs.cpio không được tạo ra.
Vì vậy, câu hỏi thứ hai là: Làm thế nào để xây dựng Linux trong buildroot nếu tôi muốn sử dụng hệ thống tập tin RAM ban đầu?
Có thể có các giải pháp thay thế hiệu quả hơn so với xây dựng cơ sở?
Xin cảm ơn trước.
Hãy để tôi thuật lại câu hỏi của mình về việc xây dựng hạt nhân Linux trong buildroot (có thể là tôi đã giải thích chưa đủ rõ ràng). Buildroot làm: 1.Toolchain -> 2.packages -> 3.Linux kernel -> 4.rootfs images. Nhưng, trên bước 3 (Linux kernel) rootfs hình ảnh được yêu cầu, vì linux cấu hình như sử dụng hệ thống tập tin RAM ban đầu, nhưng chúng tôi đã nhận nó chỉ trên bước 4. Đó là vấn đề - tôi thấy thông báo lỗi trên bước 3: không có rootfs.cpio – Yuri
* "linux được định cấu hình khi sử dụng hệ thống tệp RAM ban đầu" * - ** Buildroot có được định cấu hình cho initramfs ** không? Lỗi ở bướC# 3 ngụ ý rằng bạn chưa cấu hình chính xác Buildroot. Những lo ngại của bạn về cách Buildroot xử lý những gì dường như là một vấn đề gà so với trứng được giải quyết trong [mô tả cam kết cho "thêm hỗ trợ cho initramfs"] (http://git.uclibc.org/buildroot/commit/?id=f507921d391bb2578261a9e45c003e72302dc67a) . Về cơ bản Buildroot thực hiện bướC# 3 với tệp * initramfs * trống, và sau đó thực hiện thêm bướC# 5 để tạo hạt nhân với các initramfs thực tế. – sawdust
Câu trả lời của bạn (ví dụ: xóa tệp .stamp_xxx) rất hữu ích để buộc xây dựng lại rootfs. Tuy nhiên, tôi đã thêm những thứ phụ vào rootfs với một lớp phủ. Khi tôi thay đổi cấu hình khác (hơi) khác nhau mà không có lớp phủ rootfs, tệp từ lớp phủ cũ KHÔNG bị xóa khỏi cấu trúc trong "target /" hoặc từ hình ảnh cuối cùng. Tôi đã thử xóa các nội dung của "mục tiêu" nhưng điều này gây ra một lỗi xây dựng (nó không phải là một đầu ra xây dựng đơn giản). Có cách nào để dọn dẹp những thứ đã bị xóa khỏi rootfs mà không làm một cái ô uế đầy đủ/xây dựng lại không? – Jeremy