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

系统移植 (以将Linux系统移植到S5P6818开发板为例)

(本篇文章以将Linux系统移植到S5P6818开发板为例)

本文章所需要的文件在下面链接获取:https://download.csdn.net/download/a1547998353/89406544

开发环境搭建

1、安装交叉编译工具链

安装步骤:

1. 在ubuntu的家目录(~)下,创建toolchain

        mkdir toolchain

2. 拷贝gcc-4.9.4.tar.xz到toolchain目录下

        (gcc-4.9.4.tar.xz文件在文章开头的链接获取)

3. 解压缩交叉编译工具链

        tar -vxf gcc-4.9.4.tar.xz

4. 配置环境变量

        sudo vi /etc/bash.bashrc

        在最后一行添加以下内容:

        export PATH=$PATH:/home/hq/toolchain/gcc-4.9.4/bin/

        注意:红色加粗部分改为你自己的用户名

5. 使环境变量立即生效

        source /etc/bash.bashrc

 2、配置tftp服务

(1)检查Ubuntu是否安装tftp服务

                sudo dpkg -s tftpd-hpa

        打印以下内容表示安装了tftp服务,此时跳过第二步直接看第三步配置tftp:

        Architecture: i386

        Source: tftp-hpa

        Version: 5.2-7ubuntu3.1

(2)安装tftp服务

          sudo apt-get update                                   更新源

          sudo apt-get install -f                                 更新依赖

          sudo apt-get install tftpd-hpa tftp-hpa        下载安装指令

(3)配置tftp服务

        1. 在家目录下创建一个tftpboot文件夹

                mkdir tftpboot

                目的:tftpboot目录下存放的是你要下载到开发板上的可执行文件

        2. 修改tftpboot的权限

                sudo chmod 777 tftpboot

        3. 配置tftp服务的环境变量

                sudo vi /etc/default/tftpd-hpa

        修改以下内容:

1 # /etc/default/tftpd-hpa
2 
3 TFTP_USERNAME="tftp" tftp用户名,不需要修改
4 TFTP_DIRECTORY="/home/hq/tftpboot"tftp服务下载文件的存放的路径,需要修改改成自己的对应的tftpboot的路径(将hq改为自己的用户名即可)	 
5 TFTP_ADDRESS="0.0.0.0:69"tftp服务默认使用的69端口号
6 TFTP_OPTIONS="-c -s -l"  tftp服务的参数,这个需要修改

        4. 重启tftp服务

                sudo service tftpd-hpa start         启动TFTP服务

                sudo service tftpd-hpa restart       重启TFTP服务

3、配置nfs服务

(1)检查nfs服务是否安装

        如果已安装,跳过第二步看第三步

        dpkg -s nfs-kernel-server

(2)安装nfs服务

        sudo apt-get install nfs-kernel-server

(3)配置nfs服务

        1. 在家目录下创建nfs文件夹

                mkdir nfs

        2. 修改文件权限

                chmod 777 nfs

        3. 拷贝根文件系统镜像到nfs目录下

                根文件系统文件:rootfs-A53-ok.tar.xz(文件在文章开头的链接获取

        4. 对根文件系统的压缩包进行解压缩

                cd ~/nfs

                tar -vxf rootfs-A53-ok.tar.xz

        5. 配置 nfs服务的环境变量

                sudo vi /etc/exports

               在文件的最后一行添加以下内容:

/home/hq/nfs/rootfs/ *(rw,sync,no_subtree_check,no_root_squash)
// 还是将hq改成自己的用户名即可

        6. 重启nfs服务

                sudo service nfs-kernel-server start          启动nfs服务

                sudo service nfs-kernel-server restart       重启nfs服务

4、配置Windows、linux、开发板处于同一局域网

注意配置时关闭Windows防火墙,退出杀毒软件

 (1)配置Windows的网络及ip地址

设置固定IP

 (2)配置linux的网络ip

配置网络为桥接模式,桥接到指定的有线网络。

 

 左上角 虚拟机->设置

 设置固定IP:

(3)配置开发板ip

 配置开发板网络:uboot指令设置环境变量的值

setenv ipaddr 192.168.1.99             //设置开发板ip

setenv netmask 255.255.255.0        //掩码

setenv gatewayip 192.168.1.1         //网关

setenv serverip 192.168.1.66         //服务器地址,填linux的ip

saveenv                                          //保存

 系统移植

思路

uboot镜像---------->Flash

linux内核镜像------>Flash

根文件系统镜像----->Flash

先将镜像使用tftp下载到内存,

再从内存中搬移到flash中,

启动时,再从flash中搬移到内存,

再从内存中启动

移植步骤 

0、通过SD方式启动uboot进入FS6818界面

1、将三段镜像代码放到tftpboot文件

cp /mnt/hgfs/share/ubootpak.bin /home/hq/tftpboot

cp /mnt/hgfs/share/uImage /home/hq/tftpboot

cp /mnt/hgfs/share/ramdisk.img /home/hq/tftpboot

修改文件权限为最大:

chmod 777 ubootpak.bin

chmod 777 uImage

chmod 777 ramdisk.img

2、移植uboot

tftp 0x48000000 ubootpak.bin

update_mmc 2 2ndboot 0x48000000 0x200 0x78000

3、移植内核镜像ulmage和radisk.img

 tftp 0x48000000 uImage

mmc write 0x48000000 0x800 0x4000

tftp 0x48000000 ramdisk.img

mmc write 0x48000000 0x20800 0x20800

4、设置 bootcmd命令,从flash中启动系统

setenv bootcmd mmc read 0x48000000 0x800 0x4000\;mmc read 0x49000000 0x20800 0x20800\;bootm 0x48000000 0x49000000

saveenv

5、设置 自启动的参数 bootargs

setenv bootargs root=/dev/ram rw initrd=0x49000040,0x1000000 rootfstype=ext4 init=/linuxrc console=ttySAC0,115200

saveenv

 设置好了上电重启,完成启动

http://www.lryc.cn/news/365648.html

相关文章:

  • 超长正整数的加法
  • C++ - 查找算法 和 其他 算法
  • 字符串的信号(SIGNAL)和槽(SLOT)的宏连接方式弊端
  • Kali linux学习入门
  • selenium中,怎么判断是否已选多选框
  • WindowManager相关容器类
  • 零售行业运营有哪些业务场景?详解各业务场景的分析指标和维度
  • 无锡哲讯携手SAP,赋能装备制造业数字化转型
  • TPM仿真环境搭建
  • 提高篇(五):使用Processing创作互动艺术:从灵感到实现
  • 华为od-C卷100分题目-3用连续自然数之和来表达整数
  • Chrome 自动执行 JS 脚本 | Tampermonkey 插件
  • ffmplay 源码解读
  • java web如何调用py脚本文件
  • K8s:无状态
  • Docker 入门篇(九)-- 使用 Maven 插件 构建 Docker 镜像
  • 网络协议三
  • LeetCode LRU缓存
  • Parallels Desktop for Mac 19.4.0更新了哪些内容?有什么改进?
  • Python 将CSV文件转为PDF文件
  • 4_XMR交易过程
  • 02_共享锁和排他锁
  • Ubuntu的启动过程
  • c# 下 ScintillaNET 显示XML信息并折叠节点
  • 什么叫防御式编程
  • 前端优化之图片压缩——tinyPNG
  • Springboot集成Quartz
  • Android面试题之Kotlin Jetpack组件LifecycleScope
  • MySQL深分页优化
  • 问题:律师会见委托人的方式包括团体会见和( )。 #职场发展#笔记#学习方法