TP-LINK 703 固件更新 OpenWrt LEDE 17.01.6

下载OpenWrt固件

Index of /snapshots/trunk/ar71xx/generic/

openwrt的固件一般分两种类型:factory原厂固件、sysupgrade固件

factory多了一些验证的东西,用于在原厂固件的基础上进行升级。

普通家用路由一般不是openwrt固件,如果要将家用路由升级为openwrt固件,就可以用factory刷到路由上。sysupgrade是在openwrt路由基础上升级固件,无论你是原厂固件或者本身就是openwrt固件,要升级到openwrt,factory都适用,但是sysupgrade只能用在升级,TTL救砖的时候就不能用sysupgrade。sysupgrade不包含数据分区,factory带,factory预留原厂分区,sysupgrade只包含openwrt分区。

有一个公式:sysupgrade.bin+空闲空间+系统的配置空间=factory.bin的大小

在openwrt wiki中有专门描述sysupgrade:

sysupgrade替换linux内核和squash文件系统,擦除整个jffs2部分。能保留配置文件,但不能保留二进制安装文件。

描述了几种sysupgrade方法,但没有描述在web界面的更新,也没有描述factory和sysupgrade的区别。

sha256sums

1
2
3
http://downloads.openwrt.org/releases/17.01.6/targets/ar71xx/generic/

http://downloads.openwrt.org/releases/17.01.6/targets/ar71xx/generic/sha256sums

官方固件刷机

1
wget http://downloads.openwrt.org/releases/17.01.6/targets/ar71xx/generic/lede-17.01.6-ar71xx-generic-tl-wr703n-v1-squashfs-factory.bin

OpenWrt 升级固件

下载固件

1
http://downloads.openwrt.org/releases/17.01.6/targets/ar71xx/generic/lede-17.01.6-ar71xx-generic-tl-wr703n-v1-squashfs-sysupgrade.bin

登录OpenWrt

1
telnet 192.168.1.1

执行命令,下载固件到路由器上

1
2
3
4
cd /tmp

wget http://192.168.1.225:8000/openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-sysup
grade.bin

刷新系统

1
2
3
4
5
6
7
8
root@OpenWrt:/tmp# cat /proc/mtd
dev: size erasesize name
mtd0: 00020000 00010000 "u-boot"
mtd1: 0011f5dc 00010000 "kernel"
mtd2: 002b0a24 00010000 "rootfs"
mtd3: 00050000 00010000 "rootfs_data"
mtd4: 00010000 00010000 "art"
mtd5: 003d0000 00010000 "firmware"

写入固件到mtd5

1
mtd -r write openwrt-ar71xx-generic-tl-wr703n-v1-squashfs-sysupgrade.bin firmware

OpenWrt 恢复出厂设置

登录

1
ssh root@192.168.1.1
1
firstboot

日志

1
2
3
4
root@OpenWrt:~# firstboot
This will erase all settings and remove any installed packages. Are you sure? [N/y]
y
/dev/mtdblock3 is mounted as /overlay, only erasing files
1
mtd -r erase rootfs_data

初始化配置

设置网络

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
root@LEDE:~# cat /etc/config/network

config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'

config globals 'globals'
option ula_prefix 'fd5f:def1:6b18::/48'

config interface 'lan'
option type 'bridge'
option ifname 'eth0'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'

修改/etc/config/network文件,首先修改lan接口配置,注释掉此行:

vim /etc/config/network

1
# option ifname 'eth0'

然后增加wan接口,如果你上级网络是DHCP的,则文件的末尾添加:

1
2
3
config interface 'wan'
option ifname 'eth0'
option proto 'dhcp'

最后结果

1
2
3
4
5
6
7
8
9
10
11
config interface 'wan'
option ifname 'eth0'
option proto 'dhcp'

config interface 'lan'
option type 'bridge'
# option ifname 'eth0'
option proto 'static'
option ipaddr '10.8.7.1'
option netmask '255.255.255.0'
option ip6assign '60'

开启无线网

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
root@LEDE:~# cat /etc/config/wireless

config wifi-device 'radio0'
option type 'mac80211'
option channel '11'
option hwmode '11g'
option path 'platform/ar933x_wmac'
option htmode 'HT20'
option disabled '1'

config wifi-iface 'default_radio0'
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'LEDE'
option encryption 'none'

修改/etc/config/wireless文件,注释掉

vim /etc/config/wireless

1
# option disabled 1

u盘启动openwrt(含u盘挂载)

1
2
opkg remove ip6tables
opkg remove odhcp6c

更新软件列表(每次重启路由器后,需要先运行一次这个,才能安装软件包)

1
opkg update

1.安装移动存储设备支持

1
opkg install kmod-usb-storage
1
2
3
4
5
6
7
8
9
root@LEDE:~# opkg install kmod-usb-storage
Installing kmod-usb-storage (4.4.153-1) to root...
Downloading http://downloads.lede-project.org/releases/17.01.6/targets/ar71xx/generic/packages/kmod-usb-storage_4.4.153-1_mips_24kc.ipk
Installing kmod-scsi-core (4.4.153-1) to root...
Downloading http://downloads.lede-project.org/releases/17.01.6/targets/ar71xx/generic/packages/kmod-scsi-core_4.4.153-1_mips_24kc.ipk
Configuring kmod-scsi-core.
Configuring kmod-usb-storage.
root@LEDE:~#
# 大概用了60kb

立刻就可以查看u盘及其分区

1
ls /dev

观察里面是否出现sda sda1 sda2 sda3等字样

2.安装EXT4文件系统

1
opkg install kmod-fs-ext4
1
# 大概用了221kb

6.安装开机从u盘启动

1
opkg install block-mount
1
2
3
4
5
6
7
root@LEDE:~# opkg install block-mount
Installing block-mount (2018-04-16-6609e98a-1) to root...
Downloading http://downloads.lede-project.org/releases/17.01.6/targets/ar71xx/generic/packages/block-mount_2018-04-16-6609e98a-1_mips_24kc.ipk
Configuring block-mount.
this file has been obsoleted. please call "/sbin/block mount" directly
root@LEDE:~#
# 大概用了36kb

转移数据

1
2
3
4
5
6
mount /dev/sda1 /mnt  
mkdir /tmp/root
mount --bind / /tmp/root
tar -C /tmp/root -cvf - . | tar -C /mnt -xvf -
sync
umount /tmp/root

把当前挂在状态写入到fstab文件:

1
block detect > /etc/config/fstab

修改/etc/config/fstab文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
config 'global'
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '0'

config 'mount'
option target '/'
option uuid '69d679a5-fdf1-4f8b-950f-c2fdb7b9eede'
option enabled '1'

config 'mount'
option target '/data'
option uuid '7470c2d3-3cb0-4924-a7bd-63c33d2ee7f3'
option enabled '1'

将sda1作为根分区, sda2 作为swap, sda3作为root目录: /mnt/sda1改为/ ,/mnt/sda3改为/root 将config mount 和config swap的 option enabled都改为1

LEDE 17.01.6

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
root@LEDE:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 2.3M 2.3M 0 100% /rom
tmpfs 13.7M 60.0K 13.7M 0% /tmp
tmpfs 13.7M 48.0K 13.7M 0% /tmp/root
tmpfs 512.0K 0 512.0K 0% /dev
/dev/mtdblock3 384.0K 212.0K 172.0K 55% /overlay
overlayfs:/overlay 384.0K 212.0K 172.0K 55% /
root@LEDE:~# cat /proc/version
Linux version 4.4.153 (buildbot@builds-02.infra.lede-project.org) (gcc version 5.4.0 (LEDE GCC 5.4.0 r3101-bce140e) ) #0 Thu Aug 30 12:10:54 2018
root@LEDE:~# cat /etc/openwrt_release
DISTRIB_ID='LEDE'
DISTRIB_RELEASE='17.01.6'
DISTRIB_REVISION='r3979-2252731af4'
DISTRIB_CODENAME='reboot'
DISTRIB_TARGET='ar71xx/generic'
DISTRIB_ARCH='mips_24kc'
DISTRIB_DESCRIPTION='LEDE Reboot 17.01.6 r3979-2252731af4'
DISTRIB_TAINTS=''
root@LEDE:~# opkg list-installed
base-files - 173.6-r3979-2252731af4
busybox - 1.25.1-4
dnsmasq - 2.78-6
dropbear - 2017.75-5
firewall - 2017-05-27-a4d98aea-1
fstools - 2018-04-16-6609e98a-1
fwtool - 1
hostapd-common - 2016-12-19-ad02e79d-7
ip6tables - 1.4.21-3
iptables - 1.4.21-3
iw - 4.9-1
iwinfo - 2016-09-21-fd9e17be-1
jshn - 2018-01-07-1dafcd78-1
jsonfilter - 2016-07-02-dea067ad-1
kernel - 4.4.153-1-33d452ad71ac13bc6dc71df37efa5ec7
kmod-ath - 4.4.153+2017-01-31-14
kmod-ath9k - 4.4.153+2017-01-31-14
kmod-ath9k-common - 4.4.153+2017-01-31-14
kmod-cfg80211 - 4.4.153+2017-01-31-14
kmod-gpio-button-hotplug - 4.4.153-2
kmod-ip6tables - 4.4.153-1
kmod-ipt-conntrack - 4.4.153-1
kmod-ipt-core - 4.4.153-1
kmod-ipt-nat - 4.4.153-1
kmod-lib-crc-ccitt - 4.4.153-1
kmod-mac80211 - 4.4.153+2017-01-31-14
kmod-nf-conntrack - 4.4.153-1
kmod-nf-conntrack6 - 4.4.153-1
kmod-nf-ipt - 4.4.153-1
kmod-nf-ipt6 - 4.4.153-1
kmod-nf-nat - 4.4.153-1
kmod-nls-base - 4.4.153-1
kmod-ppp - 4.4.153-1
kmod-pppoe - 4.4.153-1
kmod-pppox - 4.4.153-1
kmod-slhc - 4.4.153-1
kmod-usb-core - 4.4.153-1
kmod-usb2 - 4.4.153-1
lede-keyring - 2017-01-20-a50b7529-1
libblobmsg-json - 2018-01-07-1dafcd78-1
libc - 1.1.16-1
libgcc - 5.4.0-1
libip4tc - 1.4.21-3
libip6tc - 1.4.21-3
libiwinfo - 2016-09-21-fd9e17be-1
libiwinfo-lua - 2016-09-21-fd9e17be-1
libjson-c - 0.12.1-1
libjson-script - 2018-01-07-1dafcd78-1
liblua - 5.1.5-1
libnl-tiny - 0.1-5
libpthread - 1.1.16-1
libubox - 2018-01-07-1dafcd78-1
libubus - 2017-02-18-34c6e818-1
libubus-lua - 2017-02-18-34c6e818-1
libuci - 2018-01-01-141b64ef-1
libuci-lua - 2018-01-01-141b64ef-1
libuclient - 2018-08-03-ae1c656f-1
libxtables - 1.4.21-3
logd - 2017-03-10-16f7e161-1
lua - 5.1.5-1
luci - git-18.201.27126-7bf0367-1
luci-app-firewall - git-18.201.27126-7bf0367-1
luci-base - git-18.201.27126-7bf0367-1
luci-lib-ip - git-18.201.27126-7bf0367-1
luci-lib-jsonc - git-18.201.27126-7bf0367-1
luci-lib-nixio - git-18.201.27126-7bf0367-1
luci-mod-admin-full - git-18.201.27126-7bf0367-1
luci-proto-ipv6 - git-18.201.27126-7bf0367-1
luci-proto-ppp - git-18.201.27126-7bf0367-1
luci-theme-bootstrap - git-18.201.27126-7bf0367-1
mtd - 23.1
netifd - 2017-01-25-650758b1-1
odhcp6c - 2017-01-30-c13b6a05-2
odhcpd - 2018-05-27-59339a76-4
opkg - 2017-12-08-9f61f7ac-1
ppp - 2.4.7-12
ppp-mod-pppoe - 2.4.7-12
procd - 2018-01-22-9a4036fb-1
rpcd - 2018-05-13-82062195-1
swconfig - 11
uboot-envtools - 2015.10-1
ubox - 2017-03-10-16f7e161-1
ubus - 2017-02-18-34c6e818-1
ubusd - 2017-02-18-34c6e818-1
uci - 2018-01-01-141b64ef-1
uclient-fetch - 2018-08-03-ae1c656f-1
uhttpd - 2017-11-04-a235636a-1
uhttpd-mod-ubus - 2017-11-04-a235636a-1
usign - 2015-07-04-ef641914-1
wpad-mini - 2016-12-19-ad02e79d-7
root@LEDE:~#

OpenWrt 显示系统版本和GCC的版本

1
2
3
4
5
cat /proc/version

uname -a

cat /etc/openwrt_release

参考

找到国外牛人给出的不通过TTL刷openwrt到1.7版本的703n的方法

openwrt的sysupgrade和factory固件的区别

TP-Link 703N刷OpenWrt的实践

openwrt 恢 复 出厂设置

Openwrt 重置所有设置

TL-WR703Nv1.7刷写openwrt固件

Openwrt学习笔记(二)——Flash Layout and file system

Openwrt 启动过程

OPKG命令执行过程分析

openwrt 查看相应的硬件信息

未用

tplink tl-wr703n v1.7最新固件 免ttl刷openwrt刷breed

Ubuntu 编译 OpenWrt 17.01.6

软件版本

  • Ubuntu 18.04 LTS (Linux ubuntu 4.15.0-23-generic)
  • OpenWrt 17.01.6

配置编译环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
apt install -y gcc g++ binutils patch bzip2 flex bison make gettext texinfo unzip sharutils libncurses5-dev ncurses-term zlib1g-dev asciidoc autoconf libssl-dev 

# libz-dev
apt -y install zlib1g zlib1g-dev

apt install -y build-essential
apt -y install subversion
apt -y install git-core
apt -y install libncurses5-dev
apt -y install zlib1g-dev
apt -y install gawk
apt -y install flex
apt -y install quilt
apt -y install libssl-dev
apt -y install xsltproc
apt -y install libxml-parser-perl
apt -y install mercurial
apt -y install bzr
apt -y install ecj
apt -y install cvs
apt -y install unzip

下载 OpenWrt 源代码

OpenWrt source repository downloads

https://github.com/openwrt/openwrt

下载源代码

1
mkdir openwrt
1
git clone -b v17.01.6 https://github.com/openwrt/openwrt.git v17.01.6

更新软件

feed

1
2
3
src-git packages https://github.com/openwrt/packages.git
./scripts/feeds update packages
./scripts/feeds install -a -p packages
1
2
3
src-git packages https://github.com/openwrt/luci.git
./scripts/feeds update luci
./scripts/feeds install -a -p luci
1
2
3
src-git routing git://github.com/openwrt-routing/packages.git
./scripts/feeds update routing
./scripts/feeds install -a -p routing
1
2
3
src-git telephony https://github.com/openwrt/telephony.git
./scripts/feeds update telephony
./scripts/feeds install -a -p telephony

更新

feeds.conf

1
2
3
4
src-git packages https://github.com/openwrt/packages.git^40da7ecf21ffe1f3523ffa430c406e1db58ce3d4
src-git luci https://github.com/openwrt/luci.git^7bf036750081787e01339c82865ad45fca6520ef
src-git routing src-git routing git://github.com/openwrt-routing/packages.git^d09478290f72c6e58833b65baf14d9173eaf98e1
src-git telephony https://github.com/openwrt/telephony.git^95498e75db5c6741cd53f8746ffc1473c72b6e5d
1
2
3
4
5
cd openwrt

cp feeds.conf.default feeds.conf

./scripts/feeds update -a && ./scripts/feeds install -a

测试编译环境

1
make defconfig

预先下载dl库,可以避免下载造成的编译失败。

1
make download V=s

编译配置

1
make menuconfig

配置

1
2
3
4
5
6
7
8
9
10
11
Target System (Atheros AR7xxx/AR9xxx)
Target Profile (TP-LINK TL-WR703N)
Target Images->ramdisk->Compression(lzma)
Target Images->tar.gz
Kernel modules->Filesystems->kmod-fs-ext4
Kernel modules->USB Support->(kmod-usb-core, kmod-usb-ohci, kmod-usb-storage)
Base system->block-mount
Utilities->Shells->zsh
Utilities->
Utilities->Compression->gzip
Utilities->kexec-tools->Configuration->lzma support

或者修改 .config

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
CONFIG_MODULES=y
CONFIG_HAVE_DOT_CONFIG=y
CONFIG_TARGET_ar71xx=y
CONFIG_TARGET_ar71xx_generic=y
CONFIG_TARGET_ar71xx_generic_DEVICE_tl-wr703n-v1=y
CONFIG_HAS_SUBTARGETS=y
CONFIG_HAS_DEVICES=y
CONFIG_TARGET_BOARD="ar71xx"
CONFIG_TARGET_SUBTARGET="generic"
CONFIG_TARGET_PROFILE="DEVICE_tl-wr703n-v1"
CONFIG_TARGET_ARCH_PACKAGES="mips_24kc"
CONFIG_DEFAULT_TARGET_OPTIMIZATION="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc"
CONFIG_CPU_TYPE="24kc"
CONFIG_LINUX_4_4=y
CONFIG_DEFAULT_base-files=y
CONFIG_DEFAULT_busybox=y
CONFIG_DEFAULT_dnsmasq=y
CONFIG_DEFAULT_dropbear=y
CONFIG_DEFAULT_firewall=y
CONFIG_DEFAULT_fstools=y
CONFIG_DEFAULT_ip6tables=y
CONFIG_DEFAULT_iptables=y
CONFIG_DEFAULT_iwinfo=y
CONFIG_DEFAULT_kmod-ath9k=y
CONFIG_DEFAULT_kmod-gpio-button-hotplug=y
CONFIG_DEFAULT_kmod-usb-core=y
CONFIG_DEFAULT_kmod-usb-ledtrig-usbport=y
CONFIG_DEFAULT_kmod-usb-ohci=y
CONFIG_DEFAULT_kmod-usb2=y
CONFIG_DEFAULT_libc=y
CONFIG_DEFAULT_libgcc=y
CONFIG_DEFAULT_logd=y
CONFIG_DEFAULT_mtd=y
CONFIG_DEFAULT_netifd=y
CONFIG_DEFAULT_odhcp6c=y
CONFIG_DEFAULT_odhcpd=y
CONFIG_DEFAULT_opkg=y
CONFIG_DEFAULT_ppp=y
CONFIG_DEFAULT_ppp-mod-pppoe=y
CONFIG_DEFAULT_swconfig=y
CONFIG_DEFAULT_uboot-envtools=y
CONFIG_DEFAULT_uci=y
CONFIG_DEFAULT_uclient-fetch=y
CONFIG_DEFAULT_wpad-mini=y
CONFIG_AUDIO_SUPPORT=y
CONFIG_GPIO_SUPPORT=y
CONFIG_PCI_SUPPORT=y
CONFIG_USB_SUPPORT=y
CONFIG_BIG_ENDIAN=y
CONFIG_USES_DEVICETREE=y
CONFIG_USES_SQUASHFS=y
CONFIG_HAS_MIPS16=y
CONFIG_mips=y
CONFIG_ARCH="mips"
CONFIG_EXTERNAL_CPIO=""
CONFIG_TARGET_ROOTFS_SQUASHFS=y
CONFIG_TARGET_SQUASHFS_BLOCK_SIZE=256
CONFIG_TARGET_UBIFS_FREE_SPACE_FIXUP=y
CONFIG_TARGET_UBIFS_JOURNAL_SIZE=""
CONFIG_SIGNED_PACKAGES=y
CONFIG_BUILD_PATENTED=y
CONFIG_SHADOW_PASSWORDS=y
CONFIG_KERNEL_BUILD_USER=""
CONFIG_KERNEL_BUILD_DOMAIN=""
CONFIG_KERNEL_PRINTK=y
CONFIG_KERNEL_CRASHLOG=y
CONFIG_KERNEL_SWAP=y
CONFIG_KERNEL_DEBUG_FS=y
CONFIG_KERNEL_KALLSYMS=y
CONFIG_KERNEL_DEBUG_KERNEL=y
CONFIG_KERNEL_DEBUG_INFO=y
CONFIG_KERNEL_MAGIC_SYSRQ=y
CONFIG_KERNEL_COREDUMP=y
CONFIG_KERNEL_ELF_CORE=y
CONFIG_KERNEL_PRINTK_TIME=y
CONFIG_KERNEL_RELAY=y
CONFIG_KERNEL_IPV6=y
CONFIG_KERNEL_IPV6_MULTIPLE_TABLES=y
CONFIG_KERNEL_IPV6_SUBTREES=y
CONFIG_KERNEL_IPV6_MROUTE=y
CONFIG_IPV6=y
CONFIG_USE_SSTRIP=y
CONFIG_USE_UCLIBCXX=y
CONFIG_PKG_CHECK_FORMAT_SECURITY=y
CONFIG_PKG_CC_STACKPROTECTOR_REGULAR=y
CONFIG_KERNEL_CC_STACKPROTECTOR_REGULAR=y
CONFIG_PKG_FORTIFY_SOURCE_1=y
CONFIG_PKG_RELRO_FULL=y
CONFIG_BINARY_FOLDER=""
CONFIG_DOWNLOAD_FOLDER=""
CONFIG_LOCALMIRROR=""
CONFIG_AUTOREBUILD=y
CONFIG_BUILD_SUFFIX=""
CONFIG_TARGET_ROOTFS_DIR=""
CONFIG_EXTERNAL_KERNEL_TREE=""
CONFIG_KERNEL_GIT_CLONE_URI=""
CONFIG_EXTRA_OPTIMIZATION="-fno-caller-saves -fno-plt"
CONFIG_TARGET_OPTIMIZATION="-Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc"
CONFIG_SOFT_FLOAT=y
CONFIG_USE_MIPS16=y
CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS=""
CONFIG_EXTRA_GCC_CONFIG_OPTIONS=""
CONFIG_GDB=y
CONFIG_USE_MUSL=y
CONFIG_BINUTILS_VERSION_2_25_1=y
CONFIG_BINUTILS_VERSION="2.25.1"
CONFIG_GCC_VERSION="5.4.0"
CONFIG_MUSL_VERSION="1.1.16"
CONFIG_LIBC="musl"
CONFIG_LIBC_VERSION="1.1.16"
CONFIG_TARGET_SUFFIX="musl"
CONFIG_TARGET_PREINIT_SUPPRESS_STDERR=y
CONFIG_TARGET_PREINIT_TIMEOUT=2
CONFIG_TARGET_PREINIT_IFNAME=""
CONFIG_TARGET_PREINIT_IP="192.168.1.1"
CONFIG_TARGET_PREINIT_NETMASK="255.255.255.0"
CONFIG_TARGET_PREINIT_BROADCAST="192.168.1.255"
CONFIG_TARGET_INIT_PATH="/usr/sbin:/usr/bin:/sbin:/bin"
CONFIG_TARGET_INIT_ENV=""
CONFIG_TARGET_INIT_CMD="/sbin/init"
CONFIG_TARGET_INIT_SUPPRESS_STDERR=y
CONFIG_PER_FEED_REPO=y
CONFIG_PER_FEED_REPO_ADD_DISABLED=y
CONFIG_PER_FEED_REPO_ADD_COMMENTED=y
CONFIG_FEED_packages=y
CONFIG_FEED_luci=y
CONFIG_FEED_telephony=y
CONFIG_PACKAGE_base-files=y
CONFIG_PACKAGE_busybox=y
CONFIG_BUSYBOX_DEFAULT_HAVE_DOT_CONFIG=y
CONFIG_BUSYBOX_DEFAULT_INCLUDE_SUSv2=y
CONFIG_BUSYBOX_DEFAULT_PLATFORM_LINUX=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_BUFFERS_GO_ON_STACK=y
CONFIG_BUSYBOX_DEFAULT_SHOW_USAGE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VERBOSE_USAGE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_COMPRESS_USAGE=y
CONFIG_BUSYBOX_DEFAULT_SUBST_WCHAR=0
CONFIG_BUSYBOX_DEFAULT_LAST_SUPPORTED_WCHAR=0
CONFIG_BUSYBOX_DEFAULT_LONG_OPTS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_DEVPTS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_PIDFILE=y
CONFIG_BUSYBOX_DEFAULT_PID_FILE_PATH="/var/run"
CONFIG_BUSYBOX_DEFAULT_FEATURE_SUID=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_PREFER_APPLETS=y
CONFIG_BUSYBOX_DEFAULT_BUSYBOX_EXEC_PATH="/proc/self/exe"
CONFIG_BUSYBOX_DEFAULT_FEATURE_SYSLOG=y
CONFIG_BUSYBOX_DEFAULT_LFS=y
CONFIG_BUSYBOX_DEFAULT_CROSS_COMPILER_PREFIX=""
CONFIG_BUSYBOX_DEFAULT_SYSROOT=""
CONFIG_BUSYBOX_DEFAULT_EXTRA_CFLAGS=""
CONFIG_BUSYBOX_DEFAULT_EXTRA_LDFLAGS=""
CONFIG_BUSYBOX_DEFAULT_EXTRA_LDLIBS=""
CONFIG_BUSYBOX_DEFAULT_NO_DEBUG_LIB=y
CONFIG_BUSYBOX_DEFAULT_INSTALL_APPLET_SYMLINKS=y
CONFIG_BUSYBOX_DEFAULT_PREFIX="./_install"
CONFIG_BUSYBOX_DEFAULT_PASSWORD_MINLEN=6
CONFIG_BUSYBOX_DEFAULT_MD5_SMALL=1
CONFIG_BUSYBOX_DEFAULT_SHA3_SMALL=1
CONFIG_BUSYBOX_DEFAULT_FEATURE_FAST_TOP=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_EDITING=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_EDITING_MAX_LEN=512
CONFIG_BUSYBOX_DEFAULT_FEATURE_EDITING_HISTORY=256
CONFIG_BUSYBOX_DEFAULT_FEATURE_TAB_COMPLETION=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_EDITING_FANCY_PROMPT=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB=4
CONFIG_BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_SEAMLESS_GZ=y
CONFIG_BUSYBOX_DEFAULT_GUNZIP=y
CONFIG_BUSYBOX_DEFAULT_BUNZIP2=y
CONFIG_BUSYBOX_DEFAULT_GZIP=y
CONFIG_BUSYBOX_DEFAULT_TAR=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TAR_CREATE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TAR_FROM=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TAR_GNU_EXTENSIONS=y
CONFIG_BUSYBOX_DEFAULT_BASENAME=y
CONFIG_BUSYBOX_DEFAULT_CAT=y
CONFIG_BUSYBOX_DEFAULT_DATE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_DATE_ISOFMT=y
CONFIG_BUSYBOX_DEFAULT_DD=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_DD_SIGNAL_HANDLING=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_DD_IBS_OBS=y
CONFIG_BUSYBOX_DEFAULT_ID=y
CONFIG_BUSYBOX_DEFAULT_SYNC=y
CONFIG_BUSYBOX_DEFAULT_TEST=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TEST_64=y
CONFIG_BUSYBOX_DEFAULT_TOUCH=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TOUCH_SUSV3=y
CONFIG_BUSYBOX_DEFAULT_TR=y
CONFIG_BUSYBOX_DEFAULT_CHGRP=y
CONFIG_BUSYBOX_DEFAULT_CHMOD=y
CONFIG_BUSYBOX_DEFAULT_CHOWN=y
CONFIG_BUSYBOX_DEFAULT_CHROOT=y
CONFIG_BUSYBOX_DEFAULT_CP=y
CONFIG_BUSYBOX_DEFAULT_CUT=y
CONFIG_BUSYBOX_DEFAULT_DF=y
CONFIG_BUSYBOX_DEFAULT_DIRNAME=y
CONFIG_BUSYBOX_DEFAULT_DU=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
CONFIG_BUSYBOX_DEFAULT_ECHO=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FANCY_ECHO=y
CONFIG_BUSYBOX_DEFAULT_ENV=y
CONFIG_BUSYBOX_DEFAULT_EXPR=y
CONFIG_BUSYBOX_DEFAULT_EXPR_MATH_SUPPORT_64=y
CONFIG_BUSYBOX_DEFAULT_FALSE=y
CONFIG_BUSYBOX_DEFAULT_FSYNC=y
CONFIG_BUSYBOX_DEFAULT_HEAD=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FANCY_HEAD=y
CONFIG_BUSYBOX_DEFAULT_LN=y
CONFIG_BUSYBOX_DEFAULT_LS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_FILETYPES=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_FOLLOWLINKS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_RECURSIVE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_SORTFILES=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_TIMESTAMPS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_USERNAME=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_COLOR=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LS_COLOR_IS_DEFAULT=y
CONFIG_BUSYBOX_DEFAULT_MD5SUM=y
CONFIG_BUSYBOX_DEFAULT_MKDIR=y
CONFIG_BUSYBOX_DEFAULT_MKFIFO=y
CONFIG_BUSYBOX_DEFAULT_MKNOD=y
CONFIG_BUSYBOX_DEFAULT_MV=y
CONFIG_BUSYBOX_DEFAULT_NICE=y
CONFIG_BUSYBOX_DEFAULT_PRINTF=y
CONFIG_BUSYBOX_DEFAULT_PWD=y
CONFIG_BUSYBOX_DEFAULT_READLINK=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_READLINK_FOLLOW=y
CONFIG_BUSYBOX_DEFAULT_RM=y
CONFIG_BUSYBOX_DEFAULT_RMDIR=y
CONFIG_BUSYBOX_DEFAULT_SEQ=y
CONFIG_BUSYBOX_DEFAULT_SHA256SUM=y
CONFIG_BUSYBOX_DEFAULT_SLEEP=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FANCY_SLEEP=y
CONFIG_BUSYBOX_DEFAULT_SORT=y
CONFIG_BUSYBOX_DEFAULT_TAIL=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FANCY_TAIL=y
CONFIG_BUSYBOX_DEFAULT_TEE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TEE_USE_BLOCK_IO=y
CONFIG_BUSYBOX_DEFAULT_TRUE=y
CONFIG_BUSYBOX_DEFAULT_UNAME=y
CONFIG_BUSYBOX_DEFAULT_UNAME_OSNAME="GNU/Linux"
CONFIG_BUSYBOX_DEFAULT_UNIQ=y
CONFIG_BUSYBOX_DEFAULT_WC=y
CONFIG_BUSYBOX_DEFAULT_YES=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_PRESERVE_HARDLINKS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_AUTOWIDTH=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_HUMAN_READABLE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_MD5_SHA1_SUM_CHECK=y
CONFIG_BUSYBOX_DEFAULT_CLEAR=y
CONFIG_BUSYBOX_DEFAULT_RESET=y
CONFIG_BUSYBOX_DEFAULT_DEFAULT_SETFONT_DIR=""
CONFIG_BUSYBOX_DEFAULT_MKTEMP=y
CONFIG_BUSYBOX_DEFAULT_START_STOP_DAEMON=y
CONFIG_BUSYBOX_DEFAULT_WHICH=y
CONFIG_BUSYBOX_DEFAULT_AWK=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_AWK_LIBM=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_AWK_GNU_EXTENSIONS=y
CONFIG_BUSYBOX_DEFAULT_CMP=y
CONFIG_BUSYBOX_DEFAULT_SED=y
CONFIG_BUSYBOX_DEFAULT_VI=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_MAX_LEN=1024
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_COLON=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_YANKMARK=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_SEARCH=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_USE_SIGNALS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_DOT_CMD=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_READONLY=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_SETOPTS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_SET=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_WIN_RESIZE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_ASK_TERMINAL=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE_MAX=0
CONFIG_BUSYBOX_DEFAULT_FEATURE_ALLOW_EXEC=y
CONFIG_BUSYBOX_DEFAULT_FIND=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_PRINT0=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_MTIME=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_PERM=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_TYPE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_XDEV=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_MAXDEPTH=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_EXEC=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_USER=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_GROUP=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_NOT=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_DEPTH=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_PAREN=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_SIZE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_PRUNE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_PATH=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FIND_REGEX=y
CONFIG_BUSYBOX_DEFAULT_GREP=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_GREP_EGREP_ALIAS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_GREP_FGREP_ALIAS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_GREP_CONTEXT=y
CONFIG_BUSYBOX_DEFAULT_XARGS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_QUOTES=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_TERMOPT=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
CONFIG_BUSYBOX_DEFAULT_HALT=y
CONFIG_BUSYBOX_DEFAULT_TELINIT_PATH=""
CONFIG_BUSYBOX_DEFAULT_FEATURE_KILL_DELAY=0
CONFIG_BUSYBOX_DEFAULT_INIT_TERMINAL_TYPE=""
CONFIG_BUSYBOX_DEFAULT_FEATURE_SHADOWPASSWDS=y
CONFIG_BUSYBOX_DEFAULT_LAST_ID=0
CONFIG_BUSYBOX_DEFAULT_FIRST_SYSTEM_ID=0
CONFIG_BUSYBOX_DEFAULT_LAST_SYSTEM_ID=0
CONFIG_BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO="md5"
CONFIG_BUSYBOX_DEFAULT_LOGIN=y
CONFIG_BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD=y
CONFIG_BUSYBOX_DEFAULT_PASSWD=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_PASSWD_WEAK_CHECK=y
CONFIG_BUSYBOX_DEFAULT_DEFAULT_MODULES_DIR=""
CONFIG_BUSYBOX_DEFAULT_DEFAULT_DEPMOD_FILE=""
CONFIG_BUSYBOX_DEFAULT_MOUNT=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_MOUNT_HELPERS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_MOUNT_CIFS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_MOUNT_FLAGS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_MOUNT_FSTAB=y
CONFIG_BUSYBOX_DEFAULT_DMESG=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_DMESG_PRETTY=y
CONFIG_BUSYBOX_DEFAULT_HEXDUMP=y
CONFIG_BUSYBOX_DEFAULT_HWCLOCK=y
CONFIG_BUSYBOX_DEFAULT_MKSWAP=y
CONFIG_BUSYBOX_DEFAULT_PIVOT_ROOT=y
CONFIG_BUSYBOX_DEFAULT_SWITCH_ROOT=y
CONFIG_BUSYBOX_DEFAULT_UMOUNT=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_UMOUNT_ALL=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_MOUNT_LOOP=y
CONFIG_BUSYBOX_DEFAULT_CROND=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_CROND_DIR="/etc"
CONFIG_BUSYBOX_DEFAULT_LESS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_LESS_MAXLINES=9999999
CONFIG_BUSYBOX_DEFAULT_FEATURE_BEEP_FREQ=0
CONFIG_BUSYBOX_DEFAULT_FEATURE_BEEP_LENGTH_MS=0
CONFIG_BUSYBOX_DEFAULT_CRONTAB=y
CONFIG_BUSYBOX_DEFAULT_LOCK=y
CONFIG_BUSYBOX_DEFAULT_STRINGS=y
CONFIG_BUSYBOX_DEFAULT_TIME=y
CONFIG_BUSYBOX_DEFAULT_NC=y
CONFIG_BUSYBOX_DEFAULT_PING=y
CONFIG_BUSYBOX_DEFAULT_PING6=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_FANCY_PING=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IPV6=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_PREFER_IPV4_ADDRESS=y
CONFIG_BUSYBOX_DEFAULT_VERBOSE_RESOLUTION_ERRORS=y
CONFIG_BUSYBOX_DEFAULT_BRCTL=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_BRCTL_FANCY=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_BRCTL_SHOW=y
CONFIG_BUSYBOX_DEFAULT_IFCONFIG=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IFCONFIG_STATUS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IFCONFIG_HW=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IFCONFIG_BROADCAST_PLUS=y
CONFIG_BUSYBOX_DEFAULT_IFUPDOWN_IFSTATE_PATH=""
CONFIG_BUSYBOX_DEFAULT_IP=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IP_ADDRESS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IP_LINK=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IP_ROUTE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_IP_ROUTE_DIR="/etc/iproute2"
CONFIG_BUSYBOX_DEFAULT_FEATURE_IP_RULE=y
CONFIG_BUSYBOX_DEFAULT_NETMSG=y
CONFIG_BUSYBOX_DEFAULT_NETSTAT=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_NETSTAT_WIDE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_NETSTAT_PRG=y
CONFIG_BUSYBOX_DEFAULT_NSLOOKUP_LEDE=y
CONFIG_BUSYBOX_DEFAULT_NTPD=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_NTPD_SERVER=y
CONFIG_BUSYBOX_DEFAULT_ROUTE=y
CONFIG_BUSYBOX_DEFAULT_TRACEROUTE=y
CONFIG_BUSYBOX_DEFAULT_TRACEROUTE6=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_VERBOSE=y
CONFIG_BUSYBOX_DEFAULT_DHCPD_LEASES_FILE=""
CONFIG_BUSYBOX_DEFAULT_UDHCPC=y
CONFIG_BUSYBOX_DEFAULT_UDHCP_DEBUG=0
CONFIG_BUSYBOX_DEFAULT_FEATURE_UDHCP_RFC3397=y
CONFIG_BUSYBOX_DEFAULT_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
CONFIG_BUSYBOX_DEFAULT_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
CONFIG_BUSYBOX_DEFAULT_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
CONFIG_BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET=""
CONFIG_BUSYBOX_DEFAULT_TOP=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
CONFIG_BUSYBOX_DEFAULT_UPTIME=y
CONFIG_BUSYBOX_DEFAULT_FREE=y
CONFIG_BUSYBOX_DEFAULT_KILL=y
CONFIG_BUSYBOX_DEFAULT_KILLALL=y
CONFIG_BUSYBOX_DEFAULT_PGREP=y
CONFIG_BUSYBOX_DEFAULT_PIDOF=y
CONFIG_BUSYBOX_DEFAULT_PS=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_PS_WIDE=y
CONFIG_BUSYBOX_DEFAULT_BB_SYSCTL=y
CONFIG_BUSYBOX_DEFAULT_SV_DEFAULT_SERVICE_DIR=""
CONFIG_BUSYBOX_DEFAULT_ASH=y
CONFIG_BUSYBOX_DEFAULT_ASH_BASH_COMPAT=y
CONFIG_BUSYBOX_DEFAULT_ASH_JOB_CONTROL=y
CONFIG_BUSYBOX_DEFAULT_ASH_ALIAS=y
CONFIG_BUSYBOX_DEFAULT_ASH_GETOPTS=y
CONFIG_BUSYBOX_DEFAULT_ASH_BUILTIN_ECHO=y
CONFIG_BUSYBOX_DEFAULT_ASH_BUILTIN_PRINTF=y
CONFIG_BUSYBOX_DEFAULT_ASH_BUILTIN_TEST=y
CONFIG_BUSYBOX_DEFAULT_ASH_CMDCMD=y
CONFIG_BUSYBOX_DEFAULT_ASH_EXPAND_PRMT=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_SH_IS_ASH=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_BASH_IS_NONE=y
CONFIG_BUSYBOX_DEFAULT_SH_MATH_SUPPORT=y
CONFIG_BUSYBOX_DEFAULT_SH_MATH_SUPPORT_64=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_SH_NOFORK=y
CONFIG_BUSYBOX_DEFAULT_LOGGER=y
CONFIG_BUSYBOX_DEFAULT_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0
CONFIG_BUSYBOX_DEFAULT_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
CONFIG_PACKAGE_dnsmasq=y
CONFIG_PACKAGE_dropbear=y
CONFIG_DROPBEAR_CURVE25519=y
CONFIG_PACKAGE_firewall=y
CONFIG_PACKAGE_fstools=y
CONFIG_PACKAGE_fwtool=y
CONFIG_PACKAGE_jsonfilter=y
CONFIG_PACKAGE_lede-keyring=y
CONFIG_PACKAGE_libc=y
CONFIG_PACKAGE_libgcc=y
CONFIG_PACKAGE_libpthread=y
CONFIG_PACKAGE_logd=y
CONFIG_PACKAGE_mtd=y
CONFIG_PACKAGE_netifd=y
CONFIG_PACKAGE_opkg=y
CONFIG_PACKAGE_procd=y
CONFIG_PACKAGE_swconfig=y
CONFIG_PACKAGE_ubox=y
CONFIG_PACKAGE_ubus=y
CONFIG_PACKAGE_ubusd=y
CONFIG_PACKAGE_uci=y
CONFIG_PACKAGE_usign=y
CONFIG_PACKAGE_kmod-lib-crc-ccitt=y
CONFIG_PACKAGE_kmod-nls-base=y
CONFIG_PACKAGE_kmod-ip6tables=y
CONFIG_PACKAGE_kmod-ipt-conntrack=y
CONFIG_PACKAGE_kmod-ipt-core=y
CONFIG_PACKAGE_kmod-ipt-nat=y
CONFIG_PACKAGE_kmod-nf-conntrack=y
CONFIG_PACKAGE_kmod-nf-conntrack6=y
CONFIG_PACKAGE_kmod-nf-ipt=y
CONFIG_PACKAGE_kmod-nf-ipt6=y
CONFIG_PACKAGE_kmod-nf-nat=y
CONFIG_PACKAGE_kmod-ppp=y
CONFIG_PACKAGE_kmod-pppoe=y
CONFIG_PACKAGE_kmod-pppox=y
CONFIG_PACKAGE_kmod-slhc=y
CONFIG_PACKAGE_kmod-gpio-button-hotplug=y
CONFIG_PACKAGE_kmod-usb-core=y
CONFIG_PACKAGE_kmod-usb-ledtrig-usbport=y
CONFIG_PACKAGE_kmod-usb-ohci=y
CONFIG_PACKAGE_kmod-usb2=y
CONFIG_PACKAGE_kmod-ath=y
CONFIG_ATH_USER_REGD=y
CONFIG_PACKAGE_ATH_DFS=y
CONFIG_PACKAGE_kmod-ath9k=y
CONFIG_ATH9K_UBNTHSR=y
CONFIG_PACKAGE_kmod-ath9k-common=y
CONFIG_PACKAGE_kmod-cfg80211=y
CONFIG_PACKAGE_kmod-mac80211=y
CONFIG_PACKAGE_MAC80211_DEBUGFS=y
CONFIG_PACKAGE_MAC80211_MESH=y
CONFIG_PACKAGE_libip4tc=y
CONFIG_PACKAGE_libip6tc=y
CONFIG_PACKAGE_libxtables=y
CONFIG_PACKAGE_libblobmsg-json=y
CONFIG_PACKAGE_libiwinfo=y
CONFIG_PACKAGE_libjson-c=y
CONFIG_PACKAGE_libnl-tiny=y
CONFIG_PACKAGE_libubox=y
CONFIG_PACKAGE_libubus=y
CONFIG_PACKAGE_libuci=y
CONFIG_PACKAGE_libuclient=y
CONFIG_PACKAGE_ip6tables=y
CONFIG_PACKAGE_iptables=y
CONFIG_PACKAGE_hostapd-common=y
CONFIG_PACKAGE_iw=y
CONFIG_PACKAGE_odhcp6c=y
CONFIG_PACKAGE_odhcp6c_ext_cer_id=0
CONFIG_PACKAGE_odhcpd=y
CONFIG_PACKAGE_odhcpd_ext_cer_id=0
CONFIG_PACKAGE_ppp=y
CONFIG_PACKAGE_ppp-mod-pppoe=y
CONFIG_PACKAGE_uclient-fetch=y
CONFIG_WPA_MSG_MIN_PRIORITY=3
CONFIG_DRIVER_11N_SUPPORT=y
CONFIG_DRIVER_11W_SUPPORT=y
CONFIG_PACKAGE_wpad-mini=y
CONFIG_PACKAGE_uboot-envtools=y
CONFIG_PACKAGE_iwinfo=y
CONFIG_PACKAGE_jshn=y
CONFIG_PACKAGE_libjson-script=y
CONFIG_PACKAGE_block-mount=y
CONFIG_PACKAGE_kmod-usb-storage=y
CONFIG_PACKAGE_kmod-fs-ext4=y

执行

WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!

1
make defconfig

执行编译

j是CPU核心数量

make V=99开始编译,第一次编译会比较慢,因为要下载开源包,生成在dl目录。

1
make V=99    // V = verbose 全部都显示

内核编译

编译配置

1
make kernel_menuconfig

配置

build_dir/target-mips_24kc_musl-1.1.16/linux-ar71xx_generic/linux-4.4.153/.config

1
2
3
4
5
6
7
Kernel type->Kexec system call
General Setup->(Initial RAM filesystem and RAM disk(initramfs/initrd) support, Support initial ramdisks compressed using LZMA)
Device Drivers->SCSI device support->M (SCSI device support, SCSI disk support)

Device Drivers->USB support->M (Support for Host-side USB, OHCI HCD (USB 1.1)support), USB OHCI support for Atheros AR71xx/AR7240 SoCs, M (USB Mass Storage support), USB announce new devices

Kernel hacking->Built-in kernel command line(rootfstype=ext4 noinitrd console=ttyS0,115200 board=TL-WR703N)

Modify:

  1. ./build_dir/linux-ar71xx/linux-2.6.32.27/arch/mips/kernel/machine_kexec.c

    Change Line 55 to: kexec_start_address = (unsigned long) phys_to_virt(image→start);

    1
    build_dir/target-mips_24kc_musl-1.1.16/linux-ar71xx_generic/linux-4.4.153/arch/mips/kernel/machine_kexec.c
  1. ./build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/linux-2.6.32.27/arch/mips/kernel/machine_kexec.c

    Change Line 55 to: kexec_start_address = (unsigned long) phys_to_virt(image→start);

    1
    build_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/linux/arch/mips/kernel/machine_kexec.c
  1. For USB support:

    1. ./target/linux/ar71xx/files/arch/mips/ar71xx/Kconfig

      Add new line 176 (under config AR71XX_MACH_TL_WR741ND)**:** select AR71XX_DEV_USB

      1
      target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
  1. ./target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr741nd.c

    1. Add Line 22 (under includes)**:** #include “dev-usb.h”
    2. Add line 102 (under static void __init tl_wr741nd_setup(void))**:** ar71xx_add_device_usb();
    1
    2
    3
    4
    5
    6
    target/linux/ar71xx/files/arch/mips/ath79/mach-tl-wr703n.c

    static void __init tl_wr703n_setup(void)
    {
    common_setup(TL_WR703N_GPIO_USB_POWER, false);
    }

    编译内核配置

  1. 1
    2
    3
    4
    5
    6
    make kernel_menuconfig

    # build_dir/target-mips_24kc_musl-1.1.16/linux-ar71xx_generic/linux-4.4.153/kernel_menuconfig_703n.config.old

    kernel_menuconfig_703n.config
    kernel_menuconfig_703n.config.old
    1. Select the following:

      1. Kernel typeKexec system call

      2. General setupSupport initial ramdisks compressed using LZMA

        1. Built-in initramfs compression modeLZMA
      3. Device DriversSCSI device supportM SCSI device support

        1. M SCSI disk support
        2. Probe all LUNs on each SCSI device
      4. Device DriversUSB supportM Support for Host-side USB

        1. M OHCI HCD supportUSB OHCI support for Atheros AR71xx
          1. M USB Mass Storage support
          2. USB announce new devices
      5. Kernel hackingDefault kernel command string

        1
        rootfstype=ext4 noinitrd console=ttyS0,115200 board=TL-WR703N
  2. Modify: ./package/base-files/files/etc/preinit

    1. Below . /etc/diag.sh, add line: rootfs=/dev/sda1
    1
    2
    3
    4
    5
    [ -z "$PREINIT" ] && exec /sbin/init

    export PATH="%PATH%"

    rootfs=/dev/sda1
    1. Optionally you can modify: ./target/linux/generic-2.6/base-files/init
      1. Change line 50 to: mount $rootfs /mnt -o noatime
        • Blocks wear out faster if written to every time a file is accessed
  3. 1
    make clean && make V=s
  4. Repeat Step 5

    • Clean operation creates issues, however it’s necessary for the USB patch to work
  5. 1
    make V=s
  6. Partition external storage, then format first partition as ext2

  7. Extract contents of ./bin/ar71xx/openwrt-ar71xx-rootfs.tar.gz to root of file system

  8. Copy ./bin/ar71xx/openwrt-ar71xx-vmlinux-initramfs.elf to root of file system

参考

新手折腾进阶篇———openwrt编译入门(绝对详细版)

703n完全USB启动

刷机固件安装指南

OpenWrt build system – Installation

Configuring kexec

kexec 概述

linux kexec 介绍

kexec on openwrt - linux boots linux, kernel boots kernel on openwrt

Kexec 引导内核内幕

kexec简介及使用方法

fqrouter USB启动原理【2】:kexec + losetup

【技巧】在openwrt下使用kexec启动硬盘上的linux系统。

HG255d 用 kexec 执行 U 盘固件来规避 Flash 写错误的问题

LEDE源代码

openwrt构建过程探索

openwrt feed 用法,第三方库

OpenWRT 编译过程

ubuntu16.04编译OpenWrt环境搭建

https://github.com/ovwane/fqrouter

(一)openwrt make menuconfig流程分析

(二)openwrt make kernel_menuconfig流程分析

Openwrt启动流程及启动脚本分析

openwrt启动脚本分析

[UCI] OpenWrt-uci命令系统

openwrt: Makefile 框架分析

(一)openwrt源码目录概述

arm-linux启动过程

Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解

无线路由器提供AP、Client、Router、Bridge、Repeater五种工作模式各自含义

从零开始编译OpenWRT(LEDE)固件

编译openwrt支持USB自动mount功能

TL-WR703N、TL-WR720N将官方OpenWrt系统扩展到U盘运行

品胜 WPR001N 和 TP-Link WR703N 挂载U盘扩展磁盘空间

未使用

WR703n带U盘引导,刷机的uboot发布 !!!

2019年学习课程

张萌:人生管理课

张萌人生效率手册:时间管理50课

如何评价喜马拉雅上张萌的人生效率手册节目?

小强升职记:带你六步制作可实现的年度计划

马东的职场B计划

李筱懿:职场要赢得漂亮

不懂汇报工作,还想升职加薪

咪蒙教你月薪5万,却不会告诉你这些真相

李诞池子的幽默工具箱

成长教练胡明瑜:情绪管理36计

孙宇晨:财务自由

何评价孙宇晨在喜马拉雅上做的《财富自由革命之路》这个节目?

孙宇晨【财富自由革命之路】笔记

烧脑天团:超级记忆力养成计划

烧脑天团:超级脑力训练营

Ubuntu Desktop 使用

Ubuntu 20.04 LTS

配置IP地址

位置 /etc/netplan/*.yaml

1
2
3
4
5
6
7
8
9
10
11
12
network:
ethernets:
enp0s5:
addresses:
- 10.8.8.118/24
dhcp4: no
gateway4: 10.8.8.1
nameservers:
addresses:
- 114.114.114.114
optional: true
version: 2

配置生效

1
netplan apply

查看DNS

1
systemd-resolve --status|grep 'DNS Servers'

安装

修改 清华 apt 源

https://developer.aliyun.com/mirror/ubuntu

SSH

1
apt install -y openssh-server

常用工具

1
apt install -y vim lrzsz git

Android Studio

1
snap install android-studio --classic

安装 Docker

如果你过去安装过 docker,先删掉

1
apt remove docker docker-engine docker.io

安装依赖

1
apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common

信任 Docker 的 GPG 公钥

1
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

添加软件仓库

1
add-apt-repository "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

安装

1
2
apt update
apt install -y docker-ce

开机自启动

1
2
systemctl enable docker.service
systemctl start docker.service

安装 docker-compose

VNC Server

1
apt install tigervnc-standalone-server
1
2
3
4
5
vncserver -localhost no

vncserver -kill :*

vncserver --list

安装 Vagrant

https://www.myfreax.com/how-to-install-vagrant-on-ubuntu-18-04/

1
apt install -y virtualbox vagrant

使用 libvirt 可以把 virtualbox 替换为:apt install -y qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager

https://bugs.launchpad.net/ubuntu/+source/vagrant-libvirt/+bug/1771430

Virtualbox 扩展:https://download.virtualbox.org/virtualbox/6.1.10/Oracle_VM_VirtualBox_Extension_Pack-6.1.10.vbox-extpack

VBoxManage extpack install ./Oracle_VM_VirtualBox_Extension_Pack-6.1.10.vbox-extpack

https://www.zcfy.cc/article/how-to-install-and-use-vboxmanage-on-ubuntu-16-04-and-use-its-command-line-options

1
apt -y install virtualbox virtualbox-ext-pack vagrant

参考

如何在 Ubuntu 18.04 下正确配置网络

Android 模拟器下载 sys-img

安装

郑州大学开源镜像站

郑州大学mirror

https://mirrors.zzu.edu.cn/android/repository/sys-img/google_apis/

例如:Android 6.0 的 镜像

https://mirrors.zzu.edu.cn/android/repository/sys-img/google_apis/armeabi-v7a-23_r30.zip

armeabi-v7a-23_r30.zip

  • API_VERSION:23
  • API_TYPE:armeabi-v7a

存放位置

1
~/Library/Android/sdk/system-images/android-[API_VERSION]/google_apis/[API_TYPE]

实际存放位置:`~/Library/Android/sdk/system-images/android-23/google_apis/armeabi-v7a

Pytest Allure Jenkins 持续集成

安装Jenkins插件

访问gitlab API

1
https://${DOMAIN}/api/v4/projects?private_token=${API_token}

新建job

New Item->example_pytest_allure(Freestyle project)

Source Code Management

  • Git
    • Repository URL
    • Credentials
      • Kind: SSH Username with private key
      • Username: git
      • Private Key:

参考

pytest自动化测试框架(6)-pytest+Allure+jenkins集成

使用gitlab API

搭建GitLab+Jenkins持续集成环境图文教程

python+allure+jenkins

,