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ć calego 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

Uzywając tego trzeba uważać, czasami są problemy z kompilowaniem poczególnych bibliotek, np. openssl nie lubi kompilacji wielowątkowej. Jednak ogólnie przyspiesza to prace.

  • konfiguracja kernela
make kernel_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)

development/tricks_and_tips.txt · ostatnio zmienione: 2010/01/06 15:42 przez arteq
Do góry
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0