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

İnşa sistemi kurulumu

  1. Bir GNU/Linux GNU/Linux ortamı varsayılır, değilse bakın alternatif kılavuzlar.
  2. Kaynak kodu indirmek için Git yazılımını, ve çarpraz-derleme süreci için dağıtımının varsayılan build tools metapaketini yükle.
  3. Ayrıca Git üzerinden kullanılamayan bazı besiler için kaynak kodunu çekmek için Subversion (SVN) veya Mercurial yüklemen gerekebilir.
  4. Aşağıdaki tabloda ve örneklerde gösterildiği gibi, diğer gerekli paketleri yükle.
  5. SED ve GREP_OPTIONS gibi ortam değişkenleri ve which gibi rumuzları/fonksiyonları, kaldır (unset)

Bu tablo farklı GNU/Linux ve Unix gibi dağıtımlarda, her bir inşa öngerekliliği için paket adını barındırır.

  • Arch Linux gibi son-seviye dağıtımlar Global build settings(Küresel inşa ayarları)'nda Cryptographically signed package lists(kriptografig imzalı paket listeleri) etkin ise temel-dosyaları inşa etmede başarısız olabilirler.
Prerequisite Debian SUSE Red Hat macOS (via MacPorts) Fedora Arch Gentoo
asciidoc asciidoc asciidoc asciidoc asciidoc asciidoc asciidoc app-text/asciidoc
GNU Bash bash bash bash bash bash bash app-shells/bash
GNU Binutils binutils binutils binutils binutils binutils binutils sys-devel/binutils
bzip2 bzip2 bzip2 bzip2 bzip2 bzip2 bzip2 app-arch/bzip2
flex flexflex flex flex flex flex sys-devel/flex
git git-core git-core git git-core git git dev-vcs/git
GNU C++ Compiler g++ gcc-c++ gcc-c++ ? gcc-c++ gcc sys-devel/gcc
GNU C Compiler gcc gcc gcc ? gcc gcc sys-devel/gcc
GNU Time ? ? ? gtime ? time sys-process/time
getopt util-linux util-linux util-linux getopt util-linux util-linux sys-apps/util-linux
GNU awk gawk gawk gawk gawk gawk gawk sys-apps/gawk
help2man help2man ? ? help2man help2man help2man sys-apps/help2man
intltool-update intltool intltool intltool intltool intltool intltool dev-util/intltool
libelf-dev libelf-dev ? ? libelf elfutils-libelf-devel libelf virtual/libelf
libz, libz-dev zlib1g-dev zlib-devel zlib-devel zlib, libzip, libzzip zlib-devel zlib sys-libs/zlib
GNU make make make make gmake make make sys-devel/make
ncurses libncurses5-dev ncurses-devel ncurses-devel ncurses ncurses-devel ncurses sys-libs/ncurses
openssl/ssl.h libssl-dev libopenssl-devel openssl-devel openssl openssl-devel openssl dev-libs/openssl
patch patch patch patch patchutils patch patch sys-devel/patch
perl-ExtUtils-MakeMaker perl-modules perl-ExtUtils-MakeMaker perl-ExtUtils-MakeMaker p5-extutils-makemaker perl-ExtUtils-MakeMaker perl-extutils-makemaker virtual/perl-ExtUtils-MakeMaker
perl-Thread-Queue ? ? ? ? perl-Thread-Queue ? virtual/perl-Thread-Queue
python2-dev python2-dev python-devel ? python27 ? python2 dev-lang/python:2
? python3-dev ? ? python310 ? ? ?
unzip unzip unzip unzip unzip unzip unzip app-arch/unzip
GNU Wget wget wget wget wget wget wget net-misc/wget
xgettext gettext gettext-tools gettext gettext gettext gettext sys-devel/gettext
xsltproc xsltproc libxslt-tools ? libxslt libxslt libxslt dev-libs/libxslt
zlib, zlib-static zlib1g-dev zlib-devel-static zlib-devel zlib zlib-devel,zlib-static zlib sys-libs/zlib (USE=static-libs)

Yukarıdaki önermenin güncel olmayabileceğini dikkate alın. Örn. python3 güncel olarak OpenWrt master, 22.03 ve 21.02 dallarında varsayılan iken python2.7 ömrünü tükettiğinden kaldırıldı.

Ne yazık ki make config ile tüm bağlılıklar kontrol edilmez, özellikle de paketler için. Sisteminizde belirli bir kütüphaneye ihtiyacınız olduğundan derleme hatalarıyla karşılaşabilirsiniz, ve tek yol kayıp kütüphaneyi derleme hata kaydından aramak ve dağıtımın için hangi paketin sahip olduğunu bulmaktır.

Takip eden tablo böyle bağlılıkların kısmi bir listesidir:

Package Prerequisite Debian SUSE Red Hat macOS (via MacPorts) Fedora Arch Gentoo
boost bjam / boost-jam libboost-dev boost-jam boost-build boost-jam boost dev-util/boost-build
intltool [Perl] XML::Parser libxml-parser-perl perl-XML-Parser p5.28-xml-parser p5.30-xml-parser perl-XML-Parser intltool dev-perl/XML-Parser
libftdi (aka: libftdi0) libusb-config libusb-dev libusb libusb-devel libusb dev-libs/libusb-compat
lilo as86,ld86 bin86 binutils dev86 bin86 sys-devel/bin86
lilo bcc1 bcc dev86 aur/bcc sys-devel/dev86
lilo uudecode sharutils sharutils sharutils sharutils app-arch/sharutils
luajit x86 g++ libs on amd64 hosts gcc-multilib
classpath (aka: gnu-classpath) 1 javac, gcj openjdk-7-jdk openjdk7-zulu java-1.8.0-openjdk-devel jdk7-openjdk dev-java/oracle-jdk-bin, sys-devel/gcc[gcj], and one (or both) of dev-java/icedtea-bin:7 and dev-java/icedtea:7
mac80211 b43-fwcutter1 (Broadcom/BCM) b43-fwcutter b43-fwcutter net-wireless/b43-fwcutter
jamvm1 zip zip zip app-arch/zip

Dağıtıma özgü komutlar.

apk add asciidoc bash bc binutils bzip2 cdrkit coreutils diffutils \
findutils flex g++ gawk gcc gettext git grep intltool libxslt \
linux-headers make ncurses-dev openssl-dev patch perl python2-dev \
python3-dev rsync tar unzip util-linux wget zlib-dev

Arch users may install the openwrt-devel meta-package from the AUR or alternatively, manually install the build dependencies as follows:

# Essential prerequisites
pacman -S --needed base-devel autoconf automake bash binutils bison \
bzip2 fakeroot file findutils flex gawk gcc gettext git grep groff \
gzip libelf libtool libxslt m4 make ncurses openssl patch pkgconf \
python rsync sed texinfo time unzip util-linux wget which zlib
 
# Optional prerequisites, depend on the package selection
pacman -S --needed asciidoc help2man intltool perl-extutils-makemaker
sudo dnf --setopt install_weak_deps=False --skip-broken install \
bash-completion bzip2 gcc gcc-c++ git make ncurses-devel patch \
rsync tar unzip wget which diffutils python2 python3 perl-base \
perl-Data-Dumper perl-File-Compare perl-File-Copy perl-FindBin \
perl-Thread-Queue

Artık python 2.7 gereksinimi olmayan Ubuntu 22.04 için OpenWrt master, 22.03 ve 21.02 dalları için modernize küme. Ubuntu22.04'te Python3 varsayılan olarak yüklüdür.

sudo apt update
sudo apt install build-essential gawk gcc-multilib flex git gettext libncurses5-dev libssl-dev python3-distutils zlib1g-dev

Eski öneri:

sudo apt update
sudo apt install build-essential ccache ecj fastjar file g++ gawk \
gettext git java-propose-classpath libelf-dev libncurses5-dev \
libncursesw5-dev libssl-dev python python2.7-dev python3 unzip wget \
python3-distutils python3-setuptools python3-dev rsync subversion \
swig time xsltproc zlib1g-dev 
echo \
app-arch/{bzip2,sharutils,unzip,zip} sys-process/time \
app-text/asciidoc \
dev-libs/{libusb-compat,libxslt,openssl} dev-util/intltool \
dev-vcs/{git,mercurial} net-misc/{rsync,wget} \
sys-apps/util-linux sys-devel/{bc,bin86,dev86} \
sys-libs/{ncurses,zlib} virtual/perl-ExtUtils-MakeMaker \
| sed "s/\s/\n/g" \
| sort \
| sudo tee /etc/portage/sets/openwrt-prerequisites \
&& sudo emerge -DuvNa "@openwrt-prerequisites"
sudo zypper install --no-recommends asciidoc bash bc binutils bzip2 \
fastjar flex gawk gcc gcc-c++ gettext-tools git git-core intltool \
libopenssl-devel libxslt-tools make mercurial ncurses-devel patch \
perl-ExtUtils-MakeMaker python-devel rsync sdcc unzip util-linux \
wget zlib-devel
sudo xbps-install -Su asciidoc bash bc binutils bzip2 cdrtools \
coreutils diffutils findutils flex gawk gcc gettext git grep intltool \
libxslt linux-headers make ncurses-devel openssl-devel patch perl \
pkg-config python-devel python3-devel rsync tar unzip util-linux \
wget zlib-devel

macOS dağıtım-özgül talimatlar. macOS çekirdeğinde Darvin unix kullanır. Xcode/CLT aletzinciri, & 3.taraf paket yönetim aracı çeşitli inşa aletlerinin yüklenmesine olanak tanır.
More info: buildroot.exigence.macosx.

sudo port install libiconv gettext-runtime coreutils findutils gwhich \
gawk zlib pcre bzip2 ncurses grep getopt gettext-tools-libs gettext \
diffutils sharutils util-linux libxslt libxml2 help2man readline gtime \
gnutar unzip zip lzma xz libelf fastjar libusb libftdi0 expat sqlite3 \
openssl3 openssl kerberos5 dbus lz4 libunistring nettle icu gnutls \
p11-kit wget quilt subversion gmake pkgconfig libzip cdrtools ccache \
curl xxhashlib rsync libidn perl5 p5.28-xml-parser p5.30-xml-parser \
p5-extutils-makemaker p5-data-dumper boost-jam boost boost-build bash \
bash-completion binutils m4 flex intltool patchutils swig git-extras \
git openjdk17 openjdk7-zulu luajit libtool glib2 file python27 \
python310 libzzip mercurial asciidoc sdcc gnu-classpath

Dağıtım-özgül talimatlar.

...
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/04/24 23:01
  • by sorcun