busybox 运行mysql_浅谈编译kernel+busybox构建拥有远程ssh登录和web功能最小linux系统(二)...

忘了介绍本文的源码的版本了

dropbear-2013.58.tar.bz2

busybox-1.21.1.tar.bz2

linux-3.13.6.tar.xz

nginx-1.4.7

基于上文,我们还差group文件没有写

root@mysql etc]# vi group

root:x:0:

mayershi:x:500:    #不解释,你懂的。

我们已经解决了本地登录的问题。要想模仿的更像我们要设置一下,

PS1的变量还有,以及主机名和用户支持上,不知道的可以脑补。

[root@mysql etc]# echo "export PS1=$PS1" > /mnt/sysroot/etc/profile

[root@mysql etc]# cat profile

export PS1=[\u@\h \W]\$                #此段结束表示开机时自动加载PS1的变量到环境变量中

[root@mysql etc]# vi rc.d/rc.sysinit

[root@mysql etc]# cat !$

cat rc.d/rc.sysinit

#!/bin/bash

#

mount -n -o remount,rw /dev/sda2 /

mount -a

mdev -s

[ -r /etc/sysconfig/network ] && source /etc/sysconfig/network

[ -z "$HOSTNAME" -o "$HOSTNAME" == '(none)' ] && hostname localhost || hostname $HOSTNAME

#倒数一二行表示,开机读取主机名的脚本,程序,不解释,我想应该能看的懂。

成功上图。

3c8ce6380daa33c267ccb0e2e66a02de.png

唉,可以实现登录了把,但是居然爆出一个错误,I have no name! 我们明明已经设置了啊,

为什么没有呢。其实我们用的bash,bash是利用nsswitch来进行用户名对应UID实现名称解析

的。但是你还记得,我们之前提到的,busybox默认的shell是ash。我们切换成ash试试。o

3c8ce6380daa33c267ccb0e2e66a02de.png

bingo,成功的解决了。其实是bash依赖名称解析功能,而我们又缺少名称解析的库。所以bash

也就无能为力的给你爆出一个他没有名字的名字了。接下来我们开始着手解决bash的nsswitch的问题,

让其能够实现有 name的功能。

[root@mysql sysroot]# mkdir /mnt/sysroot/usr/lib64

[root@mysql sysroot]# cp -a -d /lib64/libnss_files* lib64/

[root@mysql sysroot]# cp -a -d /usr/lib64/{libnss_files.so,libnss3.so,\

libnssutil3.so,libnsssysinit.so,libnsspem.so} usr/lib64/

[root@www sysroot]# ls lib64/

ld-linux-x86-64.so.2  libcap.so.2  libnss_files-2.12.so  librt.so.1

libacl.so.1           libc.so.6    libnss_files.so.2     libselinux.so.1

libattr.so.1          libdl.so.2   libpthread.so.0       libtinfo.so.5

###以上都是nss所依赖的库文件

[root@www sysroot]# ls usr/lib64/

libnss3.so  libnsspem.so  libnsssysinit.so  libnssutil3.so #第一个是nss的核心文件,其余的三个

是nss自带的常用工具。

[root@www sysroot]# cp /etc/nsswitch.conf /mnt/sysroot/etc/

##nss的配置文件,其实不用这个也行。我没有移植,寄生机也是可用的我不知道原因,但是大家最

#好别这么干。还是复制过来的好。以防出现其他的不知名错误。

3c8ce6380daa33c267ccb0e2e66a02de.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值