韦东山Linux嵌入式课程社区
直播中

王鹏

7年用户 1270经验值
私信 关注

第三期项目实践中内核怎么精简到2M一下

实验设备:JZ2440uboot用的是韦老师一直的最新那个uboot
内核是打完补丁后的3.4内核


在做最后一个视频监控项目中,按照PDF文档的要求V4L2相关内核配置有一些要配置,然后内核怎么裁剪也会大于2M,于是后来想修改分区,现在修改分区与到如下问题,希望朋友们和老师能够给予指导

1,setenv mtdparts mtdparts=nandflash0:256k@0(bootloader),128k(params),4m(kernel),-(root),其中2m改为4m,然后save,重启之后mtdparts发现kernerl分区仍然是2M
2,修改内核代/linux-3.4.2/arch/ARM/mach-s3c24xx文件中的common-smdk。c,,static struct mtd_partition smdk_default_nand_part[] = {
        [0] = {
                .name        = "bootloader",
                .size        = SZ_256K,
                .offset        = 0,
        },
        [1] = {
                .name        = "params",
                .offset = MTDPART_OFS_APPEND,
                .size        = SZ_128K,
        },
        [2] = {
                .name        = "kernel",
                .offset = MTDPART_OFS_APPEND,
                .size        = SZ_4M,
        },

kernel也改为4M
但是现在使用uboot无论使用nfs的方式还是tftp的方式都无法通过网卡下载到开发板指定的nand分区,因为我们实验室的ip是动态的,每次电脑开机的IP都不一样,我的电脑和开发板连在一个集线器上,每次开机他们的ip都会变化,
那么每次开机都要执行set ipaddr 192.168.1.17
set ethaddr 00:0c:29:4d:e4:f4这样的命令么,请问怎么在修改kernel空间为4M以后直接让uboot能够启动kernel

回帖(1)

李俊一

2019-3-7 14:33:08
设置PC为静态IP,下载方式和之前一样
毕业班
1. 下载文件系统到内存,擦除root分区 烧写文件系统到root
2. 下载kernel到内存,bootm SDRAM_ADDR  // SDRAM_ADDR 是下载内核的下载地址
或直接将kernel烧到kernel分区,

具体参考 学前班和第0课 笔记 和 毕业班移植最新uboot和移植最新kernel.txt
举报

更多回帖

发帖
×
20
完善资料,
赚取积分