码迷,mamicode.com
首页 > 系统相关 > 详细

嵌入式学习笔记200-Linux kernel初体验

时间:2015-05-24 11:40:22      阅读:347      评论:0      收藏:0      [点我收藏+]

标签:linux-kernel   linux移植   tq2440   

  1. 本实验采用linux-2.6.30.4 version测试,交叉编译为4.3.3,相关源码可以自行下载或到本博客查看是否有,在自己环境下尝试编译kernel通过确保环境ok为后续的移植做好准备。
  2. 对下载的linux-2.6.30.4.tar.bz2进行解压到自己指定位置 tar jxvf linux-2.6.30.4.tar.bz2 -C your_path
  3. 修改编译工具及架构: 进入kernel根目录 cd linux-2.6.30.4 修改makefile,大概在193行将ARCH ?= (SUBARCH) 改成 ARCH = arm, 将194行的CROSS_COMPILE ?= 改成 CROSS_COMPILE = /XX/XX/4.3.3/bin/arm-linux-
  4. 基本工作完成可以开始尝试编译处镜像文件了,在根目录下执行 make menuconfig进行kernel的配置,不过却出现了如下提示:
    vedic@vedic-VirtualBox:~/samba/linux-2.6.30.4$ make menuconfig
    Unable to find the ncurses libraries or the required header files.
    ‘make menuconfig’ requires the ncurses libraries.

    Install ncurses (ncurses-devel) and try again.

make[1]: [scripts/kconfig/dochecklxdialog] 错误 1
make: [menuconfig] 错误 2
vedic@vedic-VirtualBox:~/samba/linux-2.6.30.4$
提示需要ncurses libraries 在终端执行 sudo apt-get install ncurses-dev,不过又出现另外报错:
【警告】:下列软件包不能通过验证!
libtinfo-dev libncurses5-dev
不经验证就安装这些软件包吗?[y/N] Y
错误 http://hk.archive.ubuntu.com/ubuntu/ precise/main libtinfo-dev i386 5.9-4
解析“hk.archive.ubuntu.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址)
错误 http://hk.archive.ubuntu.com/ubuntu/ precise/main libncurses5-dev i386 5.9-4
解析“hk.archive.ubuntu.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址)
无法下载 http://hk.archive.ubuntu.com/ubuntu/pool/main/n/ncurses/libtinfo-dev_5.9-4_i386.deb 解析“hk.archive.ubuntu.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址)
无法下载 http://hk.archive.ubuntu.com/ubuntu/pool/main/n/ncurses/libncurses5-dev_5.9-4_i386.deb 解析“hk.archive.ubuntu.com:http”时,出现了某些故障(-5 - 没有与主机名关联的地址)
E: 有几个软件包无法下载,您可以运行 apt-get update 或者加上 –fix-missing 的选项再试试?
最后发现是ubuntu无法联网…………………….
在VBox将桥接改成NAT就可以了,然后再改为桥接以便本机的win7可以访问,毕竟用的是samba实现win7和ubuntu互联的。不过Vbox之前是配置两个网卡的一个配置桥接一个配置NAT就可以了,不过不知道我的VBox怎么不能设置第二块网卡了………………
make menuconfig 后会出现如下画面:
技术分享

这里我们只是验证kernel是否可以编译过去,所以采用kernel已配置好的config,将光标移至最下的倒数第二有个“Load an Alternate Configuration File”,按回车键进入输入框,输入地址为 “/arch/arm/s3c2410_defconfig”,期间如果输入错误要 ctrl+backspace来删除,如果直接退出最后点击”YES”的话只是保存到之前load的file里,应该是在首页将光标移至最下的“Save an Alternate Configuration File” 直接保存为“.config”,会在根目录下生成.config配置文件,以后make menuconfig会直接导入这个配置文件,导入后对menuconfig的更改会直接保存到这个.config,所以如果希望这个.config是个蓝本不想被修改可以导入后最后不要直接退出点击“YES”,而是选择 “Save an Alternate Configuration File“ ,不过推荐的做法是直接在根目录下备份.config cp .config .config.bak
5. 保存配置退出后直接 make all 即可
接着会进行一系列的编译,大概需要7,8分钟,这取决你电脑的配置了,
最后会在arch/arm/boot/下生成zImage
至此,Linux kernel所需的环境是ok的,为接下来的porting做好了准备

嵌入式学习笔记200-Linux kernel初体验

标签:linux-kernel   linux移植   tq2440   

原文地址:http://blog.csdn.net/fzk374470412/article/details/45950005

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!