colin第0课嵌入式笔记

2013年7月5号
6. 内核打补丁、建source insight工程、编译、烧写
首先通过cuteftp把linux-2.6.22.6_jz2440.patch拷贝到/work/system目录下
book@book-desktop:/work/system$ tar xjf linux-2.6.22.6.tar.bz2
book@book-desktop:/work/system$ cd linux-2.6.22.6/
book@book-desktop:/work/system/linux-2.6.22.6$ patch -p1 < ../linux-2.6.22.6_jz2440.patch
book@book-desktop:/work/system/linux-2.6.22.6$ cp config_ok  .config
book@book-desktop:/work/system/linux-2.6.22.6$ make uImage
book@book-desktop:/work/system/linux-2.6.22.6$ make clean
book@book-desktop:/work/system/linux-2.6.22.6$ cd ..
book@book-desktop:/work/system$ tar cjf linux-2.6.22.6_jz2440.tar.bz2 linux-2.6.22.6

book@book-desktop:/work/system$ cd linux-2.6.22.6/
book@book-desktop:/work/system/linux-2.6.22.6$ cp config_ok  .config
book@book-desktop:/work/system/linux-2.6.22.6$ make uImage

/work/system/linux-2.6.22.6/arch/boot里面的uImage就可以用UBOOT烧写到开发板了
总结一下:.config是隐藏文件,可以用ls -al 看到
 上面的整个流程是,解压内核文件,然后用补丁文件打补丁,然后用把打好补丁的内核文件打包通过cuteftp发送到主机
 下面是编译内核
 
2013年7月6号
今天遇到一个奇怪的问题,当正在连接搜索网络ip的时候,本地ip没有,这时虚拟机和主机不在同一个网段,始终ping不通.
如果没有插网线,ipconfig提示本地ip为Media state就会出现上面的情况。解决办法,先设置自动获取IP,重新插好网线,更改IP就行了
ipconfig /release
ipconfig /renew
参考:http://blog.csdn.net/lushuaiyin/article/details/7480047

7. 制作、烧写根文件系统,使用NFS,编译使用驱动程序
7.1 仅用flash上的根文件系统启动后,手工MOUNT NFS
mount -t nfs -o nolock,vers=2 192.168.1.19:/work/nfs_root /mnt

7.2 使用NFS作为根文件系统来启动

set bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.19:/work/nfs_root/tmp/fs_mini_mdev ip=192.168.1.17:192.168.1.19:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0

nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>


自己总结过程:
book@book-desktop:/work/nfs_root$ mkdir tmp
book@book-desktop:/work/nfs_root$ cp fs_mini_mdev.tar.bz2  tmp/
book@book-desktop:/work/nfs_root$ cd tmp/
//这里解压不成功
book@book-desktop:/work/nfs_root/tmp$ tar xjf fs_mini_mdev.tar.bz2
book@book-desktop:/work/nfs_root/tmp$ rm -rf fs_mini_mdev

book@book-desktop:/work/nfs_root/tmp$ sudo tar xjf fs_mini_mdev.tar.bz2

book@book-desktop:/work/tools$ sudo cp mkyaffs2image /bin/
book@book-desktop:/work/tools$ sudo chmod +x /bin/mkyaffs2image
book@book-desktop:/work/tools$ cd /work/nfs_root/tmp/

book@book-desktop:/work/nfs_root/tmp$ mkyaffs2image fs_mini_mdev fs.yaffs2
book@book-desktop:/work/nfs_root/tmp$ ls
fs_mini_mdev  fs_mini_mdev.tar.bz2  fs.yaffs2

先设uboot里的
set ipaddr 192.168.1.17
set serverip 192.168.1.4

OpenJTAG> nfs 30000000 192.168.1.51:/work/nfs_root/tmp/fs.yaffs2
dm9000 i/o: 0x20000000, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 08:00:3e:26:0a:5b
could not establish link
File transfer via NFS from server 192.168.1.51; our IP address is 192.168.1.17
Filename '/work/nfs_root/tmp/fs.yaffs2'.
Load address: 0x30000000
Loading: ####################

OpenJTAG> nand erase root
OpenJTAG> nand write.yaffs 30000000 260000 $(filesize)


使用flash上的根文件系统启动后,手工MOUNT NFS
# mount -t nfs -o nolock,vers=2 192.168.1.51:work/nfs_root /mnt
mount: 192.168.1.51:work/nfs_root failed, reason given by server: Permission denied
这里我改了set serverip 192.168.1.51就好了,然后我重启了下,好像不需要更改的

 

使用NFS作为根文件系统来启动
首先重启系统,进入UBOOT里面,搜索\linux-2.6.22.6_jz2440\linux-2.6.22.6\Documentation里面的nfs.txt里面会教你怎么做
set bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.51:/work/nfs_root/tmp/fs_mini_mdev ip=192.168.1.17:192.168.1.51:192.168.1.1:255.255.255.0::eth3:off init=/linuxrc console=ttySAC0
nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>]
ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>

set bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
c 环境配置 colin 主要包括三个步骤:安装编译器、配置环境变量和测试编译器。 首先,安装编译器。在安装 c 环境之前,我们需要先下载对应的编译器软件。常用的 c 编译器有 gcc、clang、MSVC 等。根据个人需求选择适合自己的编译器,并下载对应的安装包。然后,按照安装向导进行安装即可。安装完成后,我们就拥有了一个可用的 c 编译器。 接下来,配置环境变量。环境变量的配置可以使得我们在任意目录下都能够直接使用 c 编译器。首先,找到我们安装的编译器安装目录。然后,将该目录添加到系统的环境变量中。具体的配置步骤可以根据操作系统的不同而有所差异,但一般都是在控制面板或者系统设置中找到“环境变量”选项,然后添加编译器安装目录到系统的“PATH”变量中。配置完成后,我们就可以在任意目录下打开命令行终端,输入编译器命令来编译和运行 c 程序。 最后,测试编译器。经过以上两个步骤的配置,我们就可以测试我们的 c 编译器是否正常工作了。在任意目录下新建一个文本文件,将其后缀改为“.c”,比如“test.c”。然后,用任意文本编辑器打开该文件,输入一段简单的 c 代码,比如“#include <stdio.h> int main(){ printf("Hello, world!"); return 0; }”。保存文件后,回到命令行终端,进入该文件所在的目录,输入编译命令,如“gcc test.c -o test”,然后按回车键进行编译。如果没有出现错误信息,说明我们的 c 编译器已经成功配置。 综上所述,通过安装编译器、配置环境变量和测试编译器三个步骤,我们可以完成 c 环境的配置,从而能够顺利编译和运行 c 程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值