1、查看“buildroot下的busybox”安装路径
打开终端
输入“ls回车”
输入“cd linux回车/”,切换到到“linux”目录
输入“ls回车”,查看“linux”目录下的文件和文件夹
输入“cd buildroot/回车”,切换到到“buildroot”目录
输入“ls回车”,查看“buildroot”目录下的文件和文件夹
输入“cd buildroot-2020.02.6/回车”,切换到到“buildroot-2020.02.6/”目录
输入“ls回车”,查看“buildroot-2020.02.6”目录下的文件和文件夹
输入“cd dl回车”,切换到到“dl”目录
输入“ls回车”,查看“dl”目录下的文件和文件夹
输入“cd busybox/回车”,切换到到“busybox”目录
输入“ls回车”,查看“busybox”目录下的文件和文件夹
在安装时,buildroot会对“busybox-1.31.1.tar.bz2”进行解压,解压缩后的所有软件保存在“buildroot-2020.02.6/output/build/”目录中
2、查看“buildroot下的busybox”支持中文修改路径
1)、输入“cd ../../回车”,返回两层,切换到“buildroot-2020.02.6”目录
输入“ls回车”,查看“buildroot-2020.02.6”目录下的文件和文件夹
输入“cd output/回车”,切换到“output”目录
输入“ls回车”,查看“output”目录下的文件和文件夹
输入“cd build/回车”,切换到“build”目录
输入“ls回车”,查看“build”目录下的文件和文件夹
输入“cd busybox-1.31.1/回车”,切换到“busybox-1.31.1”目录
若要修改支持中文,就要到“busybox-1.31.1”目录下去修改。
3、打开“buildroot下的busybox”图形化配置界面
在“buildroot-2020.02.6”目录下,输入“make busybox-menuconfig”,就可以打开“buildroot下的busybox”图形化配置界面。若不能执行,就反复重启虚拟机,总会可以打开的。
注意:记住不要输入“sudo”,原因不清楚。
输入“cd ../../../”,返回上三层目录到“buildroot-2020.02.6”目录
输入“ls回车”,查看“buildroot-2020.02.6”目录下的文件和文件夹
输入“make busybox-menuconfig”,打开“buildroot下的busybox”图形化配置界面
4、使用“图形化配置界面”设置“个性化配置”
1)、移动“向下光标键”,找到“Settings”,按下“回车”
移动“向下光标键”,找到“Build static binary”
2)、按“N”,设置为“动态编译”
3)、移动“向下光标键”,找到“vi-style line editing commands”
4)、按“Y”,见下图:
按两次“ESC键”,移动“向下光标键”至“Linux Module Utilities”
5)、按“回车键”,移动“向下光标键”至“depmod”,按“Y”,见下图:
6)、移动“向下光标键”至“Simplified modutils”,按“N”,见下图:
7)、按两次“ESC键”,移动“向下光标键”至“Linux System Utilities”,见下图:
8)、按“回车键”,然后移动光标键至“mdev (17 kb)”,然后按“Y”将“mdev (17 kb)”至“Support daemon mode”全部选中,见下图:
9)、按两次“ESC键”,移动光标键至“Settings”,见下图:
10)、按“回车键”,移动光标键至“Support Unicode”,按“Y”,
移动光标键至“Check $LC_ALL, $LC_CTYPE and $LANG environment variables”,按“Y”,
见下图:
11)、按“ESC键”,直至出现下面的界面
12)、按“Y”保存
5、通过“修改程序”配置busybox支持中文字符
1)、进入busybox程序所在的路径
打开终端
输入“ls回车”
输入“cd linux回车/”,切换到到“linux”目录
输入“ls回车”,查看“linux”目录下的文件和文件夹
输入“cd buildroot/回车”,切换到到“buildroot”目录
输入“ls回车”,查看“buildroot”目录下的文件和文件夹
输入“cd buildroot-2020.02.6/回车”,切换到到“buildroot-2020.02.6/”目录
输入“ls回车”,查看“buildroot-2020.02.6”目录下的文件和文件夹
输入“cd output/回车”,切换到到“output”目录
输入“cd build/回车”,切换到到“build”目录
输入“cd busybox-1.31.1/回车”,切换到到“busybox-1.31.1”目录
2)、修改“busybox-1.32.0/libbb/printable_string.c”
输入“vi libbb/printable_string.c回车”,修改“printable_string.c”
修改如下:
按“ESC键”,输入“:wq”保存文件。
3)、输入“vi libbb/unicode.c回车”,修改“libbb/unicode.c”
打开“unicode.c”,输入“/unicode_conv_to_printable2”查找
修改如下:
按“ESC键”,输入“:wq”保存文件。
6、编译“buildroot下的busybox”
1)、输入“cd ../../../回车”,返回到“/linux/buildroot/buildroot-2020.02.6”目录
输入“make show-targets回车”,查看buildroot配置的目标软件包,其中含有busybox,见下图:
2)、输入“make busybox回车”,单独编译并安装“busybox”
输入“make回车”,重新编译“buildroot”
输入“cd output/images/回车”
输入“ls rootfs.tar -l回车”,查看rootfs.tar的生成时间
至此,“buildroot”中busybox编译完成。
配置“buildroot第三方软件和库”
7、使能 VSFTPD服务
1)、打开终端
输入“ls回车”
输入“cd linux回车/”,切换到到“linux”目录
输入“ls回车”,查看“linux”目录下的文件和文件夹
输入“cd buildroot/回车”,切换到到“buildroot”目录
输入“ls回车”,查看“buildroot”目录下的文件和文件夹
输入“cd buildroot-2020.02.6/回车”,切换到到“buildroot-2020.02.6/”目录
输入“ls回车”,查看“buildroot-2020.02.6”目录下的文件和文件夹
输入“make menuconfig回车”,打开“buildroot”的图形化配置界面
2)、移动向下光标键至“Target packages”
3)、按“回车键”,移动向下光标键至“Networking applications”
4)、按“回车键”,移动向下光标键至“vsftpd”,按“Y”,配置使用vsftpd服务,见下图:
5)、移动光标键至“openssh”,按“Y”,配置使用“ssh”,见下图:
使用SSH服务,可通过网络远程登录开发板。OpenSSH是SSH的开源免费版本。直接使能 buildroot中的OpenSSH 即可。
6)、按“ESC键”,直至出现下面的界面:
7)、按“Y”,保存
8、备份“buildroot配置”
文件路径“/zgq/linux/buildroot/buildroot-2020.02.6/configs/stm32mp1_atk_defconfig”
1)、再次输入“make menuconfig回车”
2)、移动“向右光标键”至“Save”,按“回车键”,得到下图:
3)、将“/zgq/linux/buildroot/buildroot-2020.02.6/.config”修改为
“./configs/stm32mp1_atk_defconfig”,见下图:
4)、移动“向下光标键”至“Ok”,按“O”保存;
按“ESC键”退出
9、编译buildroot
1)、输入“make -j8”,编译“buildroot”,-j8表示采用8线程编译
2)、打开第2个终端
输入“ls”
输入“cd linux/”,切换到“linux”目录
输入“ls”
输入“cd nfs/”,切换到“nfs”目录
输入“ls回车”
输入“cd rootfs回车”,切换到“rootfs”目录
输入“ls回车”
3)、回到第1个打开的终端
输入“cd output/images/回车”,切换到“images”目录
输入“ls回车”
输入“cp rootfs.tar /home/zgq/linux/nfs/rootfs回车”
将“/home/zgq/linux/buildroot/buildroot-2020.02.6/output/images”目录下的“rootfs.tar”拷贝到“/home/zgq/linux/nfs/rootfs”目录中
4)、回到第2个打开的终端
输入“ls回车”
输入“tar -vxf rootfs.tar”,解压
10、打开MobaXterm,给开发板上电,准备测试“buildroot”生成的根文件系统。
输入“root回车”
11、测试depmod
输入“depmod回车”,报告“depmod: can't change directory to 'lib/modules/5.4.31': No such file or directory”
输入“mkdir /lib/modules/5.4.31 -p回车”
输入“depmod回车”
输入“cd /lib/modules/5.4.31回车”
输入“ls回车”
测试结果:
12、使用vsftpd搭建FTP服务器
1)、输入“vi /etc/vsftpd.conf回车”
按“ESC键”,输入“/local_enable=回车”,搜索字符串“local_enable=”
将“#local_enable=YES”修改为“local_enable=YES”
按“ESC键”,输入“/write_enable=回车”,搜索字符串“write_enable=”
将“#write_enable=YES”修改为“write_enable=YES”
2)、按“ESC键”,输入“:wq回车”,保存退出。
13、测试使用SSH服务通过网络远程登录开发板
1)、输入“ls /etc/vsftpd.conf -l回车”
报告“-rw-r--r-- 1 sshd sshd 4591 Feb 17 2024 /etc/vsftpd.conf”,表示该文件所属用户为“sshd”;
输入“chown root:root /etc/vsftpd.conf回车”,将/etc/vsftpd.conf修改为“root”用户。
输入“ls /etc/vsftpd.conf -l回车”
报告“-rw-r--r-- 1 root root 4591 Feb 17 2024 /etc/vsftpd.conf”,表示该文件所属用户为“root”;
2)、输入“adduser Zhanggong回车”,使用adduser命令创建开发板用户名为Zhanggong
输入密码“123456”
输入密码“123456”
输入“cd /home/回车”
输入“ls回车”
3)、打开“FileZilla”
4)、点击“文件”,再点击“站点管理器”
5)、点击“新站点”,修改为“MP157开发板”
6)、输入“ifconfig”,查询卡发板的IP地址
7)、设置开发板的IP地址,用户名和密码
8)、在串口终端输入“reboot”,重启开发板。
9)、点击“连接”
10)、在串口终端输入“ps回车”
PID USER COMMAND
1 root init
2 root [kthreadd]
3 root [rcu_gp]
4 root [rcu_par_gp]
5 root [kworker/0:0-pm]
6 root [kworker/0:0H-kb]
7 root [kworker/u4:0-rp]
8 root [mm_percpu_wq]
9 root [ksoftirqd/0]
10 root [rcu_preempt]
11 root [migration/0]
12 root [cpuhp/0]
13 root [cpuhp/1]
14 root [migration/1]
15 root [ksoftirqd/1]
16 root [kworker/1:0-mm_]
17 root [kworker/1:0H]
18 root [kdevtmpfs]
19 root [netns]
20 root [rcu_tasks_kthre]
21 root [kworker/0:1-mm_]
22 root [kworker/1:1-eve]
23 root [oom_reaper]
24 root [writeback]
25 root [kcompactd0]
27 root [kworker/u4:1-rp]
65 root [kblockd]
66 root [blkcg_punt_bio]
67 root [ata_sff]
68 root [edac-poller]
69 root [devfreq_wq]
70 root [watchdogd]
71 root [rpciod]
72 root [kworker/u5:0-xp]
73 root [xprtiod]
74 root [kswapd0]
75 root [nfsiod]
77 root [kstrp]
79 root [kworker/0:2-eve]
81 root [hwrng]
82 root [irq/40-stm_ther]
87 root [irq/41-54002000]
88 root [54002000.hash-e]
105 root [stmmac_wq]
107 root [irq/49-5c004000]
108 root [kworker/0:3-eve]
109 root [irq/50-4c001000]
110 root [kworker/0:4]
111 root [irq/51-4c001000]
112 root [mmc_complete]
113 root [kworker/1:2-mm_]
114 root [kworker/0:1H-kb]
115 root [mmc_complete]
116 root [kworker/1:3-eve]
117 root [irq/47-40010000]
118 root [kworker/u5:1-xp]
119 root [kworker/u4:2-rp]
120 root [kworker/u4:3-rp]
121 root [kworker/u4:4-rp]
122 root [kworker/u4:5-rp]
123 root [kworker/u4:6-rp]
124 root [kworker/u5:2-xp]
139 root /sbin/syslogd -n
143 root /sbin/klogd -n
155 root /sbin/mdev -df
182 root [kworker/u4:7-rp]
189 root vsftpd
190 root -sh
192 root vsftpd
193 nobody vsftpd
194 root ps
# capability: warning: `vsftpd' uses 32-bit capabilities (legacy support in use)
11)、输入“chown root:root /var/empty回车”,将“/var/empty”修改为“root”用户。
输入“reboot回车”,重启开发板
12)、在串口终端输入“ps回车”
PID USER COMMAND
1 root init
2 root [kthreadd]
3 root [rcu_gp]
4 root [rcu_par_gp]
5 root [kworker/0:0-pm]
6 root [kworker/0:0H-kb]
7 root [kworker/u4:0-rp]
8 root [mm_percpu_wq]
9 root [ksoftirqd/0]
10 root [rcu_preempt]
11 root [migration/0]
12 root [cpuhp/0]
13 root [cpuhp/1]
14 root [migration/1]
15 root [ksoftirqd/1]
16 root [kworker/1:0-mm_]
17 root [kworker/1:0H]
18 root [kdevtmpfs]
19 root [netns]
20 root [rcu_tasks_kthre]
21 root [kworker/0:1-mm_]
22 root [kworker/1:1-nfs]
23 root [oom_reaper]
24 root [writeback]
25 root [kcompactd0]
27 root [kworker/u4:1-rp]
65 root [kblockd]
66 root [blkcg_punt_bio]
67 root [ata_sff]
68 root [edac-poller]
69 root [devfreq_wq]
70 root [watchdogd]
71 root [rpciod]
72 root [kworker/u5:0-xp]
73 root [xprtiod]
74 root [kswapd0]
75 root [nfsiod]
77 root [kstrp]
79 root [kworker/0:2-eve]
81 root [hwrng]
82 root [irq/40-stm_ther]
87 root [irq/41-54002000]
88 root [54002000.hash-e]
105 root [stmmac_wq]
107 root [irq/49-5c004000]
108 root [kworker/0:3-pm]
109 root [irq/50-4c001000]
110 root [kworker/0:4]
111 root [irq/51-4c001000]
112 root [mmc_complete]
113 root [kworker/1:2-eve]
114 root [kworker/0:1H-kb]
115 root [mmc_complete]
116 root [irq/47-40010000]
117 root [kworker/u5:1-xp]
118 root [kworker/u4:2-rp]
119 root [kworker/u4:3-rp]
120 root [kworker/u4:4-rp]
121 root [kworker/u4:5-rp]
122 root [kworker/u5:2-xp]
123 root [kworker/u4:6-rp]
138 root /sbin/syslogd -n
142 root /sbin/klogd -n
154 root /sbin/mdev -df
181 root [kworker/u4:7-rp]
184 root /usr/sbin/sshd
190 root vsftpd
191 root -sh
193 root ps
#
13)、点击“sesson”,点击“SSH”,然后按照下图设置开发板:
14)、输入密码“123456”
输入“cd /回车”,切换至根目录
输入“ls回车”
至此,我们完成了SSH测试。
14、创建自启动文件
输入“cd /etc/init.d/”,切换到“init.d”目录
输入“ls”
输入“touch Sautorun”,创建Sautorun文件
输入“ls”
输入“chmod 777 Sautorun”,给“Sautorun”赋可执行权限
输入“ls”
输入“vi Sautorun回车”
输入内容:
#!/bin/sh
cd /
按“ESC键”,输入“:wq回车”
15、设置开发板要显示路径
输入“vi /etc/profile回车”
按“ESC键”,输入“:q!回车”,不保存退出。
输入“cd /etc/profile.d回车”
输入“ls回车”
输入“touch myprofile.sh”,创建脚本文件“myprofile.sh”
输入“ls回车”
输入“chmod 777 myprofile.sh”,给myprofile.sh赋可执行权限
输入“ls回车”
输入“vi myprofile.sh”,打开myprofile.sh文件
输入内容如下
#!/bin/sh
PS1='[\u@\h]:\w$ ' #\u表示用户名,\h表示主机名,\w表示显示当前工作目录的路径
export PS1
按“ESC键”,输入“:wq回车”,保存退出。
输入“reboot”重启开发板
可以看到工作路径了。
16、使能“sysfs debug”目录
输入“cd /sys/kernel/debug/”
输入“ls回车”
在“Sautorun”文件中,添加“mount -t debugfs none /sys/kernel/debug”
输入“vi /etc/init.d/Sautorun”
输入内容如下:
#!/bin/sh
mount -t debugfs none /sys/kernel/debug
按“ESC键”,输入“:wq回车”,保存退出。
输入“reboot”重启开发板
输入“root回车”
输入“ls”
输入“ls /sys/kernel/debug/”
至此,根文件系统测试完成了。