在自己的小Linux中加入网络模块

为了简化内核,我们的外围设备的驱动程序一般都做成模块放在/lib/modules/`uname -r`/kernel/drivers下     //`uname -r`引用的是命令的执行结果
我们需要的网卡驱动在net目录下,vmware的虚拟网卡驱动程序是pcnet32这个模块,我们可以使用下面两种方法加载:
modprobe pcnet32加载这个模块,(注意:modprobe后直接指定模块名加载)或
insmod PATH (PATH 是指定详细路径加载模块)
我们可以用modinfo pcnet32查看pcnet32.ko查看它的相关属性信息,注意是查看depends选项,看看他依赖的模块是哪个,我们可以看到pcnet32.ko依赖mii.ko,而mii.ko不依赖任何模块,
 
我们可以把这些模块放到自己做的小Linux上的根文件系统/sysroot/lib/modules下和普通的lib下的模块以示区别
cd /lib/modules/`uname -r`/kernel/drivers/net
cp pcnet32.ko mii.ko /mnt/sysroot/lib/modules
 而为了让我们自己做的小Linux可以加载这两个模块,我们必须把insmod移植到我们的小Linux下
which insmod         //查看insmod的路径
cp /sbin/insmod   /mnt/sysroot/sbin/
ldd /sbin/insmod      //查看insmod依赖的库文件,把依赖的库文件复制到/mnt/sysroot/lib下,有链接的库文件,链接和文件都要拷过来,拷链接时加“-d”选项
系统启动过程中,驱动程序在只要不是和根文件系统相关的,一般都在系统初始化脚本/etc/rc.d/rc.sysinit中加载完成的,我们可以编辑如下
 
接下来我们要让自己的小Linux能够登陆,copy一个login到/mnt/sysroot/bin/
给一个执行权限chmod   +x    /mnt/sysroot/bin/login.  
ldd   /mnt/sysroot/bin/查看login 依赖的库文件,并把它们copy到/mnt/sysroot/lib/下
 并如上加入一个mingetty
此时我们还要有账号密码,现在我们就手动加一个账号密码
cd    /mnt/sysroot/etc
vim passwd
加入 root:x:0:0::/root:/bin/bash 保存退出。加一个权限。chmod  700  /mnt/sysroot/root
 
还要一个组文件
vim group
加入 root:x:0:  保存退出
 
下一步加密码,密码用openssl    passwd    -1  -salt  ssdklkdt 回车
Password:此处输入密码(redhat)
此处生成一串乱码,copy下来放在shadow中
vim   shadow
root:密码乱码:上次修改时间:最短使用期限(一般为0):最长使用期限(一般为99999):7:::
 
chmod 400 /mnt/sysroot/etc/shadow
 
改一下vim  /mnt/sysroot/etc/inittab
改成如图
 
cp -d  /usr/lib/libnss*   /mnt/sysroot/usr/lib/
cp  /lib/libnss*   /mnt/sysroot/lib/
sync
 nss库文件的工作并不是依靠库本身就可以工作的,它依赖nss这个服务的配置文件
这个配置文件在/etc/nsswitch.conf
vim  /etc/nsswitch.conf 复制里面的
然后cd  /mnt/sysroot/etc
vim  nsswitch.conf
把上图的东西输入,保存退出
 
 

你可能感兴趣的:(linux,职场,休闲,网络模块)