This translation is older than the original page and might be outdated. See what has changed.

OpenWrt İnşakökü - Teknik Referans

Ayrıca bakınız: Aletzinciri kullanımı

Kullanılabilir çerikdek sürümleri include/kernel-version.mk'de listelenmiştir:

Örnek:

# Use the default kernel version if the Makefile doesn't override it

LINUX_RELEASE?=1

LINUX_VERSION-3.18 = .20
LINUX_VERSION-4.0 = .9
LINUX_VERSION-4.1 = .5

LINUX_KERNEL_MD5SUM-3.18.20 = 952c9159acdf4efbc96e08a27109d994
LINUX_KERNEL_MD5SUM-4.0.9 = 40fc5f6e2d718e539b45e6601c71985b
LINUX_KERNEL_MD5SUM-4.1.5 = f23e1d4ce8f63e46db81d56e36281885

ifdef KERNEL_PATCHVER
  LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
endif

split_version=$(subst ., ,$(1))
merge_version=$(subst $(space),.,$(1))
KERNEL_BASE=$(firstword $(subst -, ,$(LINUX_VERSION)))
KERNEL=$(call merge_version,$(wordlist 1,2,$(call split_version,$(KERNEL_BASE))))
KERNEL_PATCHVER ?= $(KERNEL)

# disable the md5sum check for unknown kernel versions
LINUX_KERNEL_MD5SUM:=$(LINUX_KERNEL_MD5SUM-$(strip $(LINUX_VERSION)))
LINUX_KERNEL_MD5SUM?=x

Çekirdek kodu gereic/files ve seçici <arch>/files/ altdizinlerinin içeriğiyle eklenir.

generic/patches-<Çekirdek sürümü> ve <arch>/patches-<Çekirdek sürümü> ile yamanır.

OpenWrt dosya sisteminde bir Çekirdek deposuna sembolik bağlantı yaratır.

Hedef bir yerel git çeirdek deposu olabilir.

:!: Ağacınızı OpwnWrt değişikliklerini içerecek şekilde yamamalısınız - inşalar derlemede veya önyüklemede başarısız olabilirler.

:!: Musl libc yeniden tanımlama hatalarını kullanıcı alanı başlıklarıyla onaran çekirdek başlığı yamaları gerektirir. uclibc ve glibc bu değişiklikleri gerektirmez.

Example:

095-api-fix-compatibility-of-linux-in.h-with-netinet-in..patch
270-uapi-kernel.h-glibc-specific-inclusion-of-sysinfo.h.patch
271-uapi-libc-compat.h-do-not-rely-on-__GLIBC__.patch
272-uapi-if_ether.h-prevent-redefinition-of-struct-ethhd.patch

bakın http://wiki.musl-libc.org/wiki/Building_Busybox

  tools – automake, autoconf, sed, cmake
  toolchain/binutils – as, ld, …
  toolchain/gcc – gcc, g++, cpp, …
  target/linux – çekirdek modülleri
  package – temel ve besi paketleri
  target/linux – çekirdek imajı
  target/linux/image – bellenim imaj dosyası oluşumu

Üst komut make world şu sıralı komutları çağırır:
make target/compile
make package/cleanup
make package/compile
make package/install
make package/preconfig
make target/install
make package/index

Her bir komutu bağımsız olarak çalıştırabilirsiniz. Örneğin, eğer paketleri derleme süreci bir hatayla durursa, sorunu giderebilir ve ardından temizlik yapmadan devam edebilirsiniz:
make package/compile
make package/install
make package/preconfig
make target/install
make package/index

bakın packages

V=x parametresi inşa sürecinde mesajların seviyesini belirtir.

    V=99 and V=1 are now deprecated in favor of a new verbosity class system,
    though the old flags are still supported.
    You can set the V variable on the command line (or OPENWRT_VERBOSE in the
    environment) to one or more of the following characters:
    
    - s: stdout+stderr (equal to the old V=99)
    - c: commands (for build systems that suppress commands by default, e.g. kbuild, cmake)
    - w: warnings/errors only (equal to the old V=1)

kaynak: https://dev.openwrt.org/changeset/31484

eski seçenekler:

  • 1 - print a messages containing the working directory before and after other processing.
  • 99 - trace of the build, ordinary messages yellow, error messages red, debug - black;

Örnekler:

make V=sc
make V=sw
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2022/01/08 02:56
  • by sorcun