学习建立自己的Linux系统


  

前天看了一些关于《编译自己的linux系统》的文章,也照着做了一下,发现很好玩。

我大概整理了一些我的安装过程(可惜当时没抓图),给大家分享一下,欢迎指正!

啥也不说了,开始吧,该明白的以后自然会明白!

 

声明:以下内容大部分收集自网络,有不明白的请查看原作者的详细说明

参考网址:

http://www.linuxfromscratch.org/(LFS官方网站)

http://lamp.linux.gov.cn/Linux/LFS-6.2/(中文翻译)

手把手教你如何建立自己的Linux系统 第二版

   http://www.linuxsir.org/bbs/thread322894.html

LFS6.3自动化脚本-之ALFS(jhalfs-2.3.1)(原创

   http://blog.chinaunix.net/u2/81513/showart.php?id=1276389

LFS6.3完成后继续安装openssh和samba client

   http://linux.chinaunix.net/techdoc/system/2008/10/13/1038096.shtml

先大致扫一遍前面的文章,

准备工作:

1Windows下准备大概20G或更多的空间[E:],准备开始linux生涯

2Windows下建立共享目录 [E:\win-share],允许修改

3)下载Linux资源

       lfslivecd-x86-6.3-r2160.iso             E:\linux-lfs

       utf8-kernel-2.6.22.5-core-1.patch.bz2   E:\win-share

       utf8-kernel-2.6.22.5-fonts-1.patch.bz2  E:\win-share

       openssh-4.7p1.tar.gz                    E:\win-share

       openssl-0.9.8g.tar.gz                   E:\win-share

       openssl-0.9.8g-fix_manpages-1.patch     E:\win-share

       blfs-bootscripts-20080816.tar.bz2       E:\win-share

参考下载地址

   http://www.linuxfromscratch.org/livecd/download.html(页面)

http://zdbr.net.cn/download/utf8-kernel-2.6.22.5-core-1.patch.bz2

http://zdbr.net.cn/download/utf8-kernel-2.6.22.5-fonts-1.patch.bz2

http://sunsite.ualberta.ca/pub/OpenBSD/OpenSSH/portable/openssh-4.7p1.tar.gz

http://www.openssl.org/source/openssl-0.9.8g.tar.gz

http://www.linuxfromscratch.org/patches/blfs/6.3/openssl-0.9.8g-fix_manpages-1.patch

http://www.linuxfromscratch.org/blfs/download.html(页面)

3)下载脚本文件(可选,没有也行,下载后用UE修改其中的IP等相关项,DOS格式)

       alfs_01.sh(可选)                              E:\win-share

       alfs_02.sh(可选)                              E:\win-share

       openssh-install.sh(可选)                      E:\win-share

参考下载地址

http://blog.chinaunix.net/u2/81513/showart.php?id=1276389(附件:目标另存为)

http://linux.chinaunix.net/techdoc/system/2008/10/13/1038096.shtml(附件:目标另存为)

     解压后用UltraEdit01.sh

      echo "--------------------start:Samba-3.0.30 --------"

      至倒数第六行的 EOF 之间内容用注释或者删除

      文件另存为 E:\win-share\openssh-install.sh

3)下载Windows软件

       vmware 6.5                      E:\(建议安装目录)

       SecureCRT 6.2                   E:\(建议安装目录)

       SecureFX 6.2                    E:\(建议安装目录)

       UltraEdit                       (这个都有吧,不多说了)

 

--------------------------------------------------------------------

第一步:

 安装 SecureCRT 6.2

 安装 vmware

    1(可选)

       Edit->Prefrences->

               ->Workspase->Default location(可选)

                          ->Keep vMs running after Workstation closes

                          ->Save screenshots to(可选)

    2Edit->Virtual Network Editor

    ->Host Virtual Adapters ->Add-> VMnet1 ->OK->应用

    ->Host Virtual Network Mapping ->VMnet1->">"(button)->

      subnet->192.168.0.0->OK->应用

    ->确定

    3File->Virtual Machine->Custom->Next

    Workstation 6.5->Next

    Installer disc image file(iso)->Browse->

        [E:\linux-lfs\lfslivecd-x86-6.3-r2160.iso] ->Next

    Linux->Other Linux 2.6.x kernel-> Next

    [lfslivecd-x86-6.3-r2160] -> [E:\linux-lfs] (以后可以改) -> Next

    [Two or One]->Next

    [796]M->Next

    Use host-only networking->Next

    BusLogic->Next

    Create a new virtual disk -> Next

    IDE->Next

    Allocate all disk space now->Next

    ...->Next->Finish

 

---------------------------------------------------------------------

第二步:Power on 一路默认回车,到root [ ~ ]#

更改root密码,临时供SecureCRT登录用

root [ ~ ]# passwd root

root [ ~ ]# net-setup->eth0<Enter>->static<Enter>->

    [192.168.0.76]->24->[192.168.0.255]->OK

root [ ~ ]# /etc/rc.d/init.d/sshd start

最小化vmware[退出光标用Ctrl+Alt],打开SecureCRT

 Connect->SSH2->[192.168.0.76]->open in a tab->Connect

 

 如果遇到显示乱码情况,请尝试

 Options->Session Options->Appearance

    ->Character encoding(UTF-8)

 

看到 linux提示符 root [ ~ ]#

然后在windows里面使用SecureCRTcopy&paste(Ctrl+Shift+V)如下命令

  说明:可打开SecureCRTView->ChatWindows在里边粘贴(Ctrl+V)后回车)

    如果行尾有连接符 && 或者 \ ,可作为整体copy&paste,为省事我加了好多&&

cfdisk

 [New] hda1 Primary linux 512M

 [New] hda2 Primary linux ***M [Write]->Quit

mkswap /dev/hda1 &&

mkfs.xfs -f /dev/hda2

 

激活交换分区并挂载硬盘

swapon /dev/hda1 &&

export LFS=/mnt/build_dir &&

mkdir -pv $LFS &&

mount /dev/hda2 $LFS &&

chmod -v a+wt $LFS &&

chown -v jhalfs $LFS &&

passwd jhalfs

(TODO:改成啥???我改的jhalfs)

 

转到用户jhalfs

su jhalfs

cd &&

cd jhalfs-2.3.1/ &&

time make

--- Build Settings --->

       [ ] Run testsuites

       [*] Create installed files logs

--- Advanced Features --->

       [ ] Create SBU and disk usage report

...

jhalfs完成,大概需要24个小时

 

---------------------------------------------------------------------

jhalfs [ ~/jhalfs-2.3.1 ]$

退出用户jhalfs

exit

#root [ ~ ]# echo $LFS

#/mnt/build_dir

mount --bind /dev $LFS/dev &&

mount -vt proc proc $LFS/proc &&

mount -vt sysfs sysfs $LFS/sys &&

mkdir -v $LFS/win-share

挂载 [E:\win-share] 目录,虚拟网卡VMnet1-IP[192.168.0.1],请替换PC用户名和密码

mount -t smbfs -o username=[***],password=[***] //192.168.0.1/win-share $LFS/win-share/

#28604: session request to 192.168.0.1 failed (Called name not present)

#28604: session request to 192 failed (Called name not present)

chmod 777 $LFS/win-share/ &&

chmod 777 $LFS/win-share/*.sh

 

为最后的设置进入chroot环境

chroot "$LFS" /usr/bin/env -i \

HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \

PATH=/bin:/usr/bin:/sbin:/usr/sbin \

/bin/bash --login

root:/#

 

<----分步 [下载了alfs_01.sh]-----开始--->##

--脚本alfs_01.sh主要设置 /etc/fstab, /etc/hosts, /etc/sysconfig/clock,

-------/etc/sysconfig/console,/etc/sysconfig/network,

-------/etc/sysconfig//network-devices/ifconfig.eth0/ipv4

sh /win-share/alfs_01.sh

mv /*.log /win-share/

可在 E:\win-share 查看输出结果

</----分步 [下载了alfs_01.sh]----完成--->##

 

<----分步 [没有alfs_01.sh]------开始---->

cat > /etc/profile << "EOF"

# Begin /etc/profile

export LANG=zh_CN.UTF-8

export INPUTRC=/etc/inputrc

alias ls="ls --color"

export PS1='\u:\w\$ '

# End /etc/profile

EOF

#

echo "HOSTNAME=talon" > /etc/sysconfig/network

cat > /etc/hosts << "EOF"

# Begin /etc/hosts (network card version)

127.0.0.1 localhost

192.168.0.76 talon

# End /etc/hosts (network card version)

EOF

#

cat > /etc/sysconfig/network-devices/ifconfig.eth0/ipv4 << "EOF"

ONBOOT=yes

SERVICE=ipv4-static

IP=192.168.0.76

GATEWAY=192.168.0.1

PREFIX=24

BROADCAST=192.168.0.255

EOF

#

cat > /etc/fstab << "EOF"

# Begin /etc/fstab

# file system mount-point type   options      dump fsck

# order

/dev/hda2    /            xfs    defaults       1 1

/dev/hda1    swap         swap   pri=1          0 0

proc         /proc        proc   defaults       0 0

sysfs        /sys         sysfs  defaults       0 0

devpts       /dev/pts     devpts gid=4,mode=620 0 0

shm          /dev/shm     tmpfs  defaults       0 0

# End /etc/fstab

EOF

</----分步 [没有alfs_01.sh]------完成---->##

 

-----安装openSSH--------------------------

sh /win-share/openssh-install.sh

mv /*.log /win-share/

 

<----分步 [没有openssh-install.sh]---开始--->

cd /sources

#

echo "----------------------start:OpenSSL-0.9.8g--------------------"

tar xvf openssl-0.9.8g.tar.gz

cd openssl-0.9.8g

patch -Np1 -i ../openssl-0.9.8g-fix_manpages-1.patch

./config --openssldir=/etc/ssl --prefix=/usr shared

make MANDIR=/usr/share/man

make MANDIR=/usr/share/man install

cp -v -r certs /etc/ssl

install -v -d -m755 /usr/share/doc/openssl-0.9.8g

cp -v -r doc/{HOWTO,README,*.{txt,html,gif}} \

    /usr/share/doc/openssl-0.9.8g

cd ..

rm -rf openssl-0.9.8g

#

echo "--------------------start:OpenSSH-4.7p1 ---------------------"

tar xvf openssh-4.7p1.tar.gz

cd openssh-4.7p1

install -v -m700 -d /var/lib/sshd &&

chown -v root:sys /var/lib/sshd &&

groupadd -g 50 sshd &&

useradd -c 'sshd PrivSep' -d /var/lib/sshd -g sshd \

-s /bin/false -u 50 sshd

sed -i 's@-lcrypto@/usr/lib/libcrypto.a -ldl@' configure

sed -i 's@ -ldes@@' configure &&

./configure --prefix=/usr --sysconfdir=/etc/ssh --datadir=/usr/share/sshd \

    --libexecdir=/usr/lib/openssh --with-md5-passwords \

    --with-privsep-path=/var/lib/sshd \

    --with-xauth=/usr/bin/xauth &&

make

rm /usr/bin/scp &&

if test -f /usr/bin/scp-bak

then

    rm /usr/bin/scp-bak

fi

make install

install -v -m755 -d /usr/share/doc/openssh-4.7p1

install -v -m644 INSTALL LICENCE OVERVIEW README* WARNING.RNG \

/usr/share/doc/openssh-4.7p1

cd ..

rm -rf openssh-4.7p1

</----分步 [没有openssh-install.sh]---完成--->

 

-----安装blfs-bootscripts(开机自动启动ssh)---

cp /win-share/blfs-bootscripts-20080816.tar.bz2 /sources

cd /sources

tar xvf blfs-bootscripts-20080816.tar.bz2

cd blfs-bootscripts-20080816

make install-sshd

 

-----编译linux内核------------------------

cd /sources

export LFS=/sources

tar xvf $LFS/linux-2.6.22.5.tar.bz2

cd linux-2.6.22.5

#UTF-8编码文字显示补丁

cp /win-share/utf8-kernel-2.6.22.5-core-1.patch $LFS

cp /win-share/utf8-kernel-2.6.22.5-fonts-1.patch $LFS

patch -Np1 -i $LFS/utf8-kernel-2.6.22.5-core-1.patch

patch -Np1 -i $LFS/utf8-kernel-2.6.22.5-fonts-1.patch

make mrproper

make menuconfig

--1)支持BusLogicSCSI磁盘

-----Device Drivers->SCSI device support->SCSI low-level drivers->

--------<*>BusLogic SCSI support

--2)支持网络

-----Device Drivers->Network device support->Ethernet (10 or 100Mbit)->

--------<M>AMD PCnet32 PCI support

--3)显示UTF-8编码文字

-----Device Drivers->Graphics support->

--------<*>Support for frame buffer devices

--------[*]VESA VGA graphics supports

--------Console display driver support->

--------<*>Framebuffer Console support

--------[*]Select compiled-in fonts

--------[*]VGA 8x16 font

--4)支持声卡

-----Device Drivers->Sound->[M]Advanced Linux Sound Architecture->PCI devices->

--------<M>(Creative) Ensoniq AudioPCI 1371/1373

--5)文件系统XFS

-----File Systems->XFS support->

--------<*>XFS filesystem support

 

make

make modules_install

##安装相关文档

cp -v arch/i386/boot/bzImage /boot/lfskernel-2.6.22.5 &&

cp -v System.map /boot/System.map-2.6.22.5 &&

cp -v .config /boot/config-2.6.22.5 &&

install -d /usr/share/doc/linux-2.6.22.5 &&

cp -r Documentation/* /usr/share/doc/linux-2.6.22.5

 

------------启动项配置

grub

root (hd0,1)

setup (hd0)

quit

 

------------配置启动菜单

sh /win-share/alfs_02.sh

 

<----分步 [没有alfs_02.sh]---开始----->

cat > /boot/grub/menu.lst << "EOF"

# Begin /boot/grub/menu.lst

# By default boot the first menu entry.

default 0

# Allow 3 seconds before booting the default.

timeout 3

# Use prettier colors.

color green/black light-green/black

# The first entry is for LFS.

title Talon LFS 6.3

root (hd0,1)

kernel /boot/lfskernel-2.6.22.5 root=/dev/hda2

EOF

#

echo "start:Link menu.lst To /etc---------------"

mkdir -v /etc/grub

ln -sv /boot/grub/menu.lst /etc/grub

#

</----分步 [没有alfs_02.sh]---完成----->

 

设置一下密码(供今后登录用,请牢记)

passwd root

root:/# logout

root [ ~ ]# reboot

 vmware 回车等重启完成

SecureCRT重新连接看看,Ok了是吧?

vmware中确认选了

   Edit->Preferences->Keep vMs running after Workstation closes

关闭Vmware(我不习惯Ctrl+Alt),感谢VMware在后台给我们静静守候!

想传文件?安装SecureFX,FSTP,[192.168.0.76]

开始玩吧,Good Luck!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值