Linux基础(3)--搭建最小的Linux系统

搭建最小的Linux系统

      • 1.平台
      • 2.文件
      • 3.步骤
      • 4.实现简单的Hello World

1.平台

所需要的硬件平台为ARM-cortex A9内核的开发板,以iTOP-4412为例。软件需要以及几个:
VMware(安装Linux虚拟机)
Hyper Terminal(超级终端,用来与开发板通信)
SSH Secure File Tranfer(用来主机与虚拟机之间通信与传递文件)

2.文件

所需要的文件有五个,暂时不需要了解这四个文件分别是什么:
①u-boot.bin(如果开发板可以正常启动,这个文件可以不需要)
②zImage
③ramdisk-uboot.img
④system.img
⑤fastboot工具

3.步骤

①打开超级终端Hyper Terminal,根据相应的串口号连接开发板;
②将前四个文件拷贝到fastboot工具里面,开启开发板,即刻在超级终端上按回车进入boot模式,然后依次输入以下命令(每一条都是单独输入):

fdisk -c 0
fatformat mmc 0:1
ext3format mmc 0:2
ext3format mmc 0:3
ext3format mmc 0:4
fastboot

③打开fastboot工具,并依次输入以下命令:

fastboot.exe flash bootlaoder u-boot.bin #如果开发板能正常启动,可以不用烧录这个文件
fastboot.exe flash kernel zImage
fastboot.exe flash ramdisk ramdisk-uboot.img
fastboot.exe flash system system.img
fastboot -w
fastboot reboot

④之后就完成了在开发板上搭建最小的Linux系统:
Linux基础(3)--搭建最小的Linux系统_第1张图片

4.实现简单的Hello World

这一部分我们不借助U盘和TF卡将hello world程序编译到最小文件系统!
①开启虚拟机,利用shell指令:

ifconfig

得到虚拟机的ip地址。
②根据得到的ip地址连接SSH Secure File Tranfer,用户名自为“root”
Linux基础(3)--搭建最小的Linux系统_第2张图片
③编写简单的HelloWorld程序:

#include 

main(){
	printf("Hello world!\n")
}

并把程序命名为Helloworld.c文件。
④在Linux虚拟机下新建一个文件夹,并通过SSH Secure File Tranfer把Helloworld.c文件拷贝到该文件夹下。然后进入到该目录,对Helloworld.c文件进行交叉编译:

arm-none-linux-gnueabi-gcc -o helloworld helloworld.c -static

这句命令的含义就是利用gcc交叉编译器将Helloworld.c文件编译成helloworld二进制文件。可以看到我们已将在该目录下编译成了二进制文件helloworld:
Linux基础(3)--搭建最小的Linux系统_第3张图片
⑤我们将helloworld文件拷贝到home下的bin目录下,具体的命令为:

cp -r helloworld /home/munilinux/system/bin/

然后重新编译system.img文件,在目录/home/munilinux下进行编译:

make_ext4fs -s -l 314572800 -a root -L linux system.img system

⑥将重新编译之后的system.img按照第三部分的步骤重新烧写到开发板就像可以了(注意,只运行烧写system.img的命令就行)。
⑦烧写进去的helloworld程序在开发板的 /bin 目录下,在目录下直接输入命令:

helloworld

就可以正常运行我们的helloworld程序了:
Linux基础(3)--搭建最小的Linux系统_第4张图片

你可能感兴趣的:(•Linux基础)