An opensource OpenWrt variant for mainland China users.
Go to file
Paul Spooren 8836fd3d3c
scripts: add size_compare.sh
As package size changes are a continuous topic on the mailing list this
scripts helps developers to compare their local package modifications
against latest upstream.

The script downloads the latest package indexes based on env variables
or the `.config` file. The script compares the actual installed size
(data.tar.gz) or the IPK package size.

An example output is found below:

```
user@dawn:~/src/openwrt/openwrt$ ./scripts/size_compare.sh
Compare packages of ath79/tiny/mips_24kc:
dropbear busybox iw ubus

Checking configuration difference
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   554  100   554    0     0    336      0  0:00:01  0:00:01 --:--:--   336

 --- start config diff ---
--- /tmp/config.DDjwVh-LOCAL	2020-11-23 09:08:28.913203068 -1000
+++ /tmp/config.DDjwVh-UPSTREAM	2020-11-23 09:08:36.369240887 -1000
@@ -1,5 +1,9 @@
+CONFIG_ALL_KMODS=y
+CONFIG_ALL_NONSHARED=y
 CONFIG_AUTOREBUILD=y
+CONFIG_AUTOREMOVE=y
--- 8< ---
 CONFIG_BINARY_FOLDER=""
+CONFIG_BUILDBOT=y
+CONFIG_TARGET_ALL_PROFILES=y
 CONFIG_TARGET_ROOTFS_DIR=""
 CONFIG_USE_SSTRIP=y
 CONFIG_USE_UCLIBCXX=y
 --- end config diff ---

Checking installed size

Fetching latest package indexes...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 80634  100 80634    0     0  33499      0  0:00:02  0:00:02 --:--:-- 33485
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 54082  100 54082    0     0  24252      0  0:00:02  0:00:02 --:--:-- 24252

Comparing package sizes...
Change 	Local	Remote 	Package
+271	51386	51115	base-files
+123	705241	705118	bnx2-firmware
+86	17209	17123	fstools
+22	47989	47967	procd
+21	208311	208290	busybox
+19	67181	67162	netifd

```

I plan to integrate this script into the CI so we have a summary how
sizes change over different architectures.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2020-11-28 18:27:07 +08:00
config Revert "refpolicy: add variant that builds modular policy" 2020-11-24 23:18:44 +08:00
include kernel: bump to 4.9.244, 4.14.207, 4.19.158 2020-11-21 21:15:35 +08:00
package coremark: drop upstreamed package 2020-11-28 18:15:00 +08:00
scripts scripts: add size_compare.sh 2020-11-28 18:27:07 +08:00
target imagebuilder: fix partition signature 2020-11-28 18:26:21 +08:00
toolchain musl: handle wcsnrtombs destination buffer overflow (CVE-2020-28928) 2020-11-21 18:02:17 +08:00
tools tools/bc: use autoreconf to fix build failure on macOS with recent Xcode versions 2020-11-21 17:41:58 +08:00
.gitattributes fix permisson 2019-08-16 15:09:42 +08:00
.gitignore gitignore: ignore patches in root directory 2020-02-25 15:39:25 +08:00
BSDmakefile packages: apply usign padding workarounds to package indexes if needed 2019-08-16 14:48:02 +08:00
Config.in packages: apply usign padding workarounds to package indexes if needed 2019-08-16 14:48:02 +08:00
CONTRIBUTED.md luci-theme-atmaterial: update source from yangsongli 2020-08-27 12:17:46 +08:00
feeds.conf.default feeds: switch to github official repo 2020-06-20 12:06:05 +08:00
LICENSE packages: apply usign padding workarounds to package indexes if needed 2019-08-16 14:48:02 +08:00
Makefile Makefile: sync with official source 2020-07-30 23:49:33 +08:00
README.md brook: bump to 20200701 2020-07-27 19:22:01 +08:00
rules.mk rules.mk: simplify FAKEROOT command line 2020-10-31 10:26:52 +08:00

PROJECT OPENWRT

The Source Code of OpenWrt-Lean Modified by CTCGFW

Welcome to our Telegram Group: @ctcgfw_openwrt_discuss.


How to make it

Minimum requirements

Linux with case sensitive
2G DDR2 RAM
2 CPU Cores (AMD64, 1.4Ghz)
25G disk space left
Has access to both ChinaNet & Internet

Install the necessary packages (for Ubuntu user)

sudo apt-get update -y
sudo apt-get full-upgrade -y
sudo apt-get install -y build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib g++-multilib p7zip p7zip-full msmtp libssl-dev texinfo libreadline-dev libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint ccache curl wget vim nano python python3 python-pip python3-pip python-ply python3-ply haveged lrzsz device-tree-compiler scons antlr3 gperf intltool rsync

For mainland China & Ubuntu(16.04+) user, you may run the following command to setup quickly:

sudo bash -c "bash <(curl -s https://build-scripts.project-openwrt.eu.org/init_build_environment.sh)"

Clone the source

git clone -b openwrt-18.06 --single-branch https://github.com/project-openwrt/openwrt && cd openwrt
./scripts/feeds update -a && ./scripts/feeds install -a

For developer, you may use openwrt-18.06-dev branch instead of openwrt-18.06.

Configure your firmware

make menuconfig

Make it

make -j1 V=s

Tips

You'd better not use root to make it, or you may be not able to use.
Default login address: 192.168.1.1, username is root and password is password.

Contributed

See CONTRIBUTED.md.

License

GNU General Public License v3.0.