mirror of https://github.com/hak5/openwrt-owl.git
eed031d460
We never account for the added partitions from the tag parser, so allocated two partioness less than needed. This can cause issues when the memory gets reused before the mtd code can actually add the partitions. Fixes oopses like: [ 0.920000] mtd: device 2 (rootfs) set to be root filesystem [ 0.924000] 1 squashfs-split partitions found on MTD device rootfs [ 0.932000] 0x0000002e0000-0x0000003f0000 : "rootfs_data" [ 0.940000] 0x000000010000-0x0000003f0000 : "linux" [ 0.948000] CPU 0 Unable to handle kernel paging request at virtual address 00010203, epc == 8028ddf8, ra == 801ad5d4 [ 0.956000] Oops[#1]: [ 0.956000] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.18.8 #22 [ 0.956000] task: 8181da78 ti: 8181e000 task.ti: 8181e000 [ 0.956000] $ 0 : 00000000 10008f00 00010203 81049e40 [ 0.956000] $ 4 : 00010203 000000d0 00000000 000000fd [ 0.956000] $ 8 : 00000000 80015490 00000000 80370000 [ 0.956000] $12 : 00000000 00000001 00000000 2f736269 [ 0.956000] $16 : 00010203 000000d0 8007bde0 81482000 [ 0.956000] $20 : 00000000 00000004 81481f80 803c4b78 [ 0.956000] $24 : 00000000 00000000 [ 0.956000] $28 : 8181e000 8181fbe8 80b20000 801ad5d4 [ 0.956000] Hi : 00000000 [ 0.956000] Lo : 00000000 [ 0.956000] epc : 8028ddf8 strlen+0x4/0x20 [ 0.956000] Not tainted [ 0.956000] ra : 801ad5d4 kstrdup+0x30/0x84 [ 0.956000] Status: 10008f03 KERNEL EXL IE [ 0.956000] Cause : 00800008 [ 0.956000] BadVA : 00010203 [ 0.956000] PrId : 0002a010 (Broadcom BMIPS4350) [ 0.956000] Modules linked in: [ 0.956000] Process swapper/0 (pid: 1, threadinfo=8181e000, task=8181da78, tls=00000000) [ 0.956000] Stack : 8148aa00 803c4bcc 00000000 801cd9d0 00000000 8148a400 818a1400 003f0000 81482000 8007bde0 8148aa00 800ac78c 8148aa00 00000004 8037ae30 8181fc4c 8148aa00 803bc074 803c0000 80074b84 00000000 00010000 00000004 ffffffff 8037ae30 00000004 8148aa00 00000004 803c4b80 818a1400 803c0000 00000005 81481f80 80074ce0 8181fc84 00000005 81879800 8008ece4 00000000 003f0000 ... [ 0.956000] Call Trace: [ 0.956000] [<8028ddf8>] strlen+0x4/0x20 [ 0.956000] [<801ad5d4>] kstrdup+0x30/0x84 [ 0.956000] [<8007bde0>] allocate_partition+0x58/0x93c [ 0.956000] [<80074ce0>] add_mtd_partitions+0x90/0x144 [ 0.956000] [<801cc228>] mtd_device_parse_register+0x78/0xcc [ 0.956000] [<801e7870>] of_flash_probe+0x658/0x728 [ 0.956000] [<80216ee0>] platform_drv_probe+0x24/0x60 [ 0.956000] [<801221f4>] driver_probe_device+0xcc/0x214 [ 0.956000] [<800466f8>] __driver_attach+0x7c/0xb4 [ 0.956000] [<800c38bc>] bus_for_each_dev+0x94/0xa4 [ 0.956000] [<800c35e4>] bus_add_driver+0x104/0x1ec [ 0.956000] [<80122400>] driver_register+0xac/0x100 [ 0.956000] [<80113a5c>] do_one_initcall+0x148/0x204 [ 0.956000] [<803cbd1c>] kernel_init_freeable+0x168/0x220 [ 0.956000] [<800157bc>] kernel_init+0x10/0x114 [ 0.956000] [<800108a8>] ret_from_kernel_thread+0x14/0x1c [ 0.956000] [ 0.956000] Code: 03e00008 27bd0028 00801021 <80430000> 10600003 00000000 080a377e 24420001 03e00008 [ 1.192000] ---[ end trace 9d89ccbcae27fe40 ]--- [ 1.200000] Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b [ 1.200000] [ 1.200000] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 44787 |
||
---|---|---|
config | ||
docs | ||
include | ||
package | ||
scripts | ||
target | ||
toolchain | ||
tools | ||
.gitattributes | ||
.gitignore | ||
BSDmakefile | ||
Config.in | ||
LICENSE | ||
Makefile | ||
README | ||
feeds.conf.default | ||
rules.mk |
README
This is the buildsystem for the OpenWrt Linux distribution. Please use "make menuconfig" to configure your appreciated configuration for the toolchain and firmware. You need to have installed gcc, binutils, bzip2, flex, python, perl, make, find, grep, diff, unzip, gawk, getopt, subversion, libz-dev and libc headers. Run "./scripts/feeds update -a" to get all the latest package definitions defined in feeds.conf / feeds.conf.default respectively and "./scripts/feeds install -a" to install symlinks of all of them into package/feeds/. Use "make menuconfig" to configure your image. Simply running "make" will build your firmware. It will download all sources, build the cross-compile toolchain, the kernel and all choosen applications. You can use "scripts/flashing/flash.sh" for remotely updating your embedded system via tftp. The OpenWrt system is documented in docs/. You will need a LaTeX distribution and the tex4ht package to build the documentation. Type "make -C docs/" to build it. To build your own firmware you need to have access to a Linux, BSD or MacOSX system (case-sensitive filesystem required). Cygwin will not be supported because of the lack of case sensitiveness in the file system. Sunshine! Your OpenWrt Project http://openwrt.org