mirror of https://github.com/hak5/openwrt-owl.git
621979b49f
Using the do_sync_{read,write} functions in conjunction with the generic_file_{read,write}_iter causes a kernel panic like this: root@OpenWrt:/# mount -t yaffs /dev/mtdblock5 /mnt [ 2884.110000] yaffs: dev is 32505861 name is "mtdblock5" rw [ 2884.120000] yaffs: passed flags "" root@OpenWrt:/# hexdump -vC -n 64 /mnt/kernel [ 2902.700000] CPU 0 Unable to handle kernel paging request at virtual \ address 00000000, epc == 00000000, ra == 80129414 [ 2902.710000] Oops[#1]: [ 2902.710000] CPU: 0 PID: 1030 Comm: hexdump Not tainted 3.18.9 #2 [ 2902.710000] task: 878e7a20 ti: 868c6000 task.ti: 868c6000 [ 2902.710000] $ 0 : 00000000 fffffff8 00000000 00000000 [ 2902.710000] $ 4 : 868c7e70 868c7ea8 00000001 868c7f08 [ 2902.710000] $ 8 : 00000038 80064f18 80072280 00000000 [ 2902.710000] $12 : 7fa152b8 7709e3a0 00c42008 7709e3a0 [ 2902.710000] $16 : 868c7f08 86a46000 00000010 878e7a20 [ 2902.710000] $20 : 7705c4b0 00000010 00000000 00000000 [ 2902.710000] $24 : 770960bc 7707dd78 [ 2902.710000] $28 : 868c6000 868c7e58 7f8e7030 80129414 [ 2902.710000] Hi : 00000000 [ 2902.710000] Lo : ffffffff [ 2902.710000] epc : 00000000 (null) [ 2902.710000] Not tainted [ 2902.710000] ra : 80129414 do_sync_read+0x7c/0xb4 [ 2902.710000] Status: 1900dc03 KERNEL EXL IE [ 2902.710000] Cause : 00800008 [ 2902.710000] BadVA : 00000000 [ 2902.710000] PrId : 00019750 (MIPS 74Kc) Change the yaffs code to use the new_sync_{read,write} functions instead. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> SVN-Revision: 44974 |
||
---|---|---|
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