美文网首页
Linux系统移植#ARM

Linux系统移植#ARM

作者: 哆啦A梦没有毛 | 来源:发表于2019-05-14 10:34 被阅读0次

    一、准备工作

    • 0、下载文件
      链接:https://pan.baidu.com/s/1owUsxrPukrHSVDe7_PZspA
      提取码:6hsp

    • 1、复制etc.tar.gz等四个文件到系统中,利用命令进行解压:
      tar zxf etc.tar.gz
      其余压缩文件的解压同上,只不过更换为相对应的文件名,解压完成后会得到四个不同的目录

    • 2.编译u-boot,进入到解压生成的uboot_ok6410目录中执行make
      将当前目录下的tools目录下mkimage复制到/usr/bin中
      sudo cp ./tools/mkimage /usr/bin/

    二、文件系统创建

    • 1、创建目录rootfs
      mkdir rootfs

    • 2、进入rootfs目录,创建以下目录:

    cd   rootfs
    mkdir  bin dev  etc  lib  proc  sbin  sys  usr  mnt  tmp  var
    mkdir   usr/bin usr/lib usr/sbin     lib/modules
    
    • 3、创建设备文件
    cd dev
    sudo mknod -m 666 console c 5 1
    sudo mknod -m 666 null c 1 3 
    
    • 4、加入配置文件
      将第一步解压得到的etc目录下的所有文件复制到rootfs/etc中(若rootfs同解压得到的目录在同一目录下,且目前位于rootfs中)
      cp -r ../etc/* etc/
      用ls etc检查是否复制成功,若有以下四个文件则复制成功

    • 5、添加内核模块
      进入到解压得到的linux-ok6410目录中
      make modules ARCH=arm CROSS_COMPILE=arm-linux-
      安装内核模块到文件系统中
      make modules_install ARCH=arm INSTALL_MOD_PATH=你的rootfs的实际路径

    • 6、编译安装busybox
      安装依赖
      sudo yum install ncurses-devel
      进入到解压得到的busybox目录中

      执行make menuconfig (将分辨率调整为约1920*1200),得到界面

      进入Busybox Settings


      进入Build Options


      按y选中 以下项(选中后前面的【】中标记为*)


      移动到最后一项,然后回车


      在输入框中输入交叉编译工具链前缀


      设置完成后退回到上一层,然后选择Install Options(同Build Options位于同一层菜单)


      选中第一项


      然后移动到最后一项,回车进入修改


      在输入框中输入rootfs的路径,如下图


      之后连续选择Exit退出


      最后保存


      退出之后进行编译,在命令行输入make
      make
      编译完成后,安装
      make install

      进入到rootfs目录中检查安装结果 执行命令 ls bin,若看到以下很多文件,则安装成功


      设置使用initramfs
      在rootfs目录中执行以下命令:
      ln -s ./bin/busybox init

      完成以上步骤之后,在rootfs目录中创建一个以你学号为名称的文件,例如
      touch 123456
      至此,根文件系统制作完成。

    三、编译内核

    进入到内核源代码目录中,即linux-ok6410目录中
    执行
    make menucofig ARCH=arm

    进入General setup,找到以下项目,确认处于选中状态


    移动到Initramfs source file(s)修改路径


    将路径修改为你的rootfs的路径(下图为我的路径,不一定与你的相同)


    之后退出并保存,然后执行以下命令:
    make uImage ARCH=arm CROSS_COMPILE=arm-linux-

    完成之后检查当前目录下的arch/arm/boot目录下是否存在uImage文件
    ls arch/arm/boot

    相关文章

      网友评论

          本文标题:Linux系统移植#ARM

          本文链接:https://www.haomeiwen.com/subject/erbjaqtx.html