(OK) 自己动手构建Linux发行版---简版

《自己动手构建Linux发行版》

 

1. 配置环境

[root@localhost ~]# uname -a
Linux localhost.localdomain 5.0.10-300.fc30.x86_64 #1 SMP Tue Apr 30 16:22:12 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost ~]# su - ztg
[ztg@localhost ~]$ pwd
/home/ztg
[ztg@localhost ~]$
set +h
umask 022
export MINILINUX=~/minilinux
mkdir -pv ${MINILINUX}
export LC_ALL=POSIX
export PATH=${MINILINUX}/cross-tools/bin:$PATH
// $ export PATH=${MINILINUX}/cross-tools/bin:/bin:/usr/bin

[ztg@localhost ~]$
mkdir -pv ${MINILINUX}/{bin,boot{,grub},dev,{etc/,}opt,home,lib/{firmware,modules},lib64,mnt}
mkdir -pv ${MINILINUX}/{proc,media/{floppy,cdrom},sbin,srv,sys}
mkdir -pv ${MINILINUX}/var/{lock,log,mail,run,spool}
mkdir -pv ${MINILINUX}/var/{opt,cache,lib/{misc,locate},local}
install -dv -m 0750 ${MINILINUX}/root
install -dv -m 1777 ${MINILINUX}{/var,}/tmp
install -dv ${MINILINUX}/etc/init.d
mkdir -pv ${MINILINUX}/usr/{,local/}{bin,include,lib{,64},sbin,src}
mkdir -pv ${MINILINUX}/usr/{,local/}share/{doc,info,locale,man}
mkdir -pv ${MINILINUX}/usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -pv ${MINILINUX}/usr/{,local/}share/man/man{1,2,3,4,5,6,7,8}
for dir in ${MINILINUX}/usr{,/local}; do
    ln -sv share/{man,doc,info} ${dir}
done

install -dv ${MINILINUX}/cross-tools{,/bin}
ln -svf ../../proc/mounts ${MINILINUX}/etc/mtab

cat > ${MINILINUX}/etc/passwd << "EOF"
root::0:0:root:/root:/bin/ash
EOF

cat > ${MINILINUX}/etc/group << "EOF"
root:x:0:
bin:x:1:
sys:x:2:
kmem:x:3:
tty:x:4:
daemon:x:6:
disk:x:8:
dialout:x:10:
video:x:12:
utmp:x:13:
usb:x:14:
EOF

cat > ${MINILINUX}/etc/fstab << "EOF"
# file system  mount-point  type   options          dump  fsck
#                                                         order
rootfs          /               auto    defaults        1      1
proc            /proc           proc    defaults        0      0
sysfs           /sys            sysfs   defaults        0      0
devpts          /dev/pts        devpts  gid=4,mode=620  0      0
tmpfs           /dev/shm        tmpfs   defaults        0      0
EOF

cat > ${MINILINUX}/etc/profile << "EOF"
export PATH=/bin:/usr/bin
if [ `id -u` -eq 0 ] ; then
        PATH=/bin:/sbin:/usr/bin:/usr/sbin
        unset HISTFILE
fi
# Set up some environment variables.
export USER=`id -un`
export LOGNAME=$USER
export HOSTNAME=`/bin/hostname`
export HISTSIZE=1000
export HISTFILESIZE=1000
export PAGER='/bin/more '
export EDITOR='/bin/vi'
EOF

echo "minilinux-test" > ${MINILINUX}/etc/HOSTNAME

cat > ${MINILINUX}/etc/issue<< "EOF"
MINI LINUX 0.1
Kernel \r on an \m
EOF

cat > ${MINILINUX}/etc/inittab<< "EOF"
::sysinit:/etc/rc.d/startup
tty1::respawn:/sbin/getty 38400 tty1
tty2::respawn:/sbin/getty 38400 tty2
tty3::respawn:/sbin/getty 38400 tty3
tty4::respawn:/sbin/getty 38400 tty4
tty5::respawn:/sbin/getty 38400 tty5
tty6::respawn:/sbin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值