科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道BabyLinux操作系统的制作过程(下) (4)

BabyLinux操作系统的制作过程(下) (4)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

其中有很多是从原系统的/etc下拷贝过来修改的,如果你是一个具有中等以上水平的Linux爱好者,那么应该一看就明白了,当然,你也可以根据自己的需要修改这些文件。

作者:ChinaITLab 来源:ChinaITLab 2007年10月20日

关键字: 过程 制作 操作系统 Linux

  • 评论
  • 分享微博
  • 分享邮件
 

其中有很多是从原系统的/etc下拷贝过来修改的,如果你是一个具有中等以上水平的Linux爱好者,那么应该一看就明白了,当然,你也可以根据自己的需要修改这些文件。其中最重要的是fstab和inittab,busybox内建的init程序用到的inittab文件的语法和一般的不一样,不能直接把原系统/etc下inittab文件拷贝过来。可以把busybox-1.00目录下的示例文件拷贝过来修改用。具体请看busybox的文档。busybox的init也可以不用inittab。但是在我制作babyLinux过程中有一个非常奇怪的bug。所有/sbin下的busybox链接在做成压缩的根文件系统,解压后都不能正常运行,显示找不到该命令。只有当我在/bin下做这些链接时才能运行。具体原因还不太清除,所以你需要做下面的工作:

#cd /babyLinux/rootfs/sbin
#ls
chroot getty ifconfig losetup pivot_root reboot swapoff sysctl
fdisk halt init mkswap poweroff route swapon telnetd

查看到sbin下有上述链接,转到bin下:

#cd /babyLinux/rootfs/bin

重新做这些链接:

#ln -s busybox chroot
#ln -s busybox getty
#ln -s busybox ifconfig
…

然后把sbin下的链接删除,以节省空间:

#rm -rf /babyLinux/rootfs/sbin/*

再把原先inittab中所有的sbin改成bin ,Init.d下的文件:rcS。请确保这个文件是可执行的,否则请改成可执行的:

#chmod u+x rcS

rcS的内容:

#! /bin/sh
mount -o remount,rw / 
/bin/mount -a
>/etc/mtab
echo 
echo
echo
echo
echo -en "\t\tWelcom to \\033[0;32mBabyLinux\\033[0;39m\n"
echo -en "\\033[0;36m\n"
echo
echo -en "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\t\t\n"
echo -en "+ This is a tiny Linux system based on a floppy.It contains \t\t\n"
echo -en "+ more than 100 basic Linux commands and tools.The kernel of \t\t\n"
echo -en "+ this tiny system support all kinds of normal filesystems. \t\t\n"
echo -en "+ Linux ext2,ext3,jfs,reiserfs and Windows fat,vfat,ntfs[readonly]\t\t\n"
echo -en "+ is supported! So it is a powerful small system you can use it \t\t\n"
echo -en "+ as a Linux and Windows rescue disk.Beside this,the kernel also\t\t\n"
echo -en "+ contains the drivers of Reltek8139,NE2000,via-rhine ethernet\t\t\n"
echo -en "+ adpater. you can configure the IPaddress and netmask with tools\t\t\n"
echo -en "+ 'ifconfig' and config the default gateway with command 'route'. \t\t\n"
echo -en "+ Is there anything else? Haha,this is a telnet server build-in\t\t\n"
echo -en "+ you can type 'telnetd' to startd it and thus your friends can\t\t\n"
echo -en "+ logon to your system to help you solve the problem.\t\t\n"
echo -en "+ \\033[0;32mAll these great features 
            are powered by BusyBox 1.0\\033[0;36m\t\t\n"
echo -en "+ This is a free system tool developed by GuCuiwen.\t\t\n"
echo -en "+ RUN YOUR OWN RISK of using it ! if you have any problem please\t\t\n"
echo -en "+ mailto : win2Linux@163.com Enjoy!!\t\t\n"
echo -en "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\t\t\n"
echo -en "\\033[0;39m\n"
hostname BabyLinux

可以自己作相应的修改。

以上是babyLinux根文件系统的所有内容,他的总大小应该在1M左右。

我还计划做一个live CD,但是目前已经有很多live CD了,而且都做的非常好。但是我会自己做一个作为学习Linux的一种手段。如果有时间,可能写一个做U盘Linux和live CD的教程。但是,我想不会写的和这个文档一样详细了,我的时间有限。可能大概讲一下原理和步骤。有经验的Linux爱好者应该可以通过阅读文档完成制作。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章