私人定制—linux系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了私人定制—linux系统相关的知识,希望对你有一定的参考价值。


自制Linux系统:


1、分区并创建文件系统

[[email protected] ~]# fdisk  /dev/sdb

分两个必要的分区

/dev/sdb1对应/boot /dev/sdb2对应根/

创建文件系统:

[[email protected] ~]# mkfs.ext4 /dev/sdb1
[[email protected] ~]# mkfs.ext4 /dev/sdb2


2、创建挂载点,并挂载boot

[[email protected] ~]# mkdir/mnt/boot
[[email protected] ~]# mount /dev/sdb1 /mnt/boot


3、安装grub,生成grub文件

[[email protected] ~]# grub-install --root-directory=/mnt/ /dev/sdb

技术分享


4、建立grub.conf:

[[email protected] ~]# vim /mnt/boot/grub/grub.conf
default=0
timeout=3
title mylinux
    root (hd0,0)
    kernel /vmlinuz-2.6.32-642.el6.x86_64 root=/dev/sda2 selinux=0 init=/bin/bash 
    initrd /initramfs-2.6.32-642.el6.x86_64.img


5、恢复内核和initramfs文件

[[email protected] ~]# cp /boot/vmlinuz-2.6.32-642.el6.x86_64  /mnt/boot/
[[email protected] ~]# cp /boot/initramfs-2.6.32-642.el6.x86_64.img /mnt/boot/

技术分享


6、创建一级目录

[[email protected] ~]# mkdir /mnt/sysroot/
[[email protected] ~]# mount /dev/sdb2 /mnt/sysroot/
[[email protected] ~]# mkdir –pv /mnt/sysroot/{etc,lib,lib64,bin,sbin,tmp,var,usr,sys,
proc,opt,home,root,boot,dev,mnt,media}

技术分享


7、编辑fstab文件

[[email protected] ~]# vim /mnt/sysroot/etc/fstab
/dev/sda1 /boot ext4 defaults 1 1
/dev/sda2  /    ext4 defaults 1 2


8、复制bash,相关命令和相关库文件


由于文件较多,一个一个复制较为麻烦,所以建议使用脚本,来实现复制任务。

[[email protected] ~]# vim copycmd.sh
#!/bin/bash

ch_root="/mnt/sysroot"
[ ! -d $ch_root ] && mkdir $ch_root
 
bincopy() {
    if which $1 &>/dev/null; then
        local cmd_path=`which --skip-alias $1`
        local bin_dir=`dirname $cmd_path`
        [ -d ${ch_root}${bin_dir} ] || mkdir -p ${ch_root}${bin_dir}
        [ -f ${ch_root}${cmd_path} ] || cp $cmd_path ${ch_root}${bin_dir}
        return 0
    else
        echo "Command not found."
        return 1
    fi  
}
 
libcopy() {
    local lib_list=$(ldd `which --skip-alias $1` | grep -Eo ‘/[^[:space:]]+‘)
    for loop in $lib_list;do
        local lib_dir=`dirname $loop`
        [ -d ${ch_root}${lib_dir} ] || mkdir -p  ${ch_root}${lib_dir}
        [ -f ${ch_root}${loop} ] || cp $loop ${ch_root}${lib_dir}
    done
}


read -p "Please input a command: " command

while [ "$command" != "quit" ];do
    if bincopy $command ;then
        libcopy $command
    fi
    read -p "Please input a command or quit: " command
done

技术分享


9,现在一个晓得linux已经制作完成,它只有很简单的功能,但是,以后有需要可以再添加其他的功能。下面我们来开机看一下。

技术分享


这样,一个简单的小linux已经制作完成,可以将它放在U盘等便携式设备上,可以随时使用,修改等。。。

本文出自 “I'm Groot” 博客,请务必保留此出处http://groot.blog.51cto.com/11448219/1853090

以上是关于私人定制—linux系统的主要内容,如果未能解决你的问题,请参考以下文章

UWP TextBox私人定制

zxing私人定制之一 初试扫码

UWP TextBox私人定制

私人定制-词法分析

UWP 滚动条私人定制

UWP 滚动条私人定制