2015-09-29 19 views
5

Tôi đang sử dụng OpenEmbedded-Core và đã tạo lớp tùy chỉnh với mức ưu tiên 6. Tháng phát triển đã trôi qua và bây giờ tôi muốn tăng mức ưu tiên của lớp lên 8 vì tệp chắp thêm từ lớp khác với mức ưu tiên 7 đang can thiệp một tệp phụ thêm mà tôi đang thêm vào lớp của mình.Bitbake: Cách liệt kê tất cả các công thức và nối thêm các tệp được sử dụng trong một hình ảnh?

Câu hỏi của tôi là, làm cách nào để tạo danh sách công thức nấu ăn và tệp .bbappend được sử dụng trong hình ảnh?

Tôi muốn tạo danh sách cả trước và sau khi tôi thực hiện thay đổi ưu tiên để tôi có thể so sánh chúng (với một difftool hy vọng) để xem có bất kỳ tác dụng phụ không mong muốn nào không, như một tệp phụ quan trọng từ lớp khác bị bỏ qua có khả năng.

Tôi đang sử dụng nhánh angstrom-v2014.12-yocto1.7 của phân bố Angstrom.

[EDIT]

Tôi bây giờ chủ yếu chỉ quan tâm trong việc xác định làm thế nào để liệt kê những file .bbappend đang thực sự được sử dụng bởi hình ảnh của tôi vào thời điểm này.

Danh sách các gói có thể được xem bằng cách sử dụng "bitbake -g your-image-name" như được gợi ý bởi @pnxs hoặc từ tệp .manifest (đó là những gì tôi thích sử dụng) trong trường hợp của tôi nằm dưới triển khai/glibc/images/imagename /. Ban đầu tôi hỏi làm thế nào một danh sách các "tập tin công thức" có thể được tạo ra, nhưng tôi nghĩ rằng một danh sách các gói là đủ.

Về .bbappends mặc dù, tôi đã có một trường hợp của riêng tôi .bbappend đã bị bỏ qua do ưu tiên lớp. Tôi đã thay đổi các ưu tiên của lớp và bây giờ muốn xem liệu điều đó có gây ra bất kỳ tệp .bbappend nào ở bất kỳ nơi nào khác trong hình ảnh của tôi bị bỏ qua hay không. Khi tôi hiểu nó, sử dụng "bitbake-layer show-appends" như danh sách đề xuất tất cả .bbappends hiện tại thay vì chỉ là những thực sự được sử dụng trong việc tạo ra một hình ảnh, do đó, điều này không làm những gì tôi đang tìm kiếm .

+1

Tôi gặp vấn đề tương tự. Sẽ rất hay khi biết rằng công thức nấu ăn thực sự được sử dụng trong một hình ảnh cụ thể và chúng đến từ đâu (INSTALL_APPEND trong tệp nào?) – Anonymous

Trả lời

2

Hãy thử sử dụng "bitbake-layer show-appends" để xem những gì bbappends được sử dụng. Nhưng điều đó sẽ chỉ hoạt động trên cơ sở mỗi công thức. Nhưng điều đó có thể cung cấp cho bạn thông tin bạn cần để hiểu các ưu tiên.

+0

Hữu ích, nhưng như tôi hiểu, điều này cho thấy tất cả các bbapp có sẵn, không chỉ những thứ thực sự được sử dụng trong hình ảnh của tôi, phải không? Tôi cũng đã xem tệp kê khai của hình ảnh của tôi, nó cho tôi biết phiên bản chính xác của mỗi gói được sử dụng, nhưng tiếc là không cho tôi biết bbappends nào được áp dụng cho từng gói. – user5071535

1

Bạn có thể thực hiện "bitbake -g your-image-name" để tạo một số tệp dot trong thư mục hiện tại.

Tệp "pn-depends.dot" chứa danh sách các tên gói (pn) và các phụ thuộc giữa chúng.

Khi bạn lấy phần đầu của tập tin mà tất cả các gói được liệt kê, bạn sẽ thấy ví dụ:

"busybox" [label="busybox :1.23.1-r0.2\n/home/user/yocto/sources/poky/meta/recipes-core/busybox/busybox_1.23.1.bb"] "base-files" [label="base-files :3.0.14-r89\n/home/user/yocto/sources/poky/meta/recipes-core/base-files/base-files_3.0.14.bb"]

Vì vậy, bạn có một danh sách của tất cả các gói được sử dụng bởi hình ảnh của bạn và recipe- tương ứng tập tin.

Để xem các thư viện nào được mở rộng bởi bbappend, bạn phải nhận danh sách bbappends với "bitbake-layers show-appends" và tìm kiếm phụ thêm của mọi công thức. Bạn có thể viết một chương trình python nhỏ có thể làm điều đó cho bạn.

+0

Các tệp .dot là một gợi ý hữu ích, nhưng tôi vẫn cần có khả năng giải quyết tệp .bbappend nào được sử dụng và không được sử dụng trong hình ảnh của tôi bằng cách nào đó. Xem chỉnh sửa gần đây của tôi. – user5071535

Các vấn đề liên quan