构建自己的Linux 之三 初步完善(提供网络功能等)

本文介绍如何为自制Linux系统添加基本的网络功能,包括配置环境变量、加载内核模块、启动网络设备及通过DHCP获取IP地址的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

构建自己的Linux 之三 初步完善(提供网络功能)

1 添加profile文件

#Ash profile
#vim:syntax=sh
 
#No core files by default
#ulimit -S -c 0>/dev/null 2>&1
 
#USER="`id -un`" //还不支持用户登陆功能,将在以后的试验中增加
USER="root"
LOGNAME=$USER
PS1='[$USER@$HOSTNAME$PWD]#'//提示符
PATH=$PATH
 
HOSTNAME=`/bin/hostname` //主机名
export USER LOGNAME PS1 PATH //导出环境变量

2 丰富rcS文件

#!/bin/sh
 
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/lib:/usr/local/Trolltech/QtEmbedded-x86/lib:/usr/lib
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel
 
#
# Trap CTRL-C &c only in this shell so we can interrupt subprocesse.
 
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts  //这部分代码的含义可以参考前面写的文章(mdev原理)。
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
mkdir -p /var/lock
 
/bin/hostname -F /etc/sysconfig/HOSTNAME
 
insmod /lib/mii.ko  //插入网卡所需的两个内核模块
insmod /lib/pcnet32.ko
ifconfig eth0 up   //启用网卡
udhcpc  //BusyBox的DHCP功能,获取IP地址
 
echo -e "\t\tWelcome to \033[31mEmbeddedCE123\033[0m Linux"

效果如下图:


3 补充知识

modinfo 查看模块中对应的详细信息和“依赖信息”,“路径”等
/etc/modprobe.conf系统开机时加载的所有模块,向模块中传递参数信息,如何想开机的时候给模块传递信息,可以编辑它
alias 别名
options 传递参数
modprobe -r //卸载某个模块,只需要指定模块名字,不加r,加载某个移除模块
modprobe -r floppy //移除软盘
ls /lib/modules/`uname -r` // modproce在这里找模块
insmod 插入模块
insmod /PATH/TO/MODULE_FILE 它必须指定模块全路径
lsmod 显示所有模块
rmmod 移除模块,不需要指定路径
depmod 用于自动生成所有模块的依赖关系文件和映射关系文件
modules.dep map.dep


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值