当前位置: 首页 > news >正文

gentoo基本安装过程

该文章是本人在gentoo官方安装文档的基础上简单总结的,也是本人自己实践过的,目前本人用的就是gentoo,对于真的需要安装gentoo的朋友,建议还是参考官方文档,说的比较详细,这个可以简单看看,可以从整体上把握gentoo的安装过程。

安装步骤

  1. 选择install-amd-minimal-.iso刻录到u盘中,作为安装系统的最基本的环境
    注:也可以用已安装好的系统作为基本系统环境,如fedora或ubuntu等其它的发行版

  2. 下载stage3包,其包含了一个最小的gentoo系统环境

  3. 网络配置额外分析

  4. 磁盘准备常规:(使用的是单独的磁盘,/dev/sdb),要求准备三个分区,分别用于boot,swap和root.步骤如下
    注:由于本人第一次安装的时候是在移动硬盘上进行的,所以这里的盘符是使用的/dev/sdb

# fdisk /dev/sdb
# n    添加分区1,用于boot
# p    选择建立主分区
# +128M     设置大小为128M# n      添加分区2,用于swap
# p      选择建立主分区
# +2G       设置大小为2G
# t    选择分区2,设置分区类型为82# n    添加分区3
# p    选择建立主分区
# +30G    设置大小为30G
  1. 分区格式化
  # mkfs.ext2 /dev/sdb1# mkfs.ext4 /dev/sdb3
  1. swap 分区格式化
 # mkswap /dev/sdb2# swapon /dev/sdb3
  1. 挂载刚刚建立的分区
 # mkdir /mnt/gentoo# mount /dev/sdb3 /mnt/gentoo# mkdir /mnt/gentoo/boot# mount /dev/sdb2 /mnt/gentoo/boot
  1. 安装stage3包
# cd /mnt/gentoo        切换到/mnt/gentoo目录
# links   连接到该网站下载stage3文件包当然也是可以提前下好,只要放在要安装的分区下面即可。
# tar xvjpf stage3-*.tar.bz2
  1. 安装portage快照(在最新的官方文档中是没有这一步的,但本人实际操作的时候缺了这部是没有办法继续进行的)
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
  1. 配置编译选项
# nano -w /mnt/gentoo/etc/portage/make.conf  (vim /mnt/gentoo/portage/make.conf)
# CFLAGS="-march=k8 -02 -pipe" 
# CXXFLAGS="${CFLAGS}"可选:MAKEOPTS="-j2"
  1. 复制host系统的dns信息到新系统中,为后面联网做准备
# cp -L /etc/resolv.conf /mnt/gentoo/etc/
  1. 挂载一些必要的文件系统
# mount -t proc proc /mnt/gentoo/proc
# mount --rbind /sys /mnt/gentoo/sys
# mount --rbind /dev /mnt/gentoo/dev

13.切进新系统,使用新系统的环境

# chroot /mnt/gentoo /bin/bash
# source /etc/profile
# export PS1="(chroot) $PS1"
  1. 配置portage,下载的portage包可能比较旧,此时可以更新一下
 # emerge-webrsync# emerge --sync
  1. 选择适合的profile,各取所需,针对kde,gnome不同桌面的优化,当然也可以不用桌面环境
 # eselect profile list# eselect profile set 2        2是我电脑上的选项
  1. 配置USE变量
# less /usr/portage/profiles/use.desc
# nano -w /etc/portage/make.conf       
# USE="gtk gnome -qt4 -kde dvd alsa cdr"      严重建议在配置USE的时候,如果选择了gnome的话,一定要在udev和systemd之间禁用一个,否则到后面你会很苦
  1. 配置timezone配置时区,同样根据自己的所在地自由选择
# less /usr/share/zoneinfo
# echo "Asia/Chongqing" > /etc/timezone
# emerge --config sys-libs/timezone-data
  1. 配置locale 语言配置,个人随意,但是POSIX C基本是要选的吧
# nano -w /etc/locale.gen
# locale-gen# eselect locale list
# eselect locale set 9
# env-update && source /etc/profile
  1. 安装sources
 # emerge gentoo-sources
  1. 配置sources 开始配置内核了
 # cd /usr/src/linux

在这里你有两种选择,一种是手动配置内核,还有一种是使用genkernel一部搞定,对于没有配置过内核的还是建议使用genkernel吧,否则后面可能会遇到驱动问题

使用genkernel:

# zcat /proc/config.gz > /usr/share/genkernel/arch/x86_64/kernel-config
# emerge genkernel
# genkernel all
# ls /boot/kernel* /boot/initramfs* (如果不存在,使用genkernel --install initramfs重建

手动配置:

   cd /usr/src/linuxmake menuconfigmake && make modules_installcp arch/x86_64/boot/bzImage /boot/kernel-3.4.9-gentoo
  1. 加载核心模块,认识的话就自己选吧,为了省事这步可以省的
 #ls /lib/modules/`uname -r`/ -typee f iname '*.o' -or -iname '*.ko' | less#nano -w /etc/conf.d/modules #modules_2_6="3c59x"
  1. 编辑文件系统信息
 # nano -w /etc/fstab# /dev/sdb1 /boot  ext2 defaults,noatime 0 2# /dev/sdb2 none   swap sw 0 0# /dev/sdb3 / ext4 noatime 0 1# /dev/cdrom /mnt/cdrom auto noauto,user  0 0
  1. 编辑主机名
# nano -w /etc/conf.d/hostname
# hostname="zjd"
  1. 设置开机启用网络,每个人设备上的网卡设备名不同,根据实际来修改
# cd /etc/init.d
# ln -s net.lo net.eth0
# rc-update add net.eth0 default (del)
  1. 设置系统信息
# passwd   root   设置密码# nano -w /etc/rc.conf# nano -w /etc/conf.d/hwclock    如果硬件时钟没用UTC,需要添加"clock="local""
  1. 安装systen logger
# emerge syslog-ng
# rc-update add syslog-ng default
  1. 安安装cron daemon
# emerge cronie
# rc-update add cronie default
  1. 安装文件系统工具
  #emerge xfsprogs#emerge reiserfsprogs#emerge jfsutils
  1. 安装DHCP客户端
# emerge ducpcd
  1. 安装bootloader
 # emerge sys-boot/grub# grub-install /dev/sdb# grub2-mkconfig -o /boot/grub/grub.cfg

大体步骤就这样了,当然这还只是基本的linux环境,如果想要安装图形界面的话,如果还想要装图形界面的话,那么恭喜你,一大波麻烦正在靠近。最起码长时间的等待是少不了的了。

写在最后

想不到这已经是7、八年前玩的东西了,时间真的过的好快。

http://www.lryc.cn/news/4558.html

相关文章:

  • 【LeetCode】1234. 替换子串得到平衡字符串
  • [动手写操作系统]-01-开机运行系统
  • 最长回文子序列问题
  • 月薪11k!从财务专员到软件测试工程师,成都校区小哥哥用三个月实现转行换岗
  • Android 逆向工具大整理,碉堡了
  • 二维数组的定义
  • SpringMVC--获取请求参数、域对象共享数据
  • 2月13日,30秒知全网,精选7个热点
  • 【C++设计模式】学习笔记(2):模式分类与模版方法 Template Method
  • 【Swift 60秒】92 - Nil coalescing
  • python pip安装的包的路径
  • 个人收藏学习
  • 【C++】类和对象---需掌握的功能
  • 2.12、进程互斥的软件实现方法
  • Java面试题-数据库
  • select 与 where、group by、order by、limit 子句执行优先级比较
  • 【Docker】用开源umami监控你的站点访问量
  • java环境配置
  • Linux系统服务:Apache安装及配置应用
  • 动态规划(Dynamic Programming)——背包问题
  • JVM学习02:内存结构
  • 6年软件测试经验,从我自己的角度理解自动化测试
  • 三种方式查看linux终端terminal是否可以访问外网ping,curl,wget
  • 【Call for papers】SIGCOMM-2023(CCF-A/计算机网络/2023年2月15日截稿)
  • Chapter5:机器人感知
  • [acwing周赛复盘] 第 90 场周赛20230211 补
  • 数组
  • MicroBlaze系列教程(4):AXI_UARTLITE的使用
  • GO 中的 init 函数
  • 使用C#编写k8s CRD Controller