From 39ff49d4fff7d27104e53f7151361c3719bef5dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oever=20Gonz=C3=A1lez?= Date: Sat, 19 Dec 2020 21:12:19 -0600 Subject: [PATCH] custom: final notes for the build --- notes-final.txt | 117 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 notes-final.txt diff --git a/notes-final.txt b/notes-final.txt new file mode 100644 index 00000000000000..b971fd84ab22cb --- /dev/null +++ b/notes-final.txt @@ -0,0 +1,117 @@ +EA6350v3/XX8300/Convexa Custom ROM v2.06 +========= +Based on OpenWrt commit 85caf21ade2907cfd40c28783192ff31c16a74dc +If you want to apply the patches, first checkout the above commit and git-apply the patches accordingly. After that, you can build, update and modify your copy. + +> **NOTE: The download link is at the very bottom of this text. Please: read all the notes and then continue to download. This page is designed to force you to do that.** + +## Don't forget to apply the hotfixes! +Since I'm not perfect, and I have not a team of engineers to support my work; sometimes I do forget some details when the image is ready and it's not worth re-build. Instead of just keeping the annoyances go along, I decided to implement the "hotfixes" mechanics. + +Here is how it works: +1. Flash the image as always. +2. Once your device boots, go immediately to the `Backup / Flash Firmware` in LuCI. +3. Upload the `hotfixes.tar.gz` in the `Restore` section, as if it's a backup. + +That's all! + +## How to decompress and install +> Warning: the 'sysupgrade' procedure will reset some settings to their default values. You can see the changes made to your system by looking at the 'bootz' files in `/etc/bootz`. + +First, decompress the downloaded file. This file is compressed using `zstd` and it's a tarball. + - If you are using **Windows**, you can install [PeaZip](https://www.peazip.org) + - If you are using **macOS**, you can install [Keka (beta)](https://beta.keka.io) + - If you are using **Linux**, you probably have all the tools already installed + +You will find a folder once decompressed. Inside this folder, you will find the following folders: + - `bin`: this contains the two "flashable" versions of the firmware. One is a `sysupgrade` image that you will use to update from another version or from OpenWrt; and the other is a `factory` image which you will use to flash directly from the Linksys firmware. + - `info`: this folder contains the manifests, the configuration seed, and the checksums. Also, it contains a copy of this document. + - `patches`: it contains all the patches that apply cleanly over the fork point. Use them if you download the source code and want to build your own firmware from a working copy. Also, they need to be distributed due to the software license. + +### From the OpenWrt firmware or from another version of this firmware +Go to LuCI and apply the `sysupgrade` image. Either from the OpenWrt firmware or from another version of this firmware. This firmware **will not** apply cleanly over the stock OpenWrt firmware. + +> **Note**: You should perform the upgrade without keeping/saving your settings, otherwise, your device will likely soft-brick. If it does brick, you will need to trigger a recovery as documented in the wiki. This happens because this build contains patches to make the switch work, but they will stop the device from running with the OpenWrt's default configuration and vice versa. + +Go to http://192.168.xx.1/cgi-bin/luci/admin/system/flash if you are using another version of this firmware. Go to https://192.168.1.1/cgi-bin/luci/admin/system/flash if you are using the OpenWrt firmware. Or you can use the command line if you have not installed LuCI. Then, apply the update accordingly. + +### From the Linksys firmware +Follow the instruction the OpenWrt wiki page for the device: +- [EA6350v3](https://openwrt.org/toh/linksys/linksys_ea6350_v3) +- [EA8300 and MR8300](https://openwrt.org/toh/linksys/linksys_ea8300) + +### From the GL.iNet firmware +For the Convexa-B, you should follow the steps documented on the GL.iNet web page for installing vanilla OpenWrt, they work the same for this build. It involves booting into the recovery u-boot mode and upgrading the firmware from there. + +Note that for the Convexa-S, you will need to flash a "Factory to OpenWrt" image first and then flash this firmware. Otherwise, your device will brick and you will need to use an SPI programmer, contact the GL.iNet support team and flash the NAND chip with the file they will make for you. + +## Features and packages +The binary installable image contains the following packages and features: + - Using the OEM partition as `/overlay` for added storage to install packages and for extending the firmware ROM lifespan (EA6350v3/XX8300/Convexa-S only). +- DNS + - Disabled `dnsmasq` DNS forwarder in favor of `unbound` resolver with TLS + - Configured Unbound as a TLS forwarder for a secure DNS server (currently: Quad9) +- Utilities + - Tools: bash, nano, nologin, sudo + - Performance: haveged, schedutil, compressed-memory +- LuCI + - uhttpd-openssl + - Web GUI applications + - adblock, advanced-reboot, compressed-memory, dashboard, uhttpd, unbound +- File Systems + - exfat, ext4, f2fs, msdos (FAT16/32) +- Kernel features and modules + - USB Support + - USB Attached SCSI and USB Mass Storage + - New Linux IOSCHEDs elevators and Governors + - Governor: `schedutil` enabled by default for all CPU's + - Fully preemptive @ 100 Hz kernel for more responsiveness +- Minimum CPU frequency set to 512 MHz instead of 48 MHz +- Enabled and unlocked all operation points to allow the CPU frequency scaling governor `schedutil` to take better decisions +- Patched VLAN to work as expected for all supported IPQ40xx targets +- Patched SQUASHFS to avoid crashes due to spurious SPI errors + +## General notes +All kernel modules for a particular version, among with a wide set of LuCI apps, are automatically uploaded to GitHub and `opkg` is configured to use them. All of the other software is available from OpenWrt's snapshots, but the ROM is not configured to use them [by default]. + +If there is some missing package or kernel module, please open a GitHub issue or send feedback to my e-mail or OpenWrt forum thread explaining exactly what's missing. It will be added to the next release. + +## Notes for this release +This is a full custom configuration optimized for IPQ40xx devices. The purpose of this build is to give the user a sensible selection of software for testing and using OpenWrt without too much effort. It's also optimized for lower latency and fixes for many annoyances. + +This build contains some important changes compared to OpenWrt. It contains some customizations that cannot be found in the official OpenWrt image or the OpenWrt repositories, making both rather incompatible. Especially because it contains several kernel patches. + +Please: perform a factory reset if you are replacing OpenWrt with this and vice-versa or else your device will soft brick, and you'll see yourself doing a recovery. + +## Take into consideration +LuCI has full OpenSSL support. However, for your convenience, you can access the HTTP version of LuCI. This is because it's not convenient to install a random self-signed certificate every single time. You can use the HTTP version, restore your certificate, and then disable the HTTP access. + +The default IP address is now `192.168.xx.1` and IPv6 is `fd00:192:168:xx::1`, the `xx` means that every supported device has a different subnet IP. The hostname is `Civic`, 'Convexa-B', 'Convexa-S' or `Dallas`, respectively. + +For LuCI Administration WebUI, go to + - DNS: http://192.168.xx.1/cgi-bin/luci/admin/services/unbound + - IPv4: http://192.168.xx.1/cgi-bin/luci/admin + - IPv6: http://[fd00:192:168:xx::1]/cgi-bin/luci/admin + +``` +Wireless password: + - [Hostname] -> OpenWrt on [Hostname] +Login password: + - admin -> admin + - root -> root +``` +> Note: [Hostname] refers to the device's default hostname, you should replace that placeholder accordingly. For example, the SSID for Dallas will be `Dallas` and the password will be `OpenWrt on Dallas`. + +Give Me Love 💌 +============== +Don't hesitate in giving this repository a golden star, forking it, or watching its releases. This build is and will be free forever, the only thing that may I ask in exchange is proper feedback. + +Downloads +========= +Click the "Assets" button below and download the `.tar.zst` file. If you want to check the hotfix's integrity, here is the SHA256 checksum. Use the `shasum` command or PeaZip/7zip, if you use Windows. + +**You should only flash the hotfixes file which contains the hostname (in lowercase) of your device. If the hotfix file for your device is not present, but there is one that is called `others`, you should use that file in your device.** + +``` +hotfixes.tar.gz: SHA256 [currently, no hotfixes are needed] +```