(一)编译内核

1、修改Makefile

book@ubuntu:~$ cd linux-3.5/
diff -urN linux-3.5/Makefile linux-3.5_s3c2440/Makefile
--- linux-3.5/Makefile  2012-07-22 04:58:29.000000000 +0800
+++ linux-3.5_s3c2440/Makefile  2018-06-18 15:26:04.857250091 +0800
@@ -192,8 +192,8 @@# Default value for CROSS_COMPILE is not to prefix executables# Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefileexport KBUILD_BUILDHOST := $(SUBARCH)
-ARCH       ?= $(SUBARCH)
-CROSS_COMPILE  ?= $(CONFIG_CROSS_COMPILE:"%"=%)
+ARCH       ?= arm
+CROSS_COMPILE  ?= arm-linux-# Architecture as present in compile.hUTS_MACHINE    := $(ARCH)

2、查看默认配置文件

book@ubuntu:~/linux-3.5$ ls -l arch/arm/configs | grep "s3c*"
-rw-rw-r-- 1 david david  1829 7月  22  2012 cns3420vb_defconfig
-rw-rw-r-- 1 david david 11286 7月  22  2012 s3c2410_defconfig
-rw-rw-r-- 1 david david  2134 7月  22  2012 s3c6400_defconfig
book@ubuntu:~/linux-3.5$ cp arch/arm/configs/s3c2410_defconfig arch/arm/configs/s3c2440_defconfig

3、尝试编译内核

book@ubuntu:~/linux-3.5$ make s3c2440_defconfig
book@ubuntu:~/linux-3.5$ make uImage
...
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
/work/s3c2440/source/linux-3.5_s3c2440/kernel/Makefile:133: recipe for target 'kernel/timeconst.h' failed
make[1]: *** [kernel/timeconst.h] Error 255
Makefile:775: recipe for target 'kernel' failed
make: *** [kernel] Error 2

4、修改kernel/timeconst.pl

diff -urN linux-3.5/kernel/timeconst.pl linux-3.5_s3c2440/kernel/timeconst.pl
--- linux-3.5/kernel/timeconst.pl   2012-07-22 04:58:29.000000000 +0800
+++ linux-3.5_s3c2440/kernel/timeconst.pl   2018-06-18 15:43:05.479306091 +0800
@@ -370,7 +370,7 @@}@val = @{$canned_values{$hz}};
-   if (!defined(@val)) {+   if (!@val) {@val = compute_values($hz);}output($hz, @val);

5、再次编译内核

book@ubuntu:~/linux-3.5$ make uImage
...
"mkimage" command not found - U-Boot images will not be built
/work/s3c2440/source/linux-3.5_s3c2440/arch/arm/boot/Makefile:89: recipe for target 'arch/arm/boot/uImage' failed
make[1]: *** [arch/arm/boot/uImage] Error 1
/work/s3c2440/source/linux-3.5_s3c2440/arch/arm/Makefile:277: recipe for target 'uImage' failed
make: *** [uImage] Error 2
book@ubuntu:~/linux-3.5$ sudo apt-get install u-boot-tools
book@ubuntu:~/linux-3.5$ sudo apt-get install uboot-mkimage
book@ubuntu:~/linux-3.5$ make uImage

6、尝试用新内核启动

book@ubuntu:~/linux-3.5$ sudo gedit /etc/exports
增加一行/work/s3c2440/nfs/ *(rw,sync,no_subtree_check,no_root_squash)
book@ubuntu:~/linux-3.5$ sudo service nfs-kernel-server restart


Nand中MTD分区表


启动内核失败,下一节我们开始修改mtd分区

一、【s3c2440移植linux-3.5】移植准备相关推荐

  1. ARM平板电脑移植Linux,iperf ARM移植

    iperf交叉编译: 1.PATH中有arm-linux相关工具 2.$ ./configure --host=arm-linux #define HAVE_MALLOC 0           改为 ...

  2. 【移植Linux 3.4.2内核第一步】之简单修改

    前一阵子已经将U-boot移植好了,从今天开始,我们开始移植linux内核.移植的内核为3.4.2,移植的开发板为:jz2440开发板. 想看之前移植U-boot的记录,可以查看我的博客专栏,点击链接 ...

  3. Linux内核移植漫谈——你不是第一个想移植Linux内核的人

    Jack:在读大学的时候我想过移植Linux操作系统. 我:现在呢? Jack:我还是想移植Linux操作系统.你教我移植吧. 我:你知道什么是"Linux内核移植"吗? Jack ...

  4. S3C2440实现dm9000网卡驱动程序移植

    20150419 S3C2440实现dm9000网卡驱动程序移植 2015-04-19 Lover雪儿 首先附上厂家提供的完整的dm9000程序: 1 /* 2 3 dm9ks.c: Version ...

  5. linux内核移植开发板,mini2440学习之(一)-------移植linux内核

    请 登录 后使用快捷导航 没有帐号?注册 阅 4622|回 2 最后登录2013-8-22 在线时间22 小时 威望2878分 芯积分608分(兑换) E金币好友 发表于2009-9-22 15:02 ...

  6. linux i2c 内核初始io,linux I2C驱动移植

    linux I2C驱动移植 I²C总线仅使用SCL,SDA两根信号线实现设备间的数据交互,被广泛应用于微控制领域芯片与芯片之间的通信,如EEPROM,实时时钟,小型LCD等与CPU之间的通信. I2C ...

  7. 二十一、Linux驱动之移植DM9000C网卡驱动(下)

    通过二十.Linux驱动之移植DM9000C网卡驱动(上)对厂家提供的网卡驱动程序dm9dev9000c.c的分析,下面将该网卡驱动移植到JZ2440开发板上(内核版本为linux-2.6.22.6) ...

  8. 挑战 Linux 之父认为的“不可能”:向 M1 Mac 移植 Linux

    整理 | 郑丽媛 头图 | CSDN下载自东方 IC 上个月苹果发布会推出的首款自研芯片 M1 ,不仅吸引了国内外评测技术网站对其性能的关注,更是在开发者的圈子内引起了轩然大波--换芯导致的生态迁移问 ...

  9. 【转】将 Linux 应用程序移植到 64 位系统上

    原文网址:http://www.ibm.com/developerworks/cn/linux/l-port64.html 随着 64 位体系结构的普及,针对 64 位系统准备好您的 Linux® 软 ...

  10. jquery程序 windows移植到linux显示不了,windows程序移植linux

    1,路径名统一用正斜杠"/".(windows下正反斜杠都识别,linux只认正斜杠.) 2,统一使用UTF-8格式编码. vim中无法保存汉字时,可输入下列命令: :set fi ...

最新文章

  1. 你是否真的了解全局解析锁(GIL)
  2. Qt::WindowModal和Qt::ApplicationModal的区别
  3. 牛客网【每日一题】4月16日题目精讲 逆序对
  4. 如何判断2服务器性能好或坏_无服务器革命:好,坏和丑
  5. 关于如何提高代码可测试性的一些看法
  6. 网络工程师应该掌握的知识要点 (共45个)
  7. 制作Windows官方系统启动盘
  8. programData
  9. 程序员去国企面试,跟领导谈完技术感叹:给再多的工资也不考虑
  10. 虚拟环境下安装mysqlclient
  11. 苹果iPhone5 16G长沙九方现货售8199元
  12. Xilinx FPGA clk_wiz IP使用
  13. 什么是python大数据研发,它有什么特点吗
  14. 在centos6.8中修改用户名和用户组名
  15. 360重磅开源性能监控平台ArgusAPM
  16. 【大学物理·静止电荷的电场】静电场的高斯定理
  17. (不带头结点的)单链表增删查改,逆置单链表(两种方法),求两个单链表的第一个公共结点,合并两个单链表,单循环链表中判断第一个入环点,约瑟夫环
  18. 增强现实系统的三大关键技术
  19. 综合交易平台交易终端及用户手册
  20. win10+Ubuntu17.04+EFI启动

热门文章

  1. 游戏开发设计模式:单例模式
  2. 分享四个体验不错的云游戏平台—网易云游戏、腾讯云游戏、菜鸡云游戏、格莱云游戏
  3. 解决sudo update-initramfs -u 时报错
  4. [转帖]改变无数人人生的32句实话[ChaseDream论坛]
  5. 3DS动物之森(animal acrossing)游戏记录
  6. 荣耀linux改装win10教程,华为笔记本linux改win10教程|华为笔记本重装win10
  7. js处理移动端有虚拟按键影响页面布局的处理方法
  8. 这款吊打Chrome、Edge的浏览器,时隔573天再度更新
  9. Kronecker积
  10. Linux系统内核优化