-
Notifications
You must be signed in to change notification settings - Fork 5
OpenWrt
Dmitry Ponyatov edited this page Sep 19, 2019
·
7 revisions
project$ mkdir gz ; wget -c -O gz/openwrt-18.06.4.tar.gz https://github.com/openwrt/openwrt/archive/v18.06.4.tar.gz
project$ tar zx < gz/openwrt-18.06.4.tar.gz
project$ ln -fs openwrt-18.06.4 openwrt
project$ cd openwrt
openwrt$ ./scripts/feeds update -a
openwrt$ ./scripts/feeds install -a
project$ mkdir firmware
project$ echo "CONFIG_VERSION_NUMBER=\"`date +%y.%m.%d`\"" >> openwrt/.config
project$ echo "CONFIG_VERSION_CODE=\"`git rev-parse --short=4 HEAD`\"" >> openwrt/.config
project$ echo "CONFIG_BINARY_FOLDER=\"`pwd`/firmware\"" >> openwrt/.config
project$ echo "CONFIG_DOWNLOAD_FOLDER=\"`pwd`/gz\"" >> openwrt/.config
project$ cat config.br >> openwrt/.config
config.br
# задание целевой системы
CONFIG_TARGET_ramips=y
CONFIG_TARGET_ramips_rt305x=y
# \ эти опции необходимы для сборки, не отключать
CONFIG_TARGET_ROOTFS_INITRAMFS=y
TARGET_INITRAMFS_COMPRESSION_LZMA=y
CONFIG_TARGET_ROOTFS_SQUASHFS=y
CONFIG_PACKAGE_kmod-fs-squashfs=y
CONFIG_KERNEL_DEVTMPFS=y
CONFIG_KERNEL_DEVTMPFS_MOUNT=y
# /
# настройки для soft realtime и необслуживаемой системы
CONFIG_KERNEL_SWAP=n
# в логе загрузки полезно иметь метки времени
CONFIG_KERNEL_PRINTK_TIME=y
# отключение роутинга и ip.v6
CONFIG_KERNEL_IP_MROUTE=n
CONFIG_KERNEL_IPV6_MROUTE=n
CONFIG_IPV6=n
# опции сборки gnu toolchain (кросс-компилятора)
CONFIG_DEVEL=y
CONFIG_TOOLCHAINOPTS=y
CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS="--disable-nls --enable-lto"
CONFIG_EXTRA_GCC_CONFIG_OPTIONS="--disable-nls --enable-lto"
CONFIG_GCC_USE_GRAPHITE=y
CONFIG_GDB=y
CONFIG_MAKE_TOOLCHAIN=n
# настройки метаинформации по устройству
CONFIG_IMAGEOPT=y
CONFIG_VERSIONOPT=y
CONFIG_VERSION_FILENAMES=y
CONFIG_VERSION_CODE_FILENAMES=y
CONFIG_VERSION_DIST="myLinux"
CONFIG_VERSION_REPO=""
CONFIG_VERSION_HOME_URL="http://samara.itstep.ru"
CONFIG_VERSION_MANUFACTURER="supervasia"
CONFIG_VERSION_MANUFACTURER_URL="http://github.com/supervasia/myLinux"
CONFIG_VERSION_PRODUCT="noname Router"
CONFIG_VERSION_BUG_URL="[email protected]"
CONFIG_KERNEL_BUILD_USER="supervasia"
CONFIG_KERNEL_BUILD_DOMAIN="nomail.com"
# включаем пакетную систему и веб-интерфейс
CONFIG_PACKAGE_opkg=y
CONFIG_PACKAGE_uci=y
# несколько пакетов для примера
CONFIG_PACKAGE_gdbserver=m
CONFIG_PACKAGE_binutils=m
# поддержку WiFi вкомпиливаем в основную систему, а не в пакетах
# т.е. без сети пакеты не поставить
CONFIG_PACKAGE_wireless-tools=y
CONFIG_PACKAGE_kmod-rt2800-soc=y
CONFIG_PACKAGE_wpa-cli=y
CONFIG_PACKAGE_wpa-supplicant=y
CONFIG_PACKAGE_wpad-mini=y
CONFIG_PACKAGE_iwinfo=y
project$ cd openwrt
openwrt$ make menuconfig
openwrt$ make