OBSOLETE Compile Firmware from source using Ubuntu - XIYO/asuswrt-merlin.ng-kr GitHub Wiki
[OBSOLETE] ์ฐ๋ถํฌ์์ asuswrt-merlin ๋น๋ ๋ฐฉ๋ฒ
์ด ํ์ด์ง๋ ์ค๋๋ Linux ๋ฒ์ ์ ์ฐธ์กฐํ๋ฉฐ ๋ ์ด์ ์ ํจํ์ง ์์ต๋๋ค.
์ต์ ๋น๋ ๊ตฌ์ฑ์ ๋ํ ๊ถ์ฅ ์ฌํญ์ ์์ค ์ฝ๋์์ ํ์จ์ด ์ปดํ์ผ์ ์ฐธ์กฐํ์ญ์์ค.
. .
์๋ก์ด HND ํ๋ซํผ (RT-AC86U)์ฉ ๋น๋๋ฅผ ์ํ๋ ๊ฒฝ์ฐ, ์ผ๋ถ ๋ค๋ฅธ ์ง์นจ์ด ์ถ๊ฐ๋์์ผ๋ฉฐ ์ด์ ๋ฐ๋ผ์ผ ํฉ๋๋ค.
. .
์ฃผ์ ์ฌํญ
๊ฒฝ๊ณ : ์ง์ ํ์จ์ด๋ฅผ ์ปดํ์ผํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋๋ผ๋, ๊ถ์ฅํ์ง ์์ต๋๋ค. ์ด ์๋ด์๋ ์ ๋ฌธ๊ฐ๊ฐ ์๋ ์ด๋ณด์๊ฐ ์์ฑํ ๊ฒ์ ๋๋ค. ํ๋ก์ธ์ค ์ค์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ ๋ค์ํ ์ํฉ์ด ์์ ์ ์์ต๋๋ค. ์ด ๊ฐ์ด๋์ ์ ์๋ ์์ค ์ ๊ณต์๋ ์์ฒด ์ปดํ์ผํ ํ์จ์ด๋ฅผ ๋ผ์ฐํฐ์ ํ๋์ฑํ๋ ๊ณผ์ ์์ ๋ฐ์ํ ์ ์๋ ์ด๋ค ์์์ ๋ํด์๋ ์ฑ ์์ ์ง์ง ์์ต๋๋ค. ๋ง์ฝ ์ด๋ฌํ ์ ํ์ ์ปดํจํ ๊ณผ ์ฝ๋ฉ์ ๋ฐฐ์ฐ๊ณ ์ถ๋ค๋ฉด ๋จผ์ ๋ฆฌ๋ ์ค์ ์ต์ํด์ง๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
๋ฐ๋ฉด์, ๋ผ์ฐํฐ๋ ๋งค์ฐ ์ด๋ ต๊ฒ ๋ง๊ฐ์ง ์ ์์ต๋๋ค!
์ถ๊ฐ ์ ๋ณด
์ฐ๋ถํฌ๋ Debian์ ํ์์ด๋ฏ๋ก ์ผ๋ฐ์ ์ผ๋ก Debian ๊ธฐ๋ฐ Linux ๋ฐฐํฌํ์ ์ฌ์ฉํ๋ ์ง์นจ๋ ์ฐธ๊ณ ํ ์ ์์ต๋๋ค.## ์์ : Ubuntu 12.04์์ ๋น๋ํ๋ ๋ฐฉ๋ฒ
์ฐธ์กฐ์ฉ์ผ๋ก VMware Player์์ Ubuntu 12.04๋ฅผ ์ฌ์ฉํ ๊ฒ์ ๋๋ค.
- Ubuntu๋ฅผ ์ฌ๊ธฐ์์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค.
- VMware Player๋ ์ฌ๊ธฐ์์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค.
๋ ๊ฐ์ง๋ฅผ ๋ชจ๋ ์ค์นํ ํ ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์:
-
์ ๊ฐ์ ๋จธ์ ์์ฑ
-
Installer ๋์คํฌ ์ด๋ฏธ์ง ํ์ผ (iso) ์ ํ (VMware Player์์ ์ฌ์ด ์ค์น์ ๋ํด ์ด๋ค ๋ด์ฉ์ ์๋ ค์ค ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ์ ๊ด์ฐฎ์ต๋๋ค.)
-
Ubuntu๋ฅผ ์ค์นํ๋ ๋์ ์ฌ์ฉ์ ์ด๋ฆ์ ์์ฒญํ ๋ ๋ฐ์ดํ ์์ด 'router'๋ก๋ง ์ง์ ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด ์๋ด์์์ ๋ชจ๋ ๊ฒ์ ๋ณต์ฌํ์ฌ ๋ถ์ฌ๋ฃ๊ธฐ๋ง ํ๋ฉด ๋ณต์กํ ์์ ์ ํ์ง ์์๋ ๋ฉ๋๋ค.
-
์ฝ 20GB๋ฅผ ํ ๋นํ๊ณ ๋์ค์ ๊ฐ์ Ubuntu๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค.
-
๋ช ๊ฐ์ง ์คํ์ ๋์ด๊ณ ๋ ๋ง์ RAM๊ณผ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ๋ถ์ฌํ์ธ์. ๋ผ์ฐํฐ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๋ ๊ฒ์ ๋ฌด๊ฑฐ์ด ์์ ์ด ์๋๋ผ๊ณ ๋ค๋ฆฌ์ง๋ง ๋๋ฆฐ ํ๋ก์ธ์์์๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
Ubuntu ์ค์น ํ๋ก๊ทธ๋จ์ด ์๋ฃ๋๋ฉด ํฐ๋ฏธ๋์ ์คํํ ์ ์์ต๋๋ค.
- ํฐ๋ฏธ๋์ ์คํํฉ๋๋ค. CTRL+ALT+T
๋น๋ ํ๊ฒฝ ์๋์ผ๋ก ์ค๋นํ๊ธฐ
- ๋ช ๊ฐ์ง ํจํค์ง๋ฅผ ๋ค์ด๋ก๋ํ ๊ฒ์ ๋๋ค. (ํ์ ์๋ ๊ฒ๋ ์์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ ๊ฒ ํ์ฌ ์๋ํ๋ ๊ฒ์ ํ์ธํ์ผ๋ฉฐ ์ดํ์ Ubuntu๋ฅผ ์ญ์ ํ ์ ์์ผ๋ฏ๋ก ๋๊ฐ ์ ๊ฒฝ์ฐ๊ฒ ์ต๋๊น?)
sudo apt-get install libtool-bin cmake libproxy-dev uuid-dev liblzo2-dev autoconf automake bash bison \
bzip2 diffutils file flex m4 g++ gawk groff-base libncurses-dev libtool libslang2 make patch perl pkg-config shtool \
subversion tar texinfo zlib1g zlib1g-dev git-core gettext libexpat1-dev libssl-dev cvs gperf unzip \
python libxml-parser-perl gcc-multilib gconf-editor libxml2-dev g++-multilib gitk libncurses5 mtd-utils \
libncurses5-dev libvorbis-dev git autopoint autogen sed build-essential intltool libelf1:i386 libglib2.0-dev \
xutils-dev lib32z1-dev lib32stdc++6 xsltproc gtk-doc-tools
๋ง์ฝ ์ฐ๋ถํฌ x64 ์๋์
์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ lib32z1-dev
์ lib32stdc++6
๊ฐ ํ์ํฉ๋๋ค.
sudo apt-get install lib32z1-dev lib32stdc++6
์ค๋น๊ฐ ๋์๋ค๋ฉด ์ด๋ฌํ ํจํค์ง๋ฅผ ์ค์นํ๊ณ ์์ ์๊ฒ ์ ์ด์ธ๋ฆฌ๋ ์ปคํผ๋ฅผ ๋ด๋ฆฌ๊ฑฐ๋ ์ฐจ๊ฐ๊ฒ ๋งฅ์ฃผ๋ฅผ ์ฆ๊ธฐ์ญ์์ค.
์ด์ RMerlin์ ๋ ธ๊ณ ๋ฅผ ๋ค์ด๋ก๋ํ ์ฐจ๋ก์ ๋๋ค.
์ฐธ๊ณ : ์์ค ์ฝ๋๋ฅผ ๋ค์ด๋ก๋ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋งค์ฐ ์์ธํ ์๋ด๋ ์ด ์ํค ํ์ด์ง์์ ์ฐพ์ ์ ์์ต๋๋ค.
Legacy 380.xx ๋ธ๋์น
git clone https://github.com/RMerl/asuswrt-merlin
HND ํ๋ซํผ (RT-AC86u)์ฉ Next Generation ๋ธ๋์น
git clone https://github.com/RMerl/asuswrt-merlin.ng
๋ํ ๋๊ตฌ ์ฒด์ธ์ด ํ์ํฉ๋๋ค.
sudo ln -s ~/am-toolchains/brcm-arm-hnd /opt/toolchains
์ด๋ฌํ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์์ ์ ํ์ํ ํ๊ฒฝ์ ๋น๋ํฉ๋๋ค.
๋ํ์ด ์์ ์์ HND ํ๋ซํผ์ ์ํด ์ฝ๊ฐ ๋ค๋ฅธ ์ง์นจ์ ๋ฐ๋ผ์ผ ํ ์ ์์ต๋๋ค.
sudo ln -s ~/asuswrt-merlin/tools/brcm /opt/brcm
sudo ln -s ~/asuswrt-merlin/release/src-rt-6.x.4708/toolchains/hndtools-arm-linux-2.6.36-uclibc-4.5.3 /opt/brcm-arm
PATH
ํ๊ฒฝ ๋ณ์๋ฅผ ์กฐ์ ํฉ๋๋ค.
export PATH=$PATH:/opt/brcm/hndtools-mipsel-linux/bin:/opt/brcm/hndtools-mipsel-uclibc/bin:/opt/brcm-arm/bin
์๋ก์ด HND ํ๋ซํผ (RT-AC86u)์ ์ํด:
sudo ln -sf bash /bin/sh
echo "export LD_LIBRARY_PATH=$LD_LIBRARY:/opt/toolchains/crosstools-arm-gcc-5.3-linux-4.1-glibc-2.22-binutils-2.25/usr/lib" >> ~/.profile
echo "export TOOLCHAIN_BASE=/opt/toolchains" >> ~/.profile
echo "PATH=\$PATH:/opt/toolchains/crosstools-arm-gcc-5.3-linux-4.1-glibc-2.22-binutils-2.25/usr/bin" >> ~/.profile
echo "PATH=\$PATH:/opt/toolchains/crosstools-aarch64-gcc-5.3-linux-4.1-glibc-2.22-binutils-2.25/usr/bin" >> ~/.profile
์ถ๊ฐ์ ์ธ ์ฌ๋ณผ๋ฆญ ๋งํฌ ์ค์ :
sudo mkdir -p /media/ASUSWRT/
sudo ln -s ~/asuswrt-merlin /media/ASUSWRT/asuswrt-merlin
HND ํ๋ซํผ (RT-AC86u)์ ์ํด:
sudo ln -s ~/asuswrt-merlin.ng /media/ASUSWRT/asuswrt-merlin.ng
๋น๋ ์ค๋น ์๋ฃ: ์๋ ๋ฐฉ์
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
RT-AC86U์ ๊ฒฝ์ฐ
cd ~/asuswrt-merlin.ng/release/src-rt-5.02hnd
make rt-ac86u
Ubuntu 13.10 ์ดํ ๋ฒ์ ์ ๋ํ ์ฐธ๊ณ ์ฌํญ
Ubuntu 13.10์์ ๋น๋ํ๋ ค๋ฉด make clean
/ make [router]
๋ฅผ ์คํํ๊ธฐ ์ ์ autoconf
์ ๋ค๋ฅธ ๋ฒ์ ๋๋ฌธ์ ๋ค์ ๋จ๊ณ๋ฅผ ์ํํด์ผ ํ ์ ์์ต๋๋ค.
์ด ์์ ์ 3.0.0.4_374.38_1์ ๋น๋ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ฐธ๊ณ : **์๋ก์ด HND ํ๋ซํผ (RT-AC86u)์ ๊ฒฝ์ฐ asuswrt-merlin์ asuswrt-merlin.ng๋ก ๋ณ๊ฒฝํด์ผ ํ ์ ์์ต๋๋ค.
neon ๋๋ฝ๋ proxy.h ์์
cp /usr/include/proxy.h ~/asuswrt-merlin/release/src/router/neon/
libdaemon์ ์ํ ์์๋ configure ์คํฌ๋ฆฝํธ ์์
cd ~/asuswrt-merlin/release/src/router/libdaemon
aclocal
libxml2์ ์ํ ์์๋ configure ์คํฌ๋ฆฝํธ ์์
cd ~/asuswrt-merlin/release/src/router/libxml2
sed -i s/AM_C_PROTOTYPES/#AM_C_PROTOTYPES/g ~/asuswrt-merlin/release/src/router/libxml2/configure.in
aclocal
libvorbis๋ฅผ ์ํ ์์๋ configure ์คํฌ๋ฆฝํธ ์์
cd ~/asuswrt-merlin/release/src/router/libvorbis
aclocal
์๋ํ๋ all-in-one ์คํฌ๋ฆฝํธ
์ํ: ์ด ์คํฌ๋ฆฝํธ๋ Ubuntu 12.04์ 14.04์์ ํ ์คํธ๋์์ผ๋ฉฐ 2015-02-02 ํ์ฌ๋ก์ ์๋ํ๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์์ต๋๋ค.
์ต์ ๋ฒ์ ์ ํญ์ assarbad/build-asuswrt-merlin์์ ์ฐพ์ ์ ์์ต๋๋ค. ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ํด๋น ์์น์์ ๋ณด๊ณ ํด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
๋๋ฉ ํ์ด์ง(์์ ๋งํฌ)์์ ์ด ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ ํ์ฌ ์ํ์ ๋ํ ๊ฐ๋ตํ ์๊ฐ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.