進階-源碼編譯的相關知識

1.在路徑 /trunk/tools/firmware-utils/src/mktplinkfw.c 這個文件裏邊有個「fw max len」,默認3c0000是4M的,請改爲7c0000 (這一步把固件最大限制改爲8M),若是是16mflash,請改爲fc0000(最大限制改爲16m)。

二、修改target/linux/ar71xx/files/arch/mips/ar71xx/mach-tl-wr841n.c(找相應文件)

4M:
 41 .name = "u-boot",
 42 .offset = 0,
 43 .size = 0x020000,
 44 .mask_flags = MTD_WRITEABLE,
 45 }, {
 46 .name = "kernel",
 47 .offset = 0x020000,
 48 .size = 0x140000,
 49 }, {
 50 .name = "rootfs",
 51 .offset = 0x160000,
 52 .size = 0x290000,
 53 }, {
 54 .name = "art",
 55 .offset = 0x3f0000,
 56 .size = 0x010000,
 57 .mask_flags = MTD_WRITEABLE,
 58 }, {
 59 .name = "firmware",
 60 .offset = 0x020000,
 61 .size = 0x3d0000,
 62 }
 63 };

8M::
 41 .name = "u-boot",
 42 .offset = 0,
 43 .size = 0x020000,
 44 .mask_flags = MTD_WRITEABLE,
 45 }, {
 46 .name = "kernel",
 47 .offset = 0x020000,
 48 .size = 0x140000,
 49 }, {
 50 .name = "rootfs",
 51 .offset = 0x160000,
 52 .size = 0x690000,
 53 }, {
 54 .name = "art",
 55 .offset = 0x7f0000,
 56 .size = 0x010000,
 57 .mask_flags = MTD_WRITEABLE,
 58 }, {
 59 .name = "firmware",
 60 .offset = 0x020000,
 61 .size = 0x7d0000,
 62 }
 63 };

16M::
 41 .name = "u-boot",
 42 .offset = 0,
 43 .size = 0x020000,
 44 .mask_flags = MTD_WRITEABLE,
 45 }, {
 46 .name = "kernel",
 47 .offset = 0x020000,
 48 .size = 0x140000,
 49 }, {
 50 .name = "rootfs",
 51 .offset = 0x160000,
 52 .size = 0xe90000,
 53 }, {
 54 .name = "art",
 55 .offset = 0xff0000,
 56 .size = 0x010000,
 57 .mask_flags = MTD_WRITEABLE,
 58 }, {
 59 .name = "firmware",
 60 .offset = 0x020000,
 61 .size = 0xfd0000,
 62 }
 63 };

8M::
 0x000000000000-0x000000020000 : "u-boot"
 0x000000020000-0x000000160000 : "kernel"
 0x000000160000-0x0000007f0000 : "rootfs"
 0x000000620000-0x0000007f0000 : "rootfs_data"
 0x0000007f0000-0x000000800000 : "art"
 0x000000020000-0x0000007f0000 : "firmware"

4M::
 0x000000000000-0x000000020000 : "u-boot"
 0x000000020000-0x000000160000 : "kernel"
 0x000000160000-0x0000003f0000 : "rootfs"
 0x000000304000-0x0000003f0000 : "rootfs_data"
 0x0000003f0000-0x000000400000 : "art"
 0x000000020000-0x0000003f0000 : "firmware"

16M::
 0x000000000000-0x000000020000 : "u-boot"
 0x000000020000-0x000000160000 : "kernel"
 0x000000160000-0x000000ff0000 : "rootfs"
 0x000000380000-0x000000ff0000 : "rootfs_data"
 0x000000ff0000-0x000001000000 : "art"
 0x000000020000-0x000000ff0000 : "firmware"

所有恢復後再 ./scripts/feeds update -a 安裝最新源碼 ./scripts/feeds install -a
更新版本號 svn up
進入編譯組件包菜單 make menuconfig
 開始編譯 make V=99
相關文章
相關標籤/搜索