bootloader---26.tftp下载内核并启动内核

原创 2016年08月30日 11:15:36
TQ2440 + uboot1.1.6
1. uboot修改 
1.1 common/main.c 

  1. 在函数 main_loop大约513行:
  2.     char cmd_buf[200];
  3.     printf("Booting Linux ...\n");
  4.     //boot_zImage(0x200000,0x200000);                            //注释boot_zImage        
  5.     strcpy(cmd_buf, "tftp 0x30008000 zImage; boot_zImage");      //tftp内核到内存的0x30008000,然后启动zImage;   
  6.     run_command(cmd_buf, 0);                                     //这儿只不过是由以前的从nandflash取数据改变为从nand flash取数据
1.2 lib_arm/boot_zImage.c
  1. 151 int boot_zImage(ulong from, size_t size)
  2. 152 {
  3. 162      /*printk("Copy linux kernel from 0x%08lx to 0x%08lx, size = 0x%08lx ... ", from, to, size); //注掉从nand_flash中拷kernel部分,当然这儿也可以自己添加新的命令
  4. 163          ret = copy_kernel_img(to, (char *)from, size);
  5. 164          if (ret) {
  6. 165             printk("failed\n");
  7. 166             return -1;
  8. 167         } else {
  9. 168             printk("Copy Kernel to SDRAM done,");
  10. 169      }*/
  11. 177 }
重新编译后,将uboot烧到nand flash中 

2.  ubuntu中tftp的安装
 a. root@ubuntu:~# apt-get install tftpd tftp openbsd-inetd ;安装
  1. b. root@ubuntu:~# vi im /etc/inetd.conf ;配置tftp文件路径
  2.             tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tmp
  3. c. root@ubuntu:~# chmod 777 /tmp
  4. d. root@ubuntu:~# /etc/init.d/openbsd-inetd restart ;重启服务,使配置生效
  5.    root@ubuntu:~# netstat -an | grep 69 ;查看69端口是否打开
  6.    root@ubuntu:~# tftp 192.168.1.;tftp 本机ip测试一下
  7.    tftp> get test.txt
  8. 注意: /root不可以作为tftp根目录,设置tftproot为:/tmp
3. 修改内核Makefile
  1.  arch/arm/boot/Makefile中
  2.  56 $(obj)/zImage: $(obj)/compressed/vmlinux FORCE
  3.  57 $(call if_changed,objcopy)
  4.  58 cp -arf arch/arm/boot/zImage /tmp/zImage 
  5.  59 @echo ' Kernel: $@ is ready
将新生成的zImage拷贝到 /tmp中
版权声明:本文为博主原创文章,转载请注明出处。 举报

相关文章推荐

mini2440 -- TFTP方式下载内核镜像(uImage)--开发用

#仅适用于友善提供的Mini2440开发板内核源码!!! 1.修改内核根目录Makefile(友善已修改): #ARCH ?= $(SUBARCH) ARCH ?= arm CROSS...

mini2440 -- TFTP方式下载内核镜像(uImage)--发布用

#仅适用于友善提供的Mini2440开发板内核源码!!! 1.修改内核根目录Makefile(友善已修改): #ARCH ?= $(SUBARCH) ARCH ?= arm CROSS...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

OK6410之tftp下载内核,nfs挂载文件系统全过程详解

首先是tftp下载内核吧。网上也都说了,ok6410的uboot里面可恶的网卡驱动是cs8900的,而实际网卡是dm9000的,所以导致进入uboot后就没有办法用tftp来下载内核了。不过有人已经实...

Linux内核启动过程和Bootloader(总述)

1.Linux内核启动过程概述     一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader),Linux 内核,文件系统,应用程序。其中 Bootloade...

11、Linux内核启动过程和Bootloader(总述)

1.Linux内核启动过程概述    一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader),Linux 内核,文件系统,应用程序。其中 Bootloader...

和菜鸟一起学OK6410之tftp下载内核,nfs挂载文件系统全过程详解

人有悲欢离合,月有阴晴圆缺。少不了离愁别绪,人生就是这样,喜也一天,悲也一天,直待,慢慢老去。老去,必将面临着死亡。终于工作了,终于赚钱了,那么多的终于,也抵不过岁月的流逝,抵不过老去的容颜。外公,一...

mini2440 -- TFTP方式下载内核镜像(zImage)--开发用

#仅适用于友善提供的Mini2440开发板内核源码!!! 1.修改内核根目录Makefile(友善已修改): #ARCH ?= $(SUBARCH) ARCH ?= arm CROSS_COMPI...

tiny6410内核下载(tftp)

1.首先利用光盘上带的SD-Flasher.exe将superboot烧写到SD卡中,然后设为SD卡启动模式 连接好电源线,数据线,串口线,打开串口,打开开发板电源开关,可以看到如下内容 说明SD...
  • gfbgl
  • gfbgl
  • 2013-11-18 17:14
  • 1752

mini2440 -- TFTP方式下载内核镜像(zImage)--发布用

#仅适用于友善提供的Mini2440开发板内核源码!!! 1.修改内核根目录Makefile(友善已修改): #ARCH ?= $(SUBARCH) ARCH ?= arm CROSS_COMPI...

WinCE Bootloader的烧写与内核影像下载

WinCE操作系统和其他OS不同,它具有两级Bootloader来引导内核镜像(Nboot和Eboot)。在Bootloader阶段,比起其他系统Bootloader来讲要复杂。         N...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)