OpenWrt Source Repository
Go to file
Sven Eckelmann 9f2a40c72f kernel: mtd: parser: cmdline: Fix parsing of part-names with colons
Some devices (especially QCA ones) are already using hardcoded partition
names with colons in it. The OpenMesh A62 for example provides following
mtd relevant information via cmdline:

  root=31:11 mtdparts=spi0.0:256k(0:SBL1),128k(0:MIBIB),384k(0:QSEE),64k(0:CDT),64k(0:DDRPARAMS),64k(0:APPSBLENV),512k(0:APPSBL),64k(0:ART),64k(custom),64k(0:KEYS),0x002b0000(kernel),0x00c80000(rootfs),15552k(inactive) rootfsname=rootfs rootwait

The change to split only on the last colon between mtd-id and partitions
will cause newpart to see following string for the first partition:

  KEYS),0x002b0000(kernel),0x00c80000(rootfs),15552k(inactive)

Such a partition list cannot be parsed and thus the device fails to boot.

Avoid this behavior by making sure that the start of the first part-name
("(") will also be the last byte the mtd-id split algorithm is using for
its colon search.

Fixes: 5d01d05608 ("kernel: Update kernel 4.14 to version 4.14.202")
Fixes: edda06c7b4 ("kernel: Update kernel 4.9 to version 4.9.240")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
(backported from commit 223eec7e81)
2020-11-24 10:03:27 +01:00
.github build: Update README & github help 2018-08-08 15:32:55 +02:00
config config: introduce separate CONFIG_SIGNATURE_CHECK option 2019-08-07 07:54:27 +02:00
include OpenWrt v18.06.9: revert to branch defaults 2020-11-17 23:17:09 +01:00
package OpenWrt v18.06.9: revert to branch defaults 2020-11-17 23:17:09 +01:00
scripts scripts: getver.sh: fix version based on stable branch 2020-10-07 23:15:10 +02:00
target kernel: mtd: parser: cmdline: Fix parsing of part-names with colons 2020-11-24 10:03:27 +01:00
toolchain musl: fix locking synchronization bug 2020-05-26 23:50:37 +02:00
tools tools/squashfs4: fix bugs of xz compress options 2020-09-28 00:37:50 +02:00
.gitattributes
.gitignore gitignore: ignore patches in OpenWrt root directory 2019-11-14 18:26:06 +01:00
BSDmakefile
Config.in merge: base: update base-files and basic config 2017-12-08 19:41:18 +01:00
LICENSE
Makefile build: Unset CDPATH to avoid problems 2018-12-18 11:28:11 +01:00
README build: README punctuation pendantry 2018-08-08 15:33:03 +02:00
feeds.conf.default OpenWrt v18.06.9: revert to branch defaults 2020-11-17 23:17:09 +01:00
rules.mk rules.mk: add ESED command 2018-12-18 11:28:13 +01:00

README

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------

This is the buildsystem for the OpenWrt Linux distribution.

To build your own firmware you need a Linux, BSD or MacOSX system (case
sensitive filesystem required). Cygwin is unsupported because of the lack
of a case sensitive file system.

You need gcc, binutils, bzip2, flex, python, perl, make, find, grep, diff,
unzip, gawk, getopt, subversion, libz-dev and libc headers installed.

1. Run "./scripts/feeds update -a" to obtain all the latest package definitions
defined in feeds.conf / feeds.conf.default

2. Run "./scripts/feeds install -a" to install symlinks for all obtained
packages into package/feeds/

3. Run "make menuconfig" to select your preferred configuration for the
toolchain, target system & firmware packages.

4. Run "make" to build your firmware. This will download all sources, build
the cross-compile toolchain and then cross-compile the Linux kernel & all
chosen applications for your target system.

Sunshine!
	Your OpenWrt Community
	http://www.openwrt.org