万能的坛啊,救救我的Gentoo linux 安装【aozima、watercat大哥在不?】
电赛结束就开始了Gentoo linux,安装了几个晚上都没得搞定,期间也解决了一些低级的问题,但是这个弄了一天一夜没没搞定,兄弟伙帮帮:配置完毕reboot到这儿就停住了,找不到答案:
http://cache.amobbs.com/bbs_upload782111/files_18/ourdev_479957.jpg
(原文件名:feiyang.jpg) Gentoo不是很好安装的…… 这个问题解决了就好安装了,前面是按照网上盛传的“无废话GENTOO安装”,结果他的少了一步最重要的:genkernel initrd;
少了这一步就不能把编译好的bzimage和initramfs-genkernel移动到/boot下,导致grub不可启动。
现在我又遇到这问题…… 我用 VMware 安装的Gentoo也出问题了.
http://cache.amobbs.com/bbs_upload782111/files_18/ourdev_479975.JPG
gentoo 启动失败 (原文件名:gentoobad.JPG) 你的grub.conf是不是错了 root (hd0,0) 【3楼】 zf8848
你这个可能是内核没有编译SCSI驱动 于是IDE硬盘便不能用符号SDA*
或者是你的序号没设置对
在GRUB命令上面按TAB看下硬盘下到底哪分哪几个区及序号
再手动敲命令启动吧....
没玩过Gentoo帮不上忙,呼唤猫猫,不过我觉得这问题让他出马不合适... 嗯重新配置下内核
原本的 ATA/ATAPI/MFM/RLL support 可以完全关了
Serial ATA(prod) and Parallel ATA(experimental) drivers按 y,里面的 driver 选对应的pata支持
SCSI device support 里面 SCSI Transports 下有个 SAS Domain Transport Attributes,
选择子项的 ATA support for libsas (requires libata)
另外,FSTAB里面不要用/sda1这样的标识了,用UUID吧...
用blkid 可以得到UUID 这样不会因为加了个区序号自动变了
另外 GRUB也打上UUID补丁吧,这样就不怕硬盘分区自己跑了.... 嘿嘿 我现在重新用IDE的硬盘装一个试试 一会上报! 怀疑是VMware设置问题。
好久没用过VMware了…… 又遇到这个问题:
http://cache.amobbs.com/bbs_upload782111/files_18/ourdev_480195.jpg
(原文件名:feiyang1.jpg) 咋都喜欢genkernel呢……
遇到这个问题你直接用init=/bin/bash启动一下然后手工启动udev看看呗。
我弄得Gentoo从来都不用initrd,都用Gentoo了还用initrd…… 纯粹减慢开机时间。 genkernel都搞不定,自己编译kernel问题更多。
刚上手Linux的建议就不要玩Gentoo了,从二进制发行版玩起吧。 http://www.gentoo.org/doc/zh_cn/handbook/handbook-x86.xml
http://www.linuxsir.org/bbs/showthread.php?t=354509&highlight=config 按照几位楼上的说法,重新配置了 VMWare ,由 LSI logic 改成 Buslogic, 因为网上有文档说 2.6.20 后不支持 lsi logic 了。
然后在编译内核时加上
编译内核时一定要选上加上:
Device Drivers --->
SCSI low-level drivers --->
<*>bus Logic SCSI support
我没有安装 VMware 工具,所以在 gentoo 命令行下无法复制粘贴 windows 下的内容,就在 gentoo 开机时启动 sshd,用 putty 控制 gentoo.
http://cache.amobbs.com/bbs_upload782111/files_18/ourdev_481341.JPG
(原文件名:gentooii.JPG) 用VirtualBox 3.0吧,有ICH6/SATA AHCI,Intel Pro/1000网卡,USB 2.0 EHCI,兼容性没得说。 我的也好了,谢谢大家
http://cache.amobbs.com/bbs_upload782111/files_18/ourdev_482419.jpg
(原文件名:feiyang.jpg)
内核配置
Device Drivers--->
[*]Fusion MPT device support--->
<*> Fusion MPT ScsiHost drivers for SPI
<*> Fusion MPT ScsiHost drivers for FC
<*> Fusion MPT ScsiHost drivers for SAS
SCSI device support--->
<*> SCSI device support
<*> SCSI disk support
SCSI low-level drivers--->
<*> SYM53C8XX Version 2 SCSI support
Device Drivers--->
SCSI device support--->
<*> SCSI device support
<*> SCSI disk support
SCSI low-level drivers--->
<*> BusLogic SCSI support
Networking --->
[*] Networking support
Networking options--->
<*> Packet socket
<*> Unix domain sockets
[*] TCP/IP networking
< > The IPv6 protocol --->
<*> 802.1d Ethernet Bridging
Device Drivers--->
Network Device support--->
[*] Network device support
Ethernet (10 or 100Mbit)--->
[*] Ethernet (10 or 100Mbit)
[*] EISA, VLB, PCI and on board controllers
<M> AMD PCnet32 PCI support
Ethernet (1000Mbit)--->
­­ Intel(R) PRO/1000 Gigabit Ethernet support
Grub.conf
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz
title=Gentoo Linux
root (hd0,0)
kernel /vmlinuz init=/linuxrc real_root=/dev/hda3
initrd /initramfs-genkernel-x86-2.6.12-gentoo-r6
最后一个问题把kernel里面root=/dev/ram0 去掉就可以了,我不知道是为什么!
原来是kernel /vmlinuz init=/linuxrc root=/dev/ram0 real_root=/dev/hda3就出现【9楼】 的问题 用emerge安装包是时候,有很多软件都不能安装完整呃,大多会缺少包,兄弟们都用的哪个源啊? 【16楼】 feiyang007 不正
电信可以用棒子的daum/kaist或小日本的gg3/jaist,偶尔台湾的nctu速度也可以。网通没用过。
美国主机啥都不用设,默认就爽_死了。
国内的镜像站速度是快,但不是官方镜像,偶尔会缺胳膊少腿的。
9楼的问题是你的硬盘驱动没认到。init已经在自动加载硬件驱动,证明/dev/ram0这个ramdisk已经在工作了。
因为genkernel是“裸核”,启动的时候你的real_root=/dev/hda3驱动可能还没加载,所以/linuxrc和驱动模块是放在initrd里,启动时由内核解压到/dev/ram0,而不是直接读/dev/hda3上的/lib/modules。模块加载完后进入default runlevel,此时/linuxrc会将/切换到real_root上,并且开始跑/etc/runlevels/default中的脚本。
genkernel编译时少了驱动,或者initrd没设对,就会认不到硬盘,导致9楼的问题。 目前最好用的 Gentoo 源:
http://mirror.usu.edu/gentoo/
目前较好用的通用源(包括 SourceForge 及各种开源 *nix 代码):
http://ftp.heanet.ie/mirrors/ 另外,我从来不用 initrd,完全是给自己找麻烦…… 【17楼】 gzhuli 咕唧霖
积分:1572
派别:
等级:------
来自:GZ
---------起得真早啊!
按照你的解说和我查的资料,我的理解是
root=/dev/ram0的作用是在real_root启动之前告诉initrd把initrd解压到内存,即ram0并作为虚拟的根目录,那么sisc的驱动模块也就加载到了内存,然后再是/linuxrc,其实/linuxrc是initrd解压后虚拟在根目录下的,在切换到real_root真正的根目录,再是后续工作……
但是我在kernel /vmlinuz init=/linuxrc real_root=/dev/hda3这一行加上root=/dev/ram0就出现下面这情况
kernel /vmlinuz init=/linuxrc root=/dev/ram0 real_root=/dev/hda3
http://cache.amobbs.com/bbs_upload782111/files_18/ourdev_482619.jpg
(原文件名:feiyang1.jpg)
难道root=/dev/ram0不是真正的内存?还是root=/dev/ram0是作为根目录/下的一个文件,sisc驱动没有加载,就不能读取这个文件?
我估计是内存作为/dev下的一个文件,在加载驱动sisc之前不能读写!但是去掉root=/dev/ram0又能正常进入,不指定root=?initrd也能自己直接解压到内存吗? 9楼的问题明显和20楼的不一样嘛。
9楼的问题是硬盘没认到。
20楼的问题是因为你用了initramfs,不是旧的initrd格式,所以不存在/dev/ram0设备。
ramfs直接就是一个文件系统,rd是一个ramdisk设备的raw image,所以initrd会有/dev/ram0设备,而initramfs没有。
可以参考下这里:Linux内核Ramdisk(initrd)机制 另外我也不建议用initrd,内核也不建议用模块。
initrd和模块适用于目标系统配置不确定,需要动态识别各种硬件的情况,例如livecd。
固定配置的机器建议直接把模块支持关掉,需要哪些功能编译哪些。 内核模块还是可以用的,比如不经常用的硬件的驱动,用模块会增加系统的启动速度(减少了内核的大小,你比较下grub加载内核的速度就知道了),比如usb-serial那类的。
自己用的内核肯定是要支持模块的,没准什么时候就需要知道什么信息所以要插入一个模块呢…… 难道你不用systemtap么?
那你开发嵌入式移植程序的时候怎么知道一个应用程序用了那些文件? 我好像对linux下的设备和文件区分不开啊 linux下一切皆文件,内核接口、设备、进程、IPC管道、共享内存块等,都在文件系统中映射成文件。
设备放在/dev目录下,主要分为块设备和字符设备。块设备可以随机存取,而字符设备是流输入输出。 我喜欢用ubuntu 玩Linux,感觉大多数时候是被Linux玩,
配置好系统和开发环境就够累的。
可能是我太菜了。 【25楼】 gzhuli 咕唧霖
纠正几个主要的错误
1,不是一切皆文件…… 具体你看看Plan 9就知道Linux还做得远不够
2,字符设备不一定不能随机读取,也不一定是流输入输出……
字符设备和块设备最重要的区别是有没有块缓冲,而不是随机读取。(比如/dev/kmem肯定可以随机读取而且不是流输入输出,但是是字符设备)
另外,共享内存咋映射成文件的?你说两个进程都mmap(MAP_SHARED)同一个文件么?SYS V的shmem可以映射成文件么?要是那样就好了,我正想办法这么做……请赐教。 【27楼】 daydayuper 好好学习
别灰心,能配置好了Linux就是你玩Linux了。就像骑马一样,你驯服马儿之后骑行就是享受了。
如果生下来就接触*ix系统的熏陶,估计你会觉得用Windows很郁闷……一样的道理。 ubuntu那么好用干吗不用,玩冷门linux发行版本比较痛苦哦…… 楼上所言极是,但是不吃点骨头理解的东西不多啊!
gentoo安装完了,没想到安装个软件那么困难,它的源会经常少包,想安装个vim,xorg-x11、apache都失败了,就是用的
【18楼】 watercat 的源,难道是我这里网络不好么!
谢谢
【25楼】 gzhuli 咕唧霖
积分:1603
派别:
等级:------
来自:GZ
折腾了这么久,至少对linux的启动顺序、Grub、命令行分区、内核配置有了了解和操作,以前都是没敢动这些东西的,在自己硬盘上,怕弄了启动不了电脑,现在不怕了,爱怎么折腾就怎么折腾,嘿嘿!
唉,改天是要弄好用的来装起。 【31楼】 feiyang007 不正
gentoo安装完了,没想到安装个软件那么困难,它的源会经常少包,想安装个vim,xorg-x11、apache都失败了,就是用的
【18楼】 watercat 的源,难道是我这里网络不好么!
===========================================
usu.edu 那个源主要是PRC国内传输速度最快,不过似乎路由上有些问题,必须要连接两到三次才能连上,所以你的重试次数得设置多点
另一个源速度略慢,不过内容要丰富许多(毕竟是 sourceforge 的镜像站) 【28楼】 minux 呵呵
1.“一切皆文件”是一个理念,Linux只是有些地方做得还不到位而已,没必要和Plan9这种非主流去比。
2.字符设备最早用于字符输入输出设备,如键盘、TTY、串口、打印机等,确实是流输入输出且不可随机寻址的。而块设备是必须支持随机寻址的。不过对于今天的Linux系统,你的描述是更准确的。
3.不是有tmpfs么,SysV shmem在/dev/shm下啊。 【32楼】 watercat
usu.edu 那个源主要是PRC国内传输速度最快
-----------------------
是么,怎么我在广州连过去才1x KB/s?用daum或者kaist最快有MB/s的速度。 【34楼】 gzhuli 咕唧霖
积分:1608
派别:
等级:------
来自:GZ
---------------
那么猛?MB/s 给个详细地址我试试,谢谢! 【32楼】 watercat
积分:3021
派别:
等级:------
来自:
-----------
噢,我去试试,好像我这而是一闪而过的,让他多连几次那个站!! 呵呵,MB/s是IDC的速度,普通宽带肯定到不了,不过2M ADSL一般都有150KB/s以上的。
http://ftp.daum.net/gentoo/
http://ftp.jaist.ac.jp/pub/Linux/Gentoo/ 【33楼】 gzhuli 咕唧霖
sysv的shared mem怎么会在/dev/shm里面,那里面不就是一个tmpfs么,那是给posix shmem服务的。
tmpfs用做共享内存就是相当于我说的两个进程mmap(MAP_SHARED)同一个文件。
Plan 9 我就在用…… 嵌入式上跑它也比较爽,我最不爽它的就是不支持ACPI,即使在Linux下我也装了plan9port,离不开Plan 9里面的一些命令。
页:
[1]