2020-9-17 S3C2240的ARM系统linux系统搭建心得

目录

1 S3C2240搭建前准备

首先:准备用于学习的ARM开发板,这块板子是以前朋友离开公司时送我的,比较老旧。现在我想把它拿来练练手。
在这里插入图片描述LCD屏体应该是4.3寸的,我还不能确定,还没开始测试LCD屏。
在这里插入图片描述然后:将开发板设置成NOR Flash,采用不带系统启动模式,同时用串口连接开发板和PC,采用SecureCRT打开串口链路,再用DNW软件可以将以后生成的系统烧入开发板。目前电脑一般都是USB口,就需要把USB转换成RS232,可以用串口精灵等工具来安装驱动。
SecureCRT的配置:
在这里插入图片描述

在这里插入图片描述连接成功后:
在这里插入图片描述

DNW的配置:
在这里插入图片描述

在这里插入图片描述
最后:连接成功后可以进入搭建linux的工作

2 通过虚拟机安装Linux系统

虚拟机可以选择VMware workstation和VM VirtualBox,由于VM VirtualBox是完全免费的。我采用VM VirtualBox:VirtualBox-6.1.14-140239-Win,可以直接到官网下载。然后下载Red hat server 6.9的安装镜像。
运行VirtuaBox,选择新建:
在这里插入图片描述采用固定大小的硬盘空间,调试起来速度快,选择12G。
运行系统安装前,进行设置:
系统设置,取消软盘启动;
在这里插入图片描述这里特别注意,这版VM virtual需要硬件加速,如果BIOS没有打开硬件加速,就无法运行虚拟系统安装。所以先要打开BIOS的虚拟硬件加速功能。具体位置有点忘了。
存储选项:光盘要把redhat安装镜像导入。
在这里插入图片描述网络设置:采用桥接网卡。
在这里插入图片描述共享文件夹:设置主机的共享目录,虚拟机系统可以访问到这个共享目录,两系统文件共享就非常方便。
在这里插入图片描述启动安装,按照默认步骤进行安装。

3 设置red hat 系统

3.1 设置root

[root@alaolv ~]# su root
[root@alaolv ~]# passwd root
Changing password for user root.
New password: 
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.

重启后可以选择root登入。

3.2 安装共享文件的增强功能

我安装fedora workstion 32时,VM virtual的共享目录是直接可以用的,在fedora的media目录下面有个sf_multi_os_share的目录,就是主机共享的multi_os_share目录。但是在redhat6.9需要仔细安装增强功能。
首先:在virtual下点击增强功能。
在这里插入图片描述然后:在redhat6.9的media目录下有VBox_GAs_6.1.14目录。

[root@alaolv media]# cd VBox_GAs_6.1.14/
[root@alaolv VBox_GAs_6.1.14]# LS
bash: LS: command not found
[root@alaolv VBox_GAs_6.1.14]# ls
AUTORUN.INF  runasroot.sh                       VBoxSolarisAdditions.pkg
autorun.sh   TRANS.TBL                          VBoxWindowsAdditions-amd64.exe
cert         VBoxDarwinAdditions.pkg            VBoxWindowsAdditions.exe
NT3x         VBoxDarwinAdditionsUninstall.tool  VBoxWindowsAdditions-x86.exe
OS2          VBoxLinuxAdditions.run
[root@alaolv VBox_GAs_6.1.14]# ./autorun.sh 

自动安装好后,在目录就有sf_multi_os_share的目录。

[root@alaolv media]# ls
sf_multi_os_share  VBox_GAs_6.1.14

将需要搭建ARM的linux系统的源码都拷入共享目录src:

[root@alaolv media]# cd sf_multi_os_share/
[root@alaolv sf_multi_os_share]# ls
image  src
[root@alaolv sf_multi_os_share]# cd src
[root@alaolv src]# ls
apps_20100601.tar.bz2
busybox-1.16.0.tar.bz2
EABI-4.3.3_EmbedSky_20100610.tar.bz2
linux-2.6.30.4_20100531.tar.bz2
mjpg-streamer.tar.bz2
Qte_20100601.tar.bz2
qt-embedded-linux-opensource-src-4.5.0_20100601.tar.bz2
root_qt_4.5_2.6.30.4_20100601.tar.bz2
root_qtopia_2.2.0_2.6.30.4_20100601.tar.bz2
u-boot-1.1.6_20100601.tar.bz2

4 安装源码顺序

1、install_crosscomplie_20100410.exe
2、build_u-boot_20100410.exe
3、build_kernel_20100409.exe
4、build_busybox_20100410.exe
5、build_apps_20100410.exe
6、build_qtopia-2.2.0_20100413.exe
7、build_qt-4.5_20100413.exe

5 安装EABI

安装EABI(Ebeded Application Binary Interface) 是嵌入式ARM的交叉编译环境。先解压到工作目录/opt,命令:tar xvfj /media/sf_multi_os_share/src/EABI-4.3.3_EmbedSky_20100610.tar.bz2 -C/。进入/opt/EmbedSky/4.3.3/, 配置profile文件,命令:#gedit etc/profile。修改成如下:
在这里插入图片描述执行命令:#source /etc/profile,使它生效。再使用命令:#arm-linux-gcc -v,来验证交叉编译器是否生效。
在这里插入图片描述这样交叉编译器就安装成功了。

6 安装u-boot

现在这个编译还未通过,这个看起来不影响后续工作。我是直接编译linux内核到开发板。直接进入linux内核编译。
内容补充:linux烧入开发板整个过程中,必须要有u-boot作为前期引导,所以必须要安装的。所以在完成7 安装linux 2.6.30.4后,在安装u-boot发现顺利完成任务。原因应该是需要32的库文件。
进入/opt/EmbedSky,从共享文件u-boot源码解压缩。

# tar xvfj /media/sf_multi_os_share/src/u-boot-1.1.6_20100601.tar.bz2 -C/
# cd u-boot-1.1.6/

需要把LCD屏的参数3.5寸改为4.3寸,修改/opt/EmbedSky/u-boot-1.1.6/include/configs/EmbedSky.h

# gedit EmbedSky.h 

修改#define LCD_TFT 参数 W35 修改为TFT48027如下:

在#define S35					1	//S35
#define W35					2	//W35=Q35
#define TFT240320				3	//T35
#define TFT480272				4	//W43 or Q43
#define VGA640480				5	//VGA 640*480
#define TFT800480				6	//A70
#define TFT800600				7	//A104
#define VGA1024768				8	//VGA 1024*768

#define LCD_TFT					TFT480272

#if(LCD_TFT == W35)
#define	CONFIG_EMBEDSKY_LCD_VBPD		12
#define	CONFIG_EMBEDSKY_LCD_VFPD		4
#define	CONFIG_EMBEDSKY_LCD_VSPW		5
#define	CONFIG_EMBEDSKY_LCD_HBPD		21
#define	CONFIG_EMBEDSKY_LCD_HFPD		32
#define	CONFIG_EMBEDSKY_LCD_HSPW		44
#define	CONFIG_EMBEDSKY_LCD_CLKVAL		6

执行命令:

# make EmbedSky_config
# make 

编译顺利完成。
将编译好的u-boot.bin保存到共享目录中:

# cp -f u-boot.bin /media/sf_multi_os_share/image/u-boot_20200917.bin

7 安装linux 2.6.30.4

进入目录/opt/EmbedSky,解压命令:# tar xvfj /media/sf_multi_os_share/src/linux-2.6.30.4_20100531.tar.bz2 -C/,解压完成后进入/opt/EmbedSky/linux-2.6.30.4目录。这个内核代码是厂家修改过的,需要将开发板的信息拷贝到配置中,命令:cp -f config_EmbedSky_W43 .config,完成后进行编译,命令:make menuconfig,出现配置画面:
在这里插入图片描述我理解本身可以在这个界面把开发板的信息配置起来,前面拷贝进去的内容是把需要配置的内容事先在配置文件中写入了,就不需要配置了。如果是一块新的ARM开发板,可以在此配置相关信息。
接下来就可以进行编译linux2.6.30.4的镜像,用于烧入开发板。命令:#make zImage。这个时候,发生编译没有通过,说缺少ld-linux.so.2文件。查资料需要安装32位的库文件,采用命令:#yum install glibc.i686, 操作系统告诉说没有安装yum工具。
先安装yum工具:

# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
vi /etc/yum.repos.d/CentOS-Base.repo

(在 vi 命令模式下执行上述命令):
:%s/$releasever/6/g
:wq!
然后输入命令:

# yum clean all
# yum makecache
# yum update 

yum update更新的过程时间比较长,可以试试不用update,只要yum工具可以用就行。
重新运行命令:#yum install glibc.i686,安装好32位库文件。
再重新运行:#make zImage,成功的编译了linux镜像文件zImage.bin。
将zImage.bin拷贝到共享目录:

# cp -f zImage.bin /media/sf_multi_os_share/image/zImage_W43_20200917.bin

通过BNW工具可以把系统镜像烧到开发板中。

三级标题

四级标题
五级标题
六级标题
  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值