OBSOLETE Compiling Firmware from source using a Debian based Linux Distribution - XIYO/asuswrt-merlin.ng-kr GitHub Wiki
asuswrt-merlin
λΉλνλ λ°©λ²
[λ―Έμ¬μ©] Debian κΈ°λ° λ°°ν¬νμμ
μ΄ νμ΄μ§λ λ μ΄μ μ¬μ©λμ§ μλ Linux λ²μ μ μ°Έμ‘°νκ³ μμ΅λλ€.
μ΅μ κΆμ₯ λΉλ ꡬμ±μ λν μ 보λ μμ€ μ½λμμ νμ¨μ΄ μ»΄νμΌνκΈ°λ₯Ό μ°Έμ‘°νμμμ€.
μκ°
νμν©λλ€! μ΄ κ°μ΄λλ asuswrt-merlin
μ μμ€ μ½λμμ μ»΄νμΌνλ λ°©λ²μ μλ΄ν©λλ€. μ΅μ’
κ²°κ³Όλ¬Όμ λΌμ°ν°μ νλμ ν μ μλ λΉλλ νμ¨μ΄ μ΄λ―Έμ§μ
λλ€.
μ¬κΈ°μλ μν μμκ° μμ΅λλ€! μ§μ νμ¨μ΄λ₯Ό μ»΄νμΌν λ μνμ΄ λ°λ¦ λλ€. λ¬Έμ κ° λ°μν κ²½μ° νμ¨μ΄ μ μλ μ§μνμ§ μμΌλ©°, ν볡 λͺ¨λμμ νμ¨μ΄ μ‘μΈμ€ λ° νλμ λ°©λ²μ λν΄ μκ³ μμ΄μΌ ν©λλ€. νμ¨μ΄κ° λΉλλμ§ μμ μλ μκ³ , νλμλμ§ μμ μλ μμΌλ©°, νλμλμ§λ§ λΌμ°ν°κ° λΆν λμ§ μμ μλ μμΌλ©°, νλμλκ³ λΆν λμ§λ§ μμμΉ λͺ»ν λ°©μμΌλ‘ μλν μλ μμΌλ©°, μ»΄ν¨ν°κ° κ°μκΈ° λ°νν μλ μμΌλ©°, λΉμ μ΄ κ°μκΈ° λ°νν μλ μμΌλ©°, μΈμμ΄ λλ μλ μμ΅λλ€.
λ²μ
μ΄ κ°μ΄λλ λ€μκ³Ό κ°μ Debian κΈ°λ° λ°°ν¬νμ λμμΌλ‘ ν©λλ€:
- Debian μ체
- Ubuntu
- Linux Mint
μ΄ κ°μ΄λλ Debianμ΄ μλ λ°°ν¬νμμλ μ°Έμ‘°ν μ μμ§λ§, μμ€ν
ν¨ν€μ§ κ΄λ¦¬μμ μ ν©ν λͺ
λ Ήμ΄(νΉν apt-get
λͺ
λ Ήμ΄)λ₯Ό λ€λ₯Έ λͺ
λ Ήμ΄λ‘ λ체ν΄μΌ ν μ μμ΅λλ€(μ: yum
). λν 64λΉνΈ λΉλ νκ²½μ μ€ν μ€μΈ κ²½μ° μμ€ν
μ λ€λ₯Έ ν¨ν€μ§λ₯Ό μ€μΉν΄μΌ ν μλ μμ΅λλ€. μμΈν μ 보λ λ°°ν¬νμ λ¬Έμλ₯Ό μ°Έμ‘°νμμμ€.
μ°Έκ³ : μ΄ κ°μ΄λλ asuswrt-merlin
μμ€λ₯Ό μ»΄νμΌνκΈ° μν λ€μ΄λ‘λλ₯Ό λ€λ£¨μ§ μμ΅λλ€. μμ€ μ½λλ₯Ό μ»μΌλ €λ©΄ μ΄ κ°μ΄λλ₯Ό μ°Έμ‘°νμμμ€.
μ¬μ μꡬ μ¬ν
- μμ μ Linux λ°°ν¬νμ λν κΈ°λ³Έμ μΈ μλ μ§μ. Linux λ°°ν¬νμ μ€μΉνκ³ μ‘μΈμ€νλ λ°©λ², ν°λ―Έλμ μ‘μΈμ€νλ λ°©λ², κ·Έλ¦¬κ³ λ°°ν¬νμ ν¨ν€μ§ κ΄λ¦¬μλ₯Ό ν΅ν΄ ν¨ν€μ§λ₯Ό μ€μΉνλ λ°©λ²μ μμμΌ ν©λλ€.
μ°Έκ³ : κ°μ λ¨Έμ (VMware, VirtualBox λ±)μ μ¬μ©νλ κ²½μ° μ»΄νμΌ κ³Όμ μ΄ μ€λ μκ°μ΄ 걸릴 μ μμ΅λλ€. νλμ¨μ΄ μ§μ κ°μνκ° μμ€ν BIOS(μ μ© κ°λ₯ν κ²½μ°)μμ νμ±νλμ΄ μλμ§ νμΈνκ³ κ°μ νκ²½μ΄ νλμ¨μ΄ μ§μ κ°μνλ₯Ό μ¬μ©νκ³ νλ μ΄μμ νλ‘μΈμ μ½μ΄λ₯Ό μ¬μ©νλλ‘ κ΅¬μ±λμ΄ μλμ§ νμΈν μ μμ΅λλ€. μ΄λ¬ν μ€μ μ ꡬμ±νλ λ°©λ²μ λν μμΈν λ΄μ©μ κ°μ λ¨Έμ μ λ¬Έμλ₯Ό μ°Έμ‘°νμμμ€.
νμ¨μ΄ μ΄λ―Έμ§λ₯Ό μ»΄νμΌνλ €λ©΄ λ€μμ΄ νμν©λλ€:
- Linux κΈ°λ° μμ νκ²½(Linuxλ₯Ό μ€ννλ μ μ© μ»΄ν¨ν° λλ VMware λλ VirtualBoxλ₯Ό μ¬μ©νλ κ°μ λ¨Έμ ).
- μ΅μ 6 GiBμ λ¬΄λ£ λμ€ν¬ 곡κ°; λ λ§μ 곡κ°μ΄ μ’μ΅λλ€. μ΄μλ μ€μΉν΄μΌ ν ν¨ν€μ§λ₯Ό μν 곡κ°, μμ€ μ½λλ₯Ό μν λλ΅ 1 GiBμ κ³΅κ° λ° λΉλμ μν΄ μμ±λ κ°μ²΄ νμΌ λ° κΈ°ν μ€κ° νμΌμ μν 곡κ°μ΄ ν¬ν¨λ©λλ€.
λΉλ νκ²½ μ€λΉ
asuswrt-merlin
μ λΉλνκΈ° μ μ νμ¨μ΄λ₯Ό μ»΄νμΌνλ λ° νμν ν¨ν€μ§λ₯Ό μ€μΉν΄μΌ ν©λλ€. ν°λ―Έλ μ°½μ μ΄κ³ λ€μμ μ
λ ₯νκ±°λ λΆμ¬λ£μ΅λλ€:
sudo apt-get --no-install-recommends install autoconf automake bash bison bzip2 diffutils file flex g++ gawk gcc-multilib gettext gperf groff-base libncurses-dev libexpat1-dev libslang2 libssl-dev libtool libxml-parser-perl make patch perl pkg-config python sed shtool tar texinfo unzip zlib1g zlib1g-dev
(νΈμ§/μ λ°μ΄νΈ: Debian 7.2 i386μμ asuswrtμ λ¬Έμ κ° μμ λ, makeμ μν΄ 2κ°μ λ λ§μ ν¨ν€μ§λ₯Ό μ€μΉν΄μΌ νμ΅λλ€: intltool, autopoint)
νλ‘κ·Έλ¨μ μ€μΉνλ €λ©΄ sudo
λ₯Ό μ¬μ©νμ¬ ν¨ν€μ§λ₯Ό μ€μΉνλ €λ κ²μ λν root
μ‘μΈμ€λ₯Ό μ»κΈ° μν΄ λΉλ°λ²νΈλ₯Ό μ
λ ₯νμμμ€. ν¨ν€μ§ μ€μΉλ₯Ό μν΄ 'Y'λ₯Ό μ
λ ₯νμμμ€. ν¨ν€μ§ μ€μΉκ° μλ£λλ©΄ λͺ
λ Ή μ€λ‘ λμκ°λλ€.
Debian x64 (amd64) μλμ
μ μ¬μ©νλ κ²½μ° μΆκ° ν¨ν€μ§ lib32z1-dev
λ° lib32stdc++6
μ΄ νμν©λλ€.
sudo apt-get --no-install-recommends install lib32z1-dev lib32stdc++6
μΌλΆ μν©μμ automake1.11μ μ€μΉν΄μΌ ν μλ μμ΅λλ€ (Debian 8μμ μ€μΉν΄μΌ νμ΅λλ€):
sudo apt-get --no-install-recommends install automake1.11
Debian 7λΆν° amd64λ₯Ό μ¬μ©νλ κ²½μ° λ©ν°μν¬ gccλ₯Ό μ€μ ν΄μΌ ν μ μμ΅λλ€. 32λΉνΈ λΌμ΄λΈλ¬λ¦¬ libelf1 / libelf-devλ₯Ό μ»μΌλ €λ©΄ ν¨ν€μ§ μ’ μμ±μ i386 μν€ν μ²λ₯Ό μΆκ°ν΄μΌ ν©λλ€. μ΄λ κ² νλ €λ©΄:```bash sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libelf-dev:i386 libelf1:i386
Debian x64 μ¬λΆλ₯Ό νμ νμ§ λͺ»νλ κ²½μ° λ€μ λͺ
λ Ή μ€μ λμ μ¬μ©νμμμ€:
```bash
[ "$(uname -m)" == "x86_64" ](/XIYO/asuswrt-merlin.ng-kr/wiki/-"$(uname--m)"-==-"x86_64"-) && sudo apt-get --no-install-recommends install lib32z1-dev lib32stdc++6
μ°Έκ³ : λ€μ λͺ
λ Ήμ΄λ μμ€ μ½λλ₯Ό μ΄ GitHubμμ μ΅μ μμ€ μ½λ λ€μ΄λ‘λ μν€ κ°μ΄λμμ μ§μ νλλ‘ ~/asuswrt-merlin/
λλ ν 리μ λ€μ΄λ‘λνλ€κ³ κ°μ ν©λλ€. μμ€ μ½λλ₯Ό λ€μ΄λ‘λν μμΉκ° μλ κ²½μ°, νκ²½μ λ§κ² λͺ
λ Ήμ΄/κ²½λ‘λ₯Ό μ‘°μ νμμμ€.
μ΄μ ν¬λ‘μ€ μ»΄νμΌμ μν΄ νμν ν΄μ²΄μΈμ λΉλ μμ€ν
μ΄ μ°Ύμ μ μλλ‘ μμ€ν
μ PATH
νκ²½ λ³μμ λ΄μ©μ μΆκ°ν΄μΌ ν©λλ€. λ¨Όμ μΆκ° μμ
μ μ½κ² νκΈ° μν΄ μ¬λ³Όλ¦ λ§ν¬λ₯Ό λ§λ€μ΄ μμν©λλ€:
(νΈμ§/μ λ°μ΄νΈ: μ¬κΈ°μ ARM ν΄μ²΄μΈμ μ¬λ³Όλ¦ λ§ν¬λ‘ μΆκ°νκ³ λ΄λ³΄λ΄κΈ°λ ν΄μΌ ν©λλ€. μ¦, ARM λΌμ°ν°κ° μλ κ²½μ°μ λλ€.)
sudo ln -s ~/asuswrt-merlin/tools/brcm /opt/brcm
μ΄μ PATH
νκ²½ λ³μλ₯Ό μ
λ°μ΄νΈν©λλ€ (μ°Έκ³ λ‘ μ΄ λͺ
λ Ήμ ν°λ―Έλμ μ΄ λλ§λ€ λ€μ μ€νν΄μΌ ν©λλ€):
export PATH=$PATH:/opt/brcm/hndtools-mipsel-uclibc/bin
νμ¨μ΄ λΉλ: μλ λ°©μ
μ΄μ νμ¨μ΄λ₯Ό μ»΄νμΌν μ€λΉκ° λμμ΅λλ€. μ΄ νλ‘μΈμ€λ μκ°μ΄ 걸릴 μ μμΌλ―λ‘ νμ¨μ΄λ₯Ό λΉλνλ λμ 컀νΌλ₯Ό λ§μκ±°λ μ°μ± μ νλ©΄μ κΈ°λ€λ¦΄ μ μμ΅λλ€.
λΉλκ° μλ£λλ©΄ μλ‘ μμ±λ νμ¨μ΄ μ΄λ―Έμ§λ make
λ₯Ό μν΄ cd
ν ν΄λμ μμΉν©λλ€. μ¦, λ€μ μ€ νλμ ν΄λμ μμ κ²μ
λλ€:
~/asuswrt-merlin/release/src-rt/image/
~/asuswrt-merlin/release/src-rt-6.x/image/
~/asuswrt-merlin/release/src-rt-6.x.4708/image/
RT-N16
cd ~/asuswrt-merlin/release/src-rt
make clean
make rt-n16
RT-N66U λ° RT-AC66U
cd ~/asuswrt-merlin/release/src-rt-6.x
make clean
... κ·Έλ° λ€μ RT-N66Uμ κ²½μ°
make rt-n66u
... κ·Έλ¦¬κ³ RT-AC66Uμ κ²½μ°
make rt-ac66u
RT-AC56U λ° RT-AC68U
cd ~/asuswrt-merlin/release/src-rt-6.x.4708
make clean
... κ·Έλ° λ€μ RT-AC56Uμ κ²½μ°
make rt-ac56u
... κ·Έλ¦¬κ³ RT-AC68Uμ κ²½μ°
make rt-ac68u
μ 리
μ½λκ° λ³κ²½λκ³ μ λ°μ΄νΈλλ©΄ μμ€ μ½λμ λ μ΅μ λ²μ μ μ¬μ©νμ¬ νμ¨μ΄ μ΄λ―Έμ§λ₯Ό λ€μ μ»΄νμΌνκ³ μΆμ μ μμ΅λλ€. μ λΉλ μ€ μ΄μ λΉλμμ λ¨μ νμΌμ μ κ±°νκ³ μλ‘μ΄ λΉλ μ€μ μΆ©λμ μΌμΌν€μ§ μλλ‘ λΉλ νκ²½μ μ 리νλ κ²μ΄ μ’μ΅λλ€.
μ°Έκ³ : μ΄λ―Έ λΉλ λͺ
λ Ήμ΄μ make clean
μ΄ ν¬ν¨λμ΄ μμ΅λλ€.
κ·Έλλ λλ ν 리λ₯Ό μλμΌλ‘ μ 리νλ €λ κ²½μ° λ€μ μ κ·Ό λ°©μμ μ¬μ©ν μ μμ΅λλ€:
RT-N16```bash
make -C ~/asuswrt-merlin/release/src-rt clean
### RT-N66U λ° RT-AC66U
```bash
make -C ~/asuswrt-merlin/release/src-rt-6.x clean
RT-AC56U λ° RT-AC68U
make -C ~/asuswrt-merlin/release/src-rt-6.x.4708 clean
μΆκ° μ 리
μλμΌλ‘ λ³κ²½ μ¬νμ λ§λ€μκ±°λ Git ν΄λ‘ μ μλ μνλ‘ μ¬μ€μ νλ €λ κ²½μ° λ€μμ μ¬μ©νμμμ€:
git reset --hard
~/asuswrt-merlin
λλ ν 리 λ΄μμ μ€νν©λλ€.
κ²°λ‘
μ΄κ²μΌλ‘ λλ¬μ΅λλ€! μ΄ κ°μ΄λλ asuswrt-merlin
μμ€ μ½λλ₯Ό λΌμ°ν°μ νλμν μ μλ νμ¨μ΄ μ΄λ―Έμ§λ‘ μ»΄νμΌνλ λ° λμμ΄ λμμ κ²μ
λλ€.
μλνλ ν΅ν© μ€ν¬λ¦½νΈ
μν: μ΄ μ€ν¬λ¦½νΈλ Debian 7.8μμ ν μ€νΈλμμΌλ©° 2015-02-02 νμ¬λ‘μ μλνλ κ²μΌλ‘ μλ €μ Έ μμ΅λλ€.
μ΅μ λ²μ μ νμ assarbad/build-asuswrt-merlinμμ μ°Ύμ μ μμ΅λλ€. λ¬Έμ λ₯Ό ν΄λΉ νμ΄μ§μμλ λ³΄κ³ νμμμ€.
λλ© νμ΄μ§(μμ λ§ν¬)μμ μ€ν¬λ¦½νΈλ₯Ό μ¬μ©νλ λ°©λ²κ³Ό μνμ λν κ°λ¨ν μκ°λ₯Ό μ°Ύμ μ μμ΅λλ€.