Przydatne porady dla początkujących

Budowanie firmware

Kompilowanie komponentów OpenWrt oddzielnie:

  • toolchain
make toolchain/{clean,compile,install}
  • kernel (przydatne, gdy grzebiemy przy kernelu i nie potrzebujemy generować całego obrazu)
make target/linux-{clean,compile,install}
  • dowolny pakiet(tu busybox)
 make package/busybox/{clean,compile,install}

Istnieje możliwość dodania na końcu V=99 co wymusi pokazywanie kompilowania w szczegółach.

Inne komendy:

  • kompilowanie wielowątkowe (przyśpiesza kompilowaniem, gdy posiadamy procesor wielordzeniowy)
make -j3

Gdzie „3”, to liczba wątków (sugerowana liczba to liczba rdzeni +1). Używając tego trzeba uważać, czasami są problemy z kompilowaniem poszczególnych bibliotek, np. openssl nie lubi kompilacji wielowątkowej. Jednak ogólnie przyspiesza to prace.

  • konfiguracja kernela
make kernel_menuconfig

Należy pamiętać, że konfiguracja kernela jest nadpisywana przez generowaną z make menuconfig

Dodanie nowej platformy

Przykład dodawania platformy <myboard> jest nastepujacy:

  • Tworzymy plik target/linux/myboard/Makefile w którym definjujemy architekturę, ustawienia toolchaina, wersje kernela. Przykład pliku(tu Makefile dla Beagleboad):
#
# Copyright (C) 2009 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk

ARCH=arm
BOARD:=omap (=nazwa plaformy, dla opisywanego przykładu myboard)
BOARDNAME:=TI OMAP
FEATURES:=jffs2 tgz usb

LINUX_VERSION:=2.6.31

include $(INCLUDE_DIR)/target.mk

KERNELNAME:="uImage"

define Target/Description
	Build firmware images for TI OMAP eg. Beagleboard
endef

$(eval $(call BuildTarget))
$(eval $(call $(if $(CONFIG_TARGET_ROOTFS_ISO),RequireCommand,Ignore),mkisofs, \
   	Please install mkisofs. \
))
  • Ustalamy domyślną konfigurację kernela w pliku target/linux/myboard/config-default.
  • Tworzymy pacze dodające wsparcie dla naszej nowej platformy w target/linux/myboard/patches/001-myboard.patch
  • Tworzymy plik target/linux/myboard/image/Makefile, zawierajacy sposób tworzenia obrazu, oraz format tegoż(squashfs czy jffs2)
kompilowanie/tricks_and_tips.txt · ostatnio zmienione: 2010/05/01 18:22 przez arteq
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0
Profesjonalny Hosting