当前位置: 首页 > news >正文

怎么提高网站收录量云南网站seo外包

怎么提高网站收录量,云南网站seo外包,移动应用与开发是干什么的,外贸网站免费模板Linux内核移植与启动 Target borad#xff1a;FL2440 Bootloader#xff1a;U-boot-2010.09 交叉编译器#xff1a;buildroot-2012.08 1.linux内核基础知识 首先#xff0c;磨刀不误砍柴工。在动手进行linux内核移植之前#xff0c;我们有必要对linux内核进行一定的了解。…Linux内核移植与启动   Target boradFL2440   BootloaderU-boot-2010.09 交叉编译器buildroot-2012.08     1.linux内核基础知识 首先磨刀不误砍柴工。在动手进行linux内核移植之前我们有必要对linux内核进行一定的了解。 1.1 Linux内核启动过程概述 一个嵌入式Linux系统从软件角度看可以分为四个部分:  引导加载程序BootloaderLinux内核文件系统应用程序。   其中Bootloader是系统启动或复位以后执行的第一段代码它主要用来初始化处理器及外设然后调用Linux内核linux内核在完成系统的初始化之后需要挂载某个文件系统作为根文件系统rootfs根文件系统是linux系统的核心组成部分也是内核启动时首先要挂载的就是根文件系统。它可以作为linux系统中文件和数据的存储区域通常它还包括系统配置文件和运行应用程序需要的库保证了人和内核的信息交互。应用程序则是嵌入式系统所要达到的目标一切的准备都是为了实现程序。若是没有应用程序硬件上再精良嵌入式系统都没有实用意义。  Bootloader在嵌入式操作系统中BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图从而将系统的软硬件环境带到一个合适状态以便为最终调用操作系统内核准备好正确的环境。Bootloader在它完成CPU和相关硬件的初始化之后再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间启动操作系统运行。它最根本的功能就是为了启动linux内核. 为了启动内核Bootloader要依次完成 初始化RAM—初始化串口—检测处理器类型—设置Linux启动参数bootargs—调用Linux内核镜像。   文件系统Linux文件系统中的文件是数据的集合文件系统不仅包含着文件中的数据而且还有文件系统的结构所有Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。 1.2 编译环境交叉编译器的制作 交叉编译器本节不过多介绍。但我们必须知道若要实现人虚拟机开发板之间的信息传递就必须首先制作交叉编译器来帮助我们编译。在做好交叉编译器准备好编译环境之后我们就可以开始进行纯内核移植了。在此使用的交叉编译器为buildroot-2012.08 2.Linux内核移植与启动   2.1下载并解压缩linux-3.0.tar.bz2 源代码 首先到 Linux Kernel 官方网站www.kernel.org下载得到 linux-3.0-rc4.tar.bz2 文件把它放到一个你有权限读写的文件夹运行下面命令解压缩并进入解压后的文件夹 $ tar -xjf linux-3.0.tar.bz2 $ cd linux-3.0     2.2配置内核编译参数   1. 首先修改顶层目录的Makefile文件  $ vim  Makefile  这里首要便是交叉编译器环境变量和选择开发平台类型 然后要将生成的zimage拷贝到当前目录再手动增加mkimage工具来自动把Zimage生成可执行的.bin文。 注内核编译之后会生成两个文件。一个Image一个Zimage。image为内核映像文件而Zimage为内核映像压缩文件。Image大约为4M而Zimage不到2M。    -192,8 192,8   # Default value for CROSS_COMPILE is not to prefix executables  # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile  export KBUILD_BUILDHOST : $(SUBARCH) - ARCH       ? $(SUBARCH) - CROSS_COMPILE  ? $(CONFIG_CROSS_COMPILE:%%) ARCH       ? arm CROSS_COMPILE? /opt/buildroot-2012.08.packet/buildroot-2012.08/arm920t/usr/bin/arm-linux-    # Architecture as present in compile.h  UTS_MACHINE    : $(ARCH)  -557,6 557,9   # This allow a user to issue only make to build a kernel including modules  # Defaults to vmlinux, but the arch makefile usually adds further targets  all: vmlinux   cp arch/arm/boot/zImage . -f  mkimage -A arm -O linux -T kernel -C none -a 30008040 -n Linux Kernel -d zImage \ linuxrom-s3c2440.bin    rm -f zImage     ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE  KBUILD_CFLAGS   -Os  -1201,6 1204,7          -o -name .*.rej -o -size 0 \         -o -name *% -o -name .*.cmd -o -name core \) \         -type f -print | xargs rm -f        rm -f linuxrom-s3c2440.bin   2.修改晶振频率   因为我使用的是FL2440的开发板根据datesheet可知晶振频率为12M。所以下一步修改晶振频率。 $ vim arch/arm/mach-s3c2440/mach-smdk2440.c      -160,7 160,7   static void __init smdk2440_map_io(void)  {     s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc)); --   s3c24xx_init_clocks(16934400);    s3c24xx_init_clocks(12000000);     s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs));  } 3. 修改驱动的串口  vim drivers/tty/serial/samsung.c  -54,7 54,7     /* UART name and device definitions */   -- #define S3C24XX_SERIAL_NAME    ttySAC  #define S3C24XX_SERIAL_NAME    ttyS   #define S3C24XX_SERIAL_MAJOR   204   #define S3C24XX_SERIAL_MINOR   64       参考mini2440的.config文件作为我们的默认.config文件。改好之后再         $ Make menuconfig         打开文本窗口来选定即将要编译的模块保存后会将里面的信息保存到同时生成的.config配置文件中。 另外make menuconfig时出来的文本窗口中的信息是通过读取在内核源代码目录下的Kconfig文件来配置的。根据Makefile文件来编译而Makefile文件中的变量则通过.config来进行赋值操作。仅仅在Kconfig中添加选项。   4.修改MACHINE ID设备编号 同样因为是做FL2440的内核所以我们选择三星SMDK2440这个开发板。因为我U-boot中使用的machine id为1999而且我使用的是s3c2440这个板子。 将mini2440和和s3c2440的machineID对调。  $ vim arch/arm/tools/mach-types 配置就绪之后   Make   显示成功 此时已经会生成一个linux-s3c2440.bin的可执行二进制文件。 5.对nandflash进行分区    -106,49 106,39      },  };   -/* NAND parititon from 2.4.18-swl5 */ /* NAND parititon from 2.4.18-swl5,modify by Handy 2014.11.30 */    static struct mtd_partition smdk_default_nand_part[]  {     [0]  { -       .name    Boot Agent, -       .size    SZ_16K,        .name    bootloader,        .size    SZ_1M,         .offset  0,     },     [1]  { -       .name    S3C2410 flash partition 1, -       .offset  0, -       .size    SZ_2M,        .name    linux,        .offset  MTDPART_OFS_NXTBLK,        .size    SZ_1M*15,     },     [2]  { -       .name    S3C2410 flash partition 2, -       .offset  SZ_4M, -       .size    SZ_4M,        .name    rootfs,        .offset  MTDPART_OFS_NXTBLK,        .size    SZ_1M*40,     },     [3]  { -       .name    S3C2410 flash partition 3, -       .offset  SZ_8M, -       .size    SZ_2M,        .name    apps,        .offset  MTDPART_OFS_NXTBLK,        .size    SZ_1M*50,     },     [4]  { -       .name    S3C2410 flash partition 4, -       .offset  SZ_1M * 10, -       .size    SZ_4M,        .name    data,        .offset  MTDPART_OFS_NXTBLK,        .size    SZ_1M*50,     },     [5]  { -       .name    S3C2410 flash partition 5, -       .offset  SZ_1M * 14, -       .size    SZ_1M * 10, -   }, -   [6]  { -       .name    S3C2410 flash partition 6, -       .offset  SZ_1M * 24, -       .size    SZ_1M * 24, -   }, -   [7]  { -       .name    S3C2410 flash partition 7, -       .offset  SZ_1M * 48,        .name    backup,        .offset  SZ_1M * 100,         .size    MTDPART_SIZ_FULL, -   }    },  };   板子上nandflash是256M给bootloader1M用来启动内核15M以及40M的根文件系统。其他自由分配。 注意此时若要再进行分区就要选择相应的文件系统。Nandflash比较常用的有yaffs2ubifscramfs以及initramfs等等。   $  make 此时能编译成功但是生成的linux-s3c2440.bin文件依旧不能在板子上跑起来。 因为内核启动时首先挂载的是根文件系统我们还没有做根文件系统给予内核支持系统会出错而退出启动。   3. 添加根文件系统支持 1、根文件系统简介 文件系统是对一个存储设备上的数据和元数据进行组织的机制。这种机制有利于用户和操作系统的交互。而根文件系统则是所有文件系统的根我理解的是所有文件系统都是由根文件系统扩展开来的。而若是没有根文件系统则谈不上其他的文件系统。根文件系统它包含系统引导以及其他文件系统所能挂载的必要文件。   什么是根文件系统首先是一种文件系统,但是相对于普通的文件系统,它的特殊之处在于,它是内核 启动时所mount的第一个文件系统。  而Linux又支持多种文件系统包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等为了对各类文件系统 进行统一管理Linux引入了虚拟文件系统VFS(Virtual File System)为各类文件系统提供一个统一的操作界面和应用编程接口。Linux启动时第一个必须挂载的是根文件系统若系统不能从指定设备上挂载根文件系统则系统会出错而退出启动。之后可以自动或手动挂载其他的文件系统。因此一个系统中可以同时存在不同的文件系统。  不同的文件系统类型有不同的特点因而根据存储设备的硬件特性、系统需求等有不同的应用场合。在嵌入式Linux应用中主要的存储设备为 RAM(DRAM, SDRAM)和ROM(常采用FLASH存储器)常用的基于存储设备的文件系统类型包括jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs等。   2、根文件系统支持 本文主要写内核的移植与启动所以选择了制作很简单的initramfs文件系统作为根文件系统它能伴随内核编译时同时与内核生成一个镜像而能与之一起启动。 $ Make menuconfig 进去选择General setup编译模块   在下面选择Initial RAM filesystem .....即initramfs文件系统然后选择支持initramfs的源文件系统包所处位置。这里为../../rootfs/rootfs_tree/       在选择保存后即可连接开发板。重新编译内核后下载到板子上便可以启动了!  转载于:https://www.cnblogs.com/Ph-one/p/4578814.html
http://wiki.neutronadmin.com/news/279433/

相关文章:

  • 网站运营专员岗位职责学淘宝运营大概多少钱
  • 传统的网站开发模式和mvc互联网广告投放公司
  • 做装修网站如何贴吧引流推广
  • 局机关建设网站的意义永康医院网站建设
  • 四川建设厅网上查询网站国家一流本科专业建设名单
  • 做cpa一定要有网站吗12306网站开发语言
  • 优秀个人网站图片有一个做炫舞官网活动的网站
  • 网站开发网站设计素材wordpress页面内容设计
  • 微信公众号影视网站怎么做网站调用微信js视频
  • 银川市住房和城乡建设厅网站唐山市住房和城乡建设局官方网站
  • 互联网行业前沿资讯WordPress优化百度广告
  • php网站是什么数据库文件专业做网站哪家便宜
  • 昆明360网站制作wordpress主页html下划线
  • 建网站需要多长时间东南亚vps
  • 嘉兴网站建设制作重庆seowhy整站优化
  • 网站建设政策外贸 网站推广计划
  • 娄底建设网站公司做网站合同
  • 优设计网站中国建设银行东营分行网站
  • 电商网站建设 平台网络营销培训学院
  • 怎么做抽奖网站商务网站的主要内容
  • 内蒙古乌海建设局网站极速网站推广专家
  • 门户网站网站制作商丘网站制作的流程
  • 如何侵入网站服务器深圳住房和建设局网站融悦居
  • 百捷网站建设工资商标查询天眼查
  • 域名换了网站需要备案么黄冈推广平台
  • 纯flash网站价格网站空间不支持php
  • 网站设计的标准网站建设有前景吗
  • 哪些网站是响应式建设营销型网站的要素
  • 网站开发框架怎么写tomcat 建网站
  • 网站国际网络备案号济南百度做网站