详解基于BusyBox、DropBear、Ngnix制作完整的嵌入式(4)

6、为目标主机提供网络服务转换机制
在宿主机上使用默认选项编译的dropbear将依赖nsswitch实现用户名称解析,因此,还需要为目标主机提供nss相关的库文件及配置文件。

# cat >> /mnt/sysroot/etc/nsswitch.conf << EOF
passwd: files
shadow: files
group: files
hosts: files dns
EOF

复制所需要的库文件:
# cp -d /lib/libnss_files* /mnt/sysroot/lib/
# cp -d /usr/lib/libnss3.so /usr/lib/libnss_files.so /mnt/sysroot/usr/lib/

7、由于在rc.sysinit文件中启动了日志进程,因此系统在运行中会产生大量日志并将其显示于控制台;
# vim etc/syslog.conf
添加如下一行:
*.info /var/log/messages
:wq
说明: 由于在rc.sysinit文件中启动了日志进程,因此系统在运行中会产生大量日志并将其显示于控制台;
这将会经常性的打断正在进行的工作,为了避免这种情况,我们这里为日志进程建立配置文件,为其指定将日志发送至/var/log/messages文件;



8、测试
启动目标主机,设定好网络属性后,使用如下命令启动dropbear服务即可。
# /usr/local/sbin/dropbear
接下来就可以远程进行连接测试了。

接下来我们实现一个基于nginx软件,来为我们制作的微型Linux系统提供www服务

通过nginx提供web服务

1、在宿主机编译安装nginx-1.2.5
# tar nginx-1.2.5.tar.gz
# cd nginx-1.2.5
# ./configure --prefix=/usr/local --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --user=nginx --group=nginx --http-log-path=/var/log/nginx/access.log --without-pcre --without-http_rewrite_module --without-http_geo_module --without-http_fastcgi_module --without-http_uwsgi_module --without-http_scgi_module --without-http_memcached_module --without-http_upstream_ip_hash_module --without-http_upstream_least_conn_module --without-http_upstream_keepalive_module --http-log-path=/var/log/nginx
# make
# make install

2、移植nginx至目标系统

(1) 移植二进制程序及其依赖的库文件,方能实现其在目标系统上正常运行。建议使用前面的bincp.sh脚本进行。

(2) 移植配置文件至目标系统
# mkdir /mnt/sysroot/etc/nginx/
# cp /etc/nginx/{nginx.conf,mime.types} /mnt/sysroot/etc/nginx/

(3) 移植测试页面至目标系统,当然,也可以不采用下面的步骤而在目标系统上直接创建。
# mkdir /mnt/sysroot/usr/local/
# cp -r /usr/local/html /mnt/sysroot/usr/local/

3、测试

启动目标主机,首先配置好网络属性,并使用adduser为其添加nginx用户和nginx组。

然后使用如下命令启动nginx
# /usr/local/nginx

测试命令
#elinks IPADDR即可在我们制作的LINUX系统上进行测试啦。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/20005.html