资源描述:
《linux内核启动过程移植uboot和linux内核》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、移植UbootLinux整理 由于按照NFS不小心,Ubuntu罢工,不得以,自己重新把移植uboot和linux工作重新做一次,权当复习. 自己移植的是Uboot-1.2.0和linux-2.6.14.1到恒丰锐科(hfrk)2410的板子.用busybox-1.2.0和cramfs-1.1制作camfs. 该板子没有nor,只要64M的nand. 1.==============uboot按照编译器===================== sudotar-jxvfarm-linux
2、-gcc-3.3.2.tar.bz2-C/ //foruboothavehardfloat. 2.=========uboot1.2.0移植======================= 见附件ubootclay2010Feb05.patch. 以下是移植说明. 修改根目录的Makefile的crosscompiler CROSS_COMPILE?=/usr/local/arm/3.3.2/bin/arm-linux- 修改/home/clay/u-boot-1.2.0/cpu/ar
3、m920t/config.mk见7(13) 屏蔽"-msoft-float"不要浮点,也可以自己编译带软件浮点的编译器. makedistclean //清除上一次的配置 makesmdk2410_config//选用2410默认配置 make//编译,在去掉浮点后,能编译通过 修改 /home/clay/u-boot-1.2.0/board/smdk2410/lowlevel_init.S//2410DDR时序配置 /home/clay/u-boot-1.2.0/cpu/arm9
4、20t/start.S//添加copyuboot到ddr的代码,注意copy的页面数量要比编译出来的uboot.bin大 /home/clay/u-boot-1.2.0/include/configs/smdk2410.h//修改nandboot的配置,nand命令,uboot启动kernel命令,传递给kernel的参数,串口波特率等等 fornandcmd&loadCONFIG_BOOTARGSCONFIG_BOOTCOMMAND /home/clay/u-boot-1.2.0/incl
5、ude/linux/mtd/nand_ids.h//添加nand_flash_idsnandflashid /home/clay/u-boot-1.2.0/lib_arm/board.c//可以添加一些打印信息,可以不添加 /home/clay/u-boot-1.2.0/common/cmd_boot.c//uboot的go没有带CUP的id参数,所以添加,见7(9) /home/clay/u-boot-1.2.0/drivers/nand/nand.c//fornand的操作用到的具体的读
6、写见7(12) 重新编译,可以进入到uboot的命令界面 3.======================ubuntutftp======================= $sudoapt-getinstallxinetdtftpdtftp 失败,vsftp也不能tftp访问,见7(11) 以下是成功的方法 sudoapt-getinstalltftpd-hpatftp-hpa sudoupdate-rc.d-ftftpd-hparemove clay@pan:/home$sud
7、omkdirtftp clay@pan:/home$sudochmod777-Rtftp/ clay@pan:/home$sudochown-Rnobodytftp/ sudoapt-getinstallxinetd sudogedit/etc/xinetd.d/tftp 添加以下 server=/usr/sbin/in.tftpd #server_args=/home/tftp disable=no server_args=-s/home/tftpd-p-c-U077-utft
8、pd#//表示tftp操作目录在/home/tftpd上 log_on_success=PIDHOSTDURATION log_on_failure=HOST } sudogedit/etc/inetd.conf屏蔽以下语句 #tftpdgramudpwaitroot/usr/sbin/in.tftpd/usr/sbin/in.tftpd-s/var/lib/tftpboot 如果tftp不能工作,执行/etc/init.d/xinetdrestart即可 到这里,在