在XP下做Linux嵌入式系统移植 AT91SAM9260
刚做好的linux2.6.33内核的配置,写点东西记录一下。
因为我的PC物理机是XP系统,里面装了Ubuntu 10.10的虚拟机,本想在虚拟机下面做移植,虚拟机很悲剧地ping不通主机,也ping不通目标板,所以只能在XP下面做。
注意:RAM盘是通过使用软件将RAM模拟当做硬盘来使用的一种技术。相对于传统的硬盘文件访问来说,这种技术可以极大的提高在其上进行的文件访问的速度。但是RAM的易失性也意味着当关闭电源后的数据将会丢失。某些时候这不是问题,比如说对于一个加密文档的明文来说。但是在大多数情况下,传递到RAM盘上的数据都是其他在别处有永久性存贮文件的一个拷贝,当系统重启后可以重新建立。
1)下载linux到系统的SDRAM运行(仅做测试之用,断电或退出后就会消失)
1>运行Uboot,设置环境变量
Uboot>setenv bootargs root=/dev/ram rw initrd=0x20400000,6000000 ramdisk_size=15360
console=ttyS0,115200,mem=64M 启动系统环境变量
Uboot>setenv ethaddr 12:34:56:78:99:aa mac 地址
Uboot>setenv ipaddr [目标板 ip 地址] 目标板 ip 地址
Uboot>setenv serverip [主机 ip 地址] 主机 ip 地址
2>下载linux内核,文件系统
打开tftpserver应用程序,设置根目录路径,将内核、文件系统等拷贝到所设置的根目录下。
Uboot>tftp 20400000 ramdisk 下载文件系统
Uboot>tftp 21400000 uImage 下载 linux 内核
Uboot>bootm 21400000 启动 linux
然后linux操作系统就开始运行。
2)烧写 Linux 到系统的 Flash 运行
1>设置运行Linux的环境变量
Uboot> setenv bootargs root=/dev/ram rw initrd=0x20400000,6000000 ramdisk_size=15360 console=ttyS0,115200,mem=64M 启动系统环境变量
Uboot>setenv image cp.b 10020000 21400000 b0000 拷贝内核到sdram
Uboot>setenv ramdisk cp.b 100d0000 20400000 226000 拷贝文件系统到sdram
Uboot>setenv boot bootm 设置变量boot
Uboot>setenv bootcmd run ramdisk\;run image\;run boot 设置默认变量bootcmd
Uboot>setenv ethaddr 12:34:56:78:99:aa mac 地址
Uboot>setenv ipaddr 目标板 ip 地址 目标板 ip 地址,由你自己决定
Uboot>setenv serverip 主机ip地址 主机ip地址,就是你的PC的ip
Uboot>saveenv 保存环境变量
2>烧写Linux内核到Flash
Uboot>tftp 20400000 ramdisk
Uboot>cp.b 20400000 100d0000 226000
Uboot>tftp 21400000 uImage
Uboot>cp.b 21400000 10020000 b0000
reset之linux操作系统就开始运行。