`
isiqi
  • 浏览: 16466729 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

通过chroot方式安装Arch Linux

阅读更多

通过chroot方式安装Arch Linux

<!--插入广告JS代码-->
Arch是一个优秀的发行版,小巧,快速,定制性好。被称为十分钟的Gentoo linux
今天安装上,真是不错,和我自己编译的lfs差不多。真是有前途的发行版啊。
对于newbie,它不是那么容易使用,所以想要很好的使用它,需要对linux有一定的了解
通常安装linux有两种方式:一:loadin引导安装。二:grub引导安装
而象lfs,gentoo则通过在宿主系统上使用chroot方式安装。
优点是你可以一边安装它,一边做其他的事情。而且可以自己决定如何安装。
总之是不错的啦。 ^_^

什么是Arch?(distrowatch.com的介绍)

Arch Linux是一份为i686优化的轻量级Linux发行,它包含了各种软件的最新稳定版本。软件以.tar.gz格式打包并由包管理器进行跟踪维护,这样 的设计使得软件升级非常容易。与其他发行相比,Arch的技术相当之先进。一些相对不大使用(至少对我而言)的东西没有保留下来(例如,info页面)。 一次缺省的Arch安装带给你的是一套牢固的系统基础,你可以在此基础上增加软件包从而创建你所需要的定制安装。Arch的包系统允许你方便地创建你自己 的软件包,这使得按你自己特定的配置重新编译一份新的软件包变得非常容易。Arch的另一个目标是让用户尽可能地使用到Linux的新特性,例如 ReiserFS、ext3以及devfs。

自从使用lfs后,就喜欢上了可以chroot安装的系统,真方便啊。:) 所以就想使用chroot方式安装Arch
我现在只有一个20G的ReiserFS分区,已经装了10G的东东。单独分区装Arch不可能了,只能想办法装在这20G的分区上。
先用Qemu装了遍,发现Arch的安装程序很简单,定制性很强,正好适合chroot安装。

开始我的Arch之旅: ^_^

http://mirror.pacific.net.au/ibiblio/distributions/archlinux/0.7/iso/i686/
这里可以下载到Arch-0.7的base版和完整版,当初下载时不了解,下载了完整版,结果装的时候只装了base的东东,剩下的都直接从网上下载安装的最新版本 :(

先从ISO中提取出chroot安装需要的东东(initrd.img):
[root@Arch ~]#mount /root/arch-0.7.iso /root/Arch
[root@Arch ~]#cp /root/Arch/isolinux/initrd.img /root
解压缩initrd.img:
[root@Arch ~]#cat initrd.img |gzip -d >initrd
挂载在/root/tmp下:
[root@Arch ~]#mount -o loop initrd tmp/

将initrd.img中的东东全部复制到目标分区上(我挂载在/mnt/distro):
[root@Arch ~]#mkdir /mnt/distro/Arch
[root@Arch ~]#cp -aR /root/tmp/* /mnt/distro/Arch
因为安装程序需要在/dev/vc/5记录安装信息,所以在/dev下创建它:
[root@Arch ~]#cd /mnt/distro/Arch/dev
[root@Arch dev]#mkdir vc
[root@Arch dev]#mknod vc/5 c 4 5
arch-0.7.iso挂载在src目录下,以备安装软件包:
[root@Arch dev]#mount /root/arch-0.7.iso /mnt/distro/Arch/src -o loop

chroot安装Arch:

因为initrd.img里面没有bash,chroot会出错,cp过去一个:
[root@Arch dev]#cp /bin/bash /mnt/distro/Arch/bin
[root@Arch dev]#chroot /mnt/distro/Arch
[I have no name!@Arch /]#
设置TERM为linux,这样运行setup才不会出错:
[I have no name!@Arch /]#TERM=linux

运行setup开始安装,这个程序在图形下的终端比较难看,我是ctrl+alt+F2在字符下运行的

[I have no name!@Arch /]#arch/setup
首选选择安装介质,选cdrom就可以了。

"Prepare Hard Device"? 略去。我可不想分区 :)
"Select Packages"???? 选择src,选择base,调整安装的软件包,默认即可。
"install Packages"??? 开始安装,所有软件包安装在/mnt。
"install kernel "???? 我选择了v2.6IDE的,先装上再考虑自己编译内核 :)
"Configure System"???? 选择喜欢的编辑器编辑吧,可以再图形界面下做。
"Install Bootloader"?? 略去。我有/boot分区,使用它管理所有的系统启动。
?
配置系统:

我是按照linuxfans:sutie大侠的文章配置的:
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=106299

不同的是,我是固定IP上网,说一下固定IP怎么配置吧:
#
# Interfaces to start at boot-up (in this order)
# Declare each interface then list in INTERFACES
# (prefix an interface in INTERFACES with a ! to disable it)
#
# Note: to use DHCP, set your interface to be "dhcp" (eth0="dhcp")
#?
lo="lo 127.0.0.1"
eth0="eth0 10.70.54.30 netmask 255.255.255.0 broadcast 10.70.54.255"
#IP:10.70.54.30 netmask:255.255.255.0 broadcast 10.70.54.255
#填上自己的IP,NETMASK.....
# Routes to start at boot-up (in this order)
# Declare each route then list in ROUTES
#?? (prefix a route in ROUTES with a ! to disable it)
#
gateway="default gw 10.70.54.254" ------>网关:10.70.54.254
ROUTES=(gateway) ---->注意这里要去掉"!"

配置/etc/fstab:

Arch的fstab和其他发行版表示分区所有不同,表示hda1:/dev/discs/disc0/part1

/etc/fstab:
那些tmpfs,devpts,usbfs...不用修改,添加上需要挂载的分区即可。
.......略
/dev/discs/disc0/part5 /???????? reiserfs? defaults 0 1
/dev/discs/disc0/part11 swap???? swap????? defaults 0 0

安装好后我使用lfs中的内核引导Arch,发现无法识别/dev/discs/disc0
只好换回原来表示分区的格式(/dev/hda5),不知道是哪里的问题 :(
我现在fstab的样子:
/dev/hda5????????? /???? reiserfs?? defaults,noatime,notail? 0?????? 1
/dev/hda11? swap?????????? swap???? defaults???????????????? 0?????? 0

配置grub/menu.lst:

title Arch Linux
kernel (hd0,7)/vmlinuz26 root=/dev/discs/disc0/part5 ro
这是使用Arch安装程序安装的2.6.10的内核。我b把它复制到/boot分区(hda8),统一管理 :)
title Arch Linux
kernel (hd0,7)/lfs-2.6.10-lvm root=/dev/hda5 vga=791
这是使用lfs内核的配置文件。 无法识别/dev/discs/disc0,只好用/dev/hda5 :(

Arch中使用已有的内核也很简单:

grub中使用旧内核引导,如上所示,将原内核的/lib/modules/`uname -r`目录复制到Arch /lib/modules中,在/etc/rc.conf中加载需要启动的模块就可以了,当然也可以使用hotplug自动加载,只是hotplug服务启动慢一点 :)

我的/etc/rc.conf加载模块配置:
#
# Module to load at boot-up (in this order)
#?? (prefix a module with a ! to disable it)
#
MODULES=(!via_rhine !ide-scsi snd_intel8x0 soundcore snd snd_seq_oss snd_pcm_oss snd_mixer_oss rtc nls_cp936 intel_agp agpgart kqemu)
snd_intel8x0是我的声卡,似乎这里不用加载这么多关于声音的,没实验了,都写上了 :)
关于这些模块名可以从/lib/modules/`uname -r`/modules.alias 得到。

一切做好后,将Arch系统移动到目标分区根目录下:
[root@Arch Arch]#mv /mnt/distro/Arch/mnt/* /mnt/distro
OK,现在就可以reboot,体验Arch的风采啦。 ^_^

base安装好的只是基本系统,没有X,没有KDE....下一步从网上下载回最新版本X,KDE安装上。
也在chroot环境进行吧,不用对着黑呼呼的进度条。还可以听听歌,上上网的 :)
[root@Arch ~]chroot /mnt/distro?
[root@Arch Arch]
先同步更新软件数据库:
[root@Arch Arch]pacman -Sy
安装xorg:
[root@Arch Arch]pacman -S xorg
速度很慢的话,可以使用下载工具从镜像站点下载回来xorg的pkg包使用pacman -A 包名安装。

OK,快去pacman吧 ! ^_^

Arch相关资源:
Server = http://mirror.pacific.net.au/ibiblio/distributions/archlinux/current/os/i686/
Server = http://archlinux.antesis.org/current/os/i686
速度不错的镜像,我的所有软件包都是用proz从第二个下载的,很快 :)
http://bbs.linuxsir.org/forumdisplay.php?f=94
linuxsir Arch版区,好地方 :)
http://cle.linux.org.tw/index.php?LinuxChineseHowto%2FArchLinux
Arch中文安装手册。(就是ISO里arch目录下的安装文档)

分享到:
评论

相关推荐

    如何在虚拟机中安装 Arch Linux 操作系统.doc

    在虚拟机中安装 Arch Linux 操作系统是一项技术性较强的任务,尤其对于中级 Linux 用户来说,这是一个挑战和学习的绝佳机会。下面将详细讲解如何在 VMware Workstation 15.0 中进行这一过程。 首先,确保你已经下载...

    Install Guide for Arch Linux

    《Arch Linux 中文安装指南》是由傻东编写的,旨在为中文用户提供了详尽的Arch Linux操作系统安装步骤。Arch Linux是一款基于滚动更新的Linux发行版,以其高度自由度、灵活性和对最新软件包的支持而受到高级用户的...

    Arch Linux的简明安装步骤和配置方法.pdf

    最后,通过`arch-chroot`进入新系统并设置语言、时区、主机名,安装必要的软件包,如GRUB引导加载器,配置网络(默认支持dhcp连接),设置用户和密码,以及完成其他个性化配置。 总结来说,安装Arch Linux涉及下载...

    Beginners' Guide - ArchWiki.pdf

    本文档是一份针对初学者的《Arch Linux安装指南》,旨在指导用户使用Arch Linux官方提供的安装脚本来安装Arch Linux。为了方便阅读,指南还提供了一个分页版本。在安装之前,建议用户预先浏览FAQ,以便对安装过程有...

    arch_install:Arch Linux的安装脚本

    Arch Linux 是一个基于x86_64架构的Linux发行版,以其高度的自由度、...通过深入研究`arch_install-main`,你可以了解到Linux安装背后的逻辑,这对任何想要深入了解Linux操作系统的用户来说都是一次宝贵的学习经历。

    archroot:轻松将Arch Linux与另一个Linux发行版结合

    使用archroot的步骤大致包括:安装依赖(如debootstrap或schroot等)、下载Arch Linux的ISO镜像、挂载ISO并提取系统文件、创建chroot环境、然后通过chroot进入Arch Linux环境。在这个环境中,用户可以更新系统、安装...

    archlinux_installer:Arch Linux安装程序

    Arch Linux安装程序(Arch repo和Aur) 仅适用于了解Arch Linux的用户-&gt; 使用Koljasha的设置为VirtualBox和笔记本电脑自动安装:-) Ru本地化为默认设置; 为了改变: ./installer行: ./installer ./chroot行数: ....

    Arch linux 最新安装步骤 (2022.8.5)

    通过这些步骤,你可以顺利地完成Arch Linux的安装。需要注意的是,在实际操作过程中,可能还会遇到其他问题,例如驱动兼容性、软件冲突等,需要根据具体情况来解决。希望这篇指南能够帮助大家顺利完成Arch Linux的...

    ArchToolPy:从Live CD安装Arch Linux的实用程序

    传统的Arch Linux安装通常包括以下步骤: 1. **下载ISO镜像**:获取最新的Arch Linux ISO文件。 2. **创建Live USB或DVD**:使用工具如`dd`或`Rufus`将ISO写入USB驱动器或DVD。 3. **启动Live系统**:用创建的Live...

    archlinux安装分享

    ### Arch Linux USB 安装指南 #### 概览 本文档旨在详细介绍如何将 Arch Linux 系统安装到 USB ...通过这种方式安装 Arch Linux,不仅可以方便地携带和使用操作系统,还可以灵活地定制和配置系统,以满足不同的需求。

    clean-chroot-manager:包装脚本,用于在Arch Linux下管理干净的chroot

    清洁chroot经理包装器脚本,用于在Arch Linux下构建软件包时管理buildroot。为什么要使用它?与标准的arch-build脚本相比,Ccm具有几个优点:自动管理chroot中的本地存储库,以便从该本地存储库透明地提取您构建的...

    arch-linux:配置,解决方案和个性化环境tra balho sob Arch linux

    最后,通过`chroot`进入新安装的系统进行进一步配置。 **配置GRUB** 为了引导新安装的Arch Linux,需要安装并配置GRUB2。确保GRUB引导装载程序被正确地写入MBR或EFI系统分区。使用`os-prober`检测其他操作系统,...

    archconfig:安装和配置Arch Linux

    **Arch Linux 安装与配置指南** Arch Linux 是一款基于滚动更新的Linux发行版,以其高度自定义性和灵活性而受到高级用户的青睐。它遵循“KISS”(Keep It Simple, Stupid)原则,提供了一个轻量级且无图形界面的...

    archLinux install dual

    2. **引导与进入Arch Linux安装环境** 使用ISO镜像创建的启动媒体重启电脑,进入BIOS设置,将启动顺序调整为优先从USB或DVD启动。这将引导您进入Arch Linux的Live环境。 3. **硬盘分区** 使用`fdisk`或`gparted`...

    arch-linux-setup:设置Arch Linux以供使用

    1. 一个空白的USB驱动器或DVD,用于创建可启动的Arch Linux安装媒体。 2. 一个支持UEFI或BIOS的计算机。 3. 网络连接,因为Arch Linux采用网络安装方式。 ### **二、创建安装媒体** 1. 下载最新版的Arch Linux ISO...

    arch:Arch Linux笔记

    - **引导安装**:将USB插入电脑,设置BIOS从USB启动,进入Arch Linux安装环境。 - **分区**:使用`cfdisk`或`gdisk`进行磁盘分区,推荐使用LVM和LUKS加密以提高灵活性和安全性。 - **格式化和挂载**:使用`mkfs`...

    arch-install-script:我试图自动化Arch Linux安装过程的一部分

    拱安装脚本我试图自动化Arch Linux安装过程的一部分这主要供我自己使用。 该脚本对系统做出了一些假设,这些假设可能不适用于其他系统。从安装ISO获取脚本使用wget ...

    archrc:Arch Linux 配置

    chroot后,安装一些需要的包 # pacman-key --init # pacman-key --populate archlinux # pacman -S git reflector zsh 用反射器更新镜像列表,例如, # reflector -l 5 -c US -p ...

    Linux Deploy.zip

    该应用通过创建一个基于Chroot的环境来运行Linux,Chroot是一种系统调用,可以改变进程的根目录,使得进程认为其访问的文件系统结构是从指定的新根目录开始的。Linux Deploy将Linux内核、系统库和用户空间应用打包到...

Global site tag (gtag.js) - Google Analytics