Chcę użyć nieskompresowanego obrazu jądra i uruchomić BeagleBoard. Ogólnie używam uImage do uruchamiania jądra, które jest w skompresowanym formacie. Jak korzystać z nieskompresowanego obrazu jądra?
Chcę użyć nieskompresowanego obrazu jądra i uruchomić BeagleBoard. Ogólnie używam uImage do uruchamiania jądra, które jest w skompresowanym formacie. Jak korzystać z nieskompresowanego obrazu jądra?
Odpowiedzi:
O ile mi wiadomo, U-Boot nie może bezpośrednio uruchomić „surowego” obrazu ELF ( vmlinux
). Musisz przekształcić go w uImage
format, który zawiera skompresowany vmlinux
plus kilka dodatkowych bajtów metadanych opisujących adres ładowania jądra. U-Boot FAQ 2.19 wyjaśnia, jak generować uImage
; jest dość prosty, używając mkimage
narzędzia w drzewie źródeł U-Boot:
mkimage -A arm -O linux -T kernel -C gzip … -d vmlinux uImage
(Możesz potrzebować dodatkowych parametrów wskazujących adres ładowania.)
Jeśli używasz Buildroot, wybierz uImage
plik wyjściowy jądra ( BR2_LINUX_KERNEL_UIMAGE=y
). Skompiluj normalnie, a Buildroot utworzy również vmlinux
plik w kroku pośrednim. Podczas gdy vmlinux
plik nie jest kopiowany do /output/images
katalogu można znaleźć w ./output/build/linux-custom/
(lub uruchamiając find . -name "vmlinux"
).