linux小主机玩法,51CTO博客-专业IT技术博客创作平台-技术成就梦想

本文中接“linux系统组成之小型RedHat little linux制作二”

1、在rc0、3、6.d内增加相关的连接mkdir rc3.d

cd rc3.d

ln -sv ../init.d/tserver S66tserver

cd rc0.d

ln -sv ../init.d/tserver K33tserver

cd rc6.d

ln -sv ../init.d/tserver K33tserver

修改inittab

id:3:initdefault:

si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0

l3:3:wait:/etc/rc.d/rc 3

l6:6:wait:/etc/rc.d/rc 6

1:2345:respawn:/sbin/mingetty --loginprog=/bin/bash tty1

2:2345:respawn:/sbin/mingetty --loginprog=/bin/bash tty2

loginprog运行依赖/bin/sh.把bin下的bash连接为sh即可实现

修改rc.d/rc.sysinit为

#!/bin/bash

#

echo "welecome chris little linux"

2、增加主机名显示

None--代表没有主机名:

mkdir -p etc/sysconfig/network

vim nerwork增加

HOSTNAME=chris.linux

新增etc/fstab文件并配置

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

/dev/hda1               /boot                   ext3    defaults        0 0

/dev/hda2               /                       ext3    defaults        1 1

让其以读写的方式重新挂载根系统并增加主机名vim inittab

#!/bin/bash

#

echo "welecome chris little linux"

mount -n -o remount:rw /

echo "set the hsotname"

[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network

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

/bin/hostname $HOSTNAME

测试如下:

c0ce98efba03d08a4cb4cc3145a0eec6.png

开启虚拟终端:

由于mingetty需要用户登陆,下面利用agetty来进行登陆验证

利用脚步addshell移植agetty命令

修改inittab文件

id:3:initdefault:

si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0

l3:3:wait:/etc/rc.d/rc 3

l6:6:wait:/etc/rc.d/rc 6

1:2345:respawn:/sbin/agetty -n -l /bin/bash 38400 tty1

2:2345:respawn:/sbin/agetty -n -l /bin/bash 38400 tty2

Tty 1终端

637b4a7ab59e74000bc7eed62ef41418.png

Tty 2终端

875251086602380008c22c7e2b72d318.png

5、定义系统启动过程中显示的服务启动信息的脚本function#!/bin/bash

#

SCREEN=`stty -F /dev/console size 2>/dev/null`

COLUN=${SCREEN#* }

[ -z $COLUN ] && COLUN=80

SPA_COL=$[$COLUN-14]

RED='\033[31m'

GREEN='\033[32m'

YELLOW='\033[33m'

BLUE='\033[34m'

RONMAL='\033[0m'

success() {

string=$1

RT_SPA=$[$SPA_COL-${#string}]

echo -n "$string"

for I in `seq 1 $RT_SPA`; do

echo -n " "

done

echo -e "[   ${GREEN}OK${RONMAL}   ]"

}

failure() {

string=$1

RT_SPA=$[$SPA_COL-${#string}]

echo -n "$string"

for I in `seq 1 $RT_SPA`; do

echo -n " "

done

echo -e "[ ${RED}FAILED${RONMAL} ]"

}

然后在tserver等服务脚本内调用function脚本,即可实现显示服务启动的信息等。

#!/bin/bash

#

# chkconfig: 35 55 44

# description: chris service

#

. /etc/rc.d/init.d/functions

FILE=/var/lock/subsys/`basename $0`

prog=`basename $0`

start() {

echo "starting `basename $0`..."

touch $FILE

[ $? -eq 0 ] && success "Starting $prog" || failure "Starting $prog"

}

stop() {

echo "stopping `basename $0`..."

rm -rf $FILE

[ $? -eq 0 ] && success "Stopping $prog" || failure "Stopping $prog"

}

status() {

if [ -e $FILE ]; then

echo "Running.."

else

echo "stopping..."

fi

}

usage() {

echo "please insernt like start|stop|restart|status"

}

case $1 in

start)

start ;;

stop)

stop ;;

restart)

stop

start

;;

status)

status

;;

*)

usage

exit 1

;;

esac

6、为小系统增加网功能(网卡驱动)

虚拟机的网卡pcnet32的。先查找其驱动模块/pcnet32.ko,而且有依赖于mii.ko模块。

移植驱动模块

mkdir -p /lib/modules

cd /lib/modules

modinfo pcnet32

cp /lib/modules/2.6.18-308.el5/kernel/drivers/net/pcnet32.ko modules/

modinfo mii

cp /lib/modules/2.6.18-308.el5/kernel/drivers/net/mii.ko modules/

配置rc.d/rc.sysinit文件

#!/bin/bash

#

echo "welecome chris little linux"

mount -n -o remount,rw /

echo "set the hsotname"

[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network

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

/bin/hostname $HOSTNAME

echo "insmod pcnet32 mode"

/sbin/insmod /lib/modules/mii.ko

/sbin/inmod /lib/modules/pcnet32.ko

增加网卡配置文件etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

IPADDR=172.16.7.4

NETMASK=255.255.0.0

GATEWAY=172.16.7.1

ONBOOT=yes

添加必须的配置配置etc/init.d/network

#!/bin/bash

#

# chkconfig: 35 09 90

# description:network servce

. /etc/rc.d/init.d/functions

CONF=/etc/sysconfig/network-scripts/ifcfg-eth0

. $CONF

start () {

NETMASK=16

ifconfig eth0 $IPADDR/$NETMASK up

[ -z $GATEWAY ] && route add default gw $GATEWAY

}

stop() {

ifconfig eth0 down

}

status () {

ifconfig eth0

}

usage() {

ehco "like start,stop,restart"

}

case $1 in

start)

start

success "config network eth0 "

;;

stop)

stop

success "stop network eth0"

;;

restart)

stop

Start

success "restart network eth0"

;;

status)

status

;;

*)

usage

;;

esac

在rc.d下创建连接

rc0.d rc3.d rc6.d

cd rc0.d/

ln -sv ../init.d/network K90network

cd rc6.d/

ln -sv ../init.d/network K90network

cd rc3.d/

ln -sv ../init.d/network S09network

配置测序效果如下

29ee0ac9eac978a8c3a0c1d38ff3d22f.png

efac1bb90401b9d5105c868d112c2fbc.png

下文接“linux系统组成之小型RedHat little linux制作四”

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值