+ -
当前位置:首页 → 问答吧 → 没有光驱的笔记本怎样从PXE启动安装ArchLinux 2009.08?

没有光驱的笔记本怎样从PXE启动安装ArchLinux 2009.08?

时间:2009-12-26

来源:互联网

一部老笔记本10G空白硬盘256MB内存,Intel E100网卡支持PXE启动。

下载archlinux-2009.08-netinstall-i686.iso提取vmlinuz26、archiso_ide.img加入现有pxe远程启动菜单进入archlinux安装,但initrd解压之后出现ramdisk$,没有看到任何网卡驱动模块。

请教装过的朋友不用U盘和光驱情况下怎样单纯通过网络完成ArchLinux安装(例如挂接本地服务器nfs、ftp、http目录或直接连接远程服务器)?

作者: lifc   发布时间: 2009-12-26

出现ramdisk$那是还没进arch的安装系统吧...

作者: huntxu   发布时间: 2009-12-26

就是卡在这一步了,第一次用archlinux搞不清楚什么情况,之前试过wiki里面的Install Arch from network (via PXE)也是到这一步卡住。

作者: lifc   发布时间: 2009-12-26

http://wiki.archlinux.org/index.php/...AD%E6%96%87%29

作者: CnkknD   发布时间: 2009-12-26

看错了......

作者: CnkknD   发布时间: 2009-12-26

早上又通过pxe进入现有的nfs diskless gentoo照wiki说明用qemu/virtualbox装了几次archlinux-2009.08-netinstall-i686.iso,中途检测硬盘时都报i/o error然后kernel panic,主机dmesg没有任何错误输出,说明是archlinux提供的内核与虚拟机配合方面的问题(国外论坛有人提到过)。

作者: lifc   发布时间: 2009-12-26

再换archlinux-2009.08-1-archboot.iso的核心和initrd反复启动几次可以正常进入安装菜单,但手动配置网卡ip后系统停止反应几分钟后报告eth0配置失败。切到F2控制台看eth0的ip已经指定成功但没有up起来。执行ifconfig eth0 up系统再次停止响应,过一会说缺少什么文件,dmesg显示加载e100的firmware失败。看来archlinux的测试相对其他主流发行没那么全面,光是安装程序的问题就不少。
安装镜像已经有/lib/firmware/e100/d101s_ucode.bin这个文件但ifconfig up就是找不到,怀疑可能和chroot的安装方式有关系,是不是firmware loader到chroot外面的root去加载了。

作者: lifc   发布时间: 2009-12-26

看来接下去或者放弃arch linux继续给笔记本用gentoo,否则就要想办法折腾网卡了。
几种可行方案:
0、添加一块pc卡或者usb有线/无线网卡看能不能认出来;
1、重编译安装kernel,把e100的firmware放入kernel中,因为尝试用给gentoo linux编的nfs root kernel+initrd无法启动;
2、写个程序监听netlink socket的uevent消息,然后自己向/sys里面写入firmware;
3、拆开笔记本和另外一部笔记本交换网卡,8139的网卡不用加载firmware。

作者: lifc   发布时间: 2009-12-26

评估一下工作量,0<1<2<3,所以先从第一个开始。
找到一个usb无线网卡,插上认出rt2500usb驱动,还好这种卡不需要firmware。启用路由器的无线模块,然后在笔记本上ifconfig wlan0 up。接下来不论怎么iwlist wlan0 scan就是认不到AP,进入gentoo扫描可以找到自己的AP(外加邻居的6个)。这次仔细看日志,原来arch linux下面一直报告wlan0: link is not ready,看来无线也不太好搞……

作者: lifc   发布时间: 2009-12-26

翻箱倒柜找出一块90年代的pc卡网卡,忐忑不安的插进去——没反应。tan出来再用力按进去,谢天谢地总算认到了ne2000,用pcnet_cs模块驱动。这次网络配置成功,挂上硬盘和swap,源设置mirror.bjtu.edu.cn总算开始下载安装了,源的速度也很快。

作者: lifc   发布时间: 2009-12-26

又出错了……安装界面崩溃,大量信息滚屏……看一下dmesg是out of memory,难道256MB不够安装,需要用那个low memory版本?

作者: lifc   发布时间: 2009-12-26

问题找到了:刚才挂接的分区是在2.6.32 diskless gentoo访问过的ext4系统,arch linux挂接不成功(某个feature不支持),界面配置挂接点时没报错导致后来的包下载到/tmp/install实际写入了ramdisk。重启后mkfs.ext4并手动挂上,安装程序继续运行希望别出什么岔子了……

作者: lifc   发布时间: 2009-12-26

LZ其实还是有水平的。

作者: nofoghu   发布时间: 2009-12-26

晕啊,安装倒是成功了,重启之后grub找不到核心和initrd。研究了一下,因为我没有单独分一个/boot分区,但是安装程序认为应该有,所以指定的kernel=/vmlinuz26其实是不存在的,需要改成kernel=/boot/vmlinuz26,initrd同理。

补充一下:root=/dev/sda3也要改成root=/dev/sda1,因为我懒没分/boot分区

作者: lifc   发布时间: 2009-12-26

执行到挂本地文件系统再次出错,说fstab中没有/文件系统的描述。记得刚才安装程序问过是否使用uuid代替设备名称,当时选了yes,怎么fstab里面会没加入呢?
好在read-only模式也能登录(如果不行重启进入grub命令行加入init=/bin/sh),mount -oremount,rw /dev/sda1 /挂接成可写之后从/proc/mounts里面取出/文件系统描述手动加入/etc/fstab再重启动一次看看运气如何……

作者: lifc   发布时间: 2009-12-26

不知道 archlinux 是否有 chroot 安装方法,我只会 debian 的。有的话就简单了,几乎可以适应任何情况。完全可以 PXE 启动一个合适的 Linux ,然后 chroot 。

作者: ch_fb   发布时间: 2009-12-26

兄弟,既然搞不成就别搞这个了。不是有gentoo了么?有gentoo了直接在gentoo下装或者用archboot硬盘安装都很简单,为啥非要pxe呢,搞不懂

作者: yafeng   发布时间: 2009-12-26

重启后工作正常了,系统占用560MB硬盘空间,和chroot之后装stage3再装基本包的gentoo系统尺寸基本相当。开始学习如何安装软件包。

引用:
作者: ch_fb
不知道 archlinux 是否有 chroot 安装方法,我只会 debian 的。有的话就简单了,几乎可以适应任何情况。完全可以 PXE 启动一个合适的 Linux ,然后 chroot 。
嗯,其实wiki是有chroot方法的教程,但是因为要下载pacman.static安装到宿主机并且做一些配置。因为这台笔记本用的是和服务器共享/分区的gento nfs无盘系统,担心对pacman不熟悉把服务器系统给冲坏了,另外就是想体验一下Arch Linux的完全安装过程。其实还是建议有条件的同学用chroot方法做,可以减少一些不必要的折腾。

作者: lifc   发布时间: 2009-12-26

引用:
作者: yafeng
兄弟,既然搞不成就别搞这个了。不是有gentoo了么?有gentoo了直接在gentoo下装或者用archboot硬盘安装都很简单,为啥非要pxe呢,搞不懂
现有gentoo是pxe启动的nfs无盘系统,本地盘当swap和cache用。之前用无线网卡最近感觉用久了头晕头痛(不知是不是心理作用是),所以想装个可以脱离网络的有盘系统。虽然对gentoo比较熟悉,但它的安装包不分binary和devel,就是说会自动装一些笔记本用不到的开发文件,而SSD固态硬盘空间和寿命都有限,所以想换一种支持二进制包体积相对小巧的发行版。

作者: lifc   发布时间: 2009-12-26

如果我是楼主,我会在gentoo下先给笔记本上硬盘分区,然后搞一个grub4dos的grldr进去,然后用grub4dos的工具吧mbr写进去,这样,本机磁盘可以启动到grub命令行了,然后cp archboot的iso跟里边提取的kernel跟initrd,然后重启到grub,硬盘安装。在这里提一下grub4dos的mbr,这个可是无驱用户的福音啊,它能搜索所有分区根目录的grldr文件并加载,也就是说,无论如何也能启动到grub了。

作者: yafeng   发布时间: 2009-12-26

没有光驱,不会连USB口都没有吧,USB安装多简单,干嘛非要LAN Boot,这东西看着就头痛。

作者: alpha.gu   发布时间: 2009-12-26

引用:
作者: yafeng
如果我是楼主,我会在gentoo下先给笔记本上硬盘分区,然后搞一个grub4dos的grldr进去,然后用grub4dos的工具吧mbr写进去,这样,本机磁盘可以启动到grub命令行了,然后cp archboot的iso跟里边提取的kernel跟initrd,然后重启到grub,硬盘安装。在这里提一下grub4dos的mbr,这个可是无驱用户的福音啊,它能搜索所有分区根目录的grldr文件并加载,也就是说,无论如何也能启动到grub了。
一直就是用grub4dos来启动本地硬盘上nfs root的gentoo内核的,这样每次启动少一次dhcp/tftp速度快一些。
没从iso拷贝安装文件到硬盘的原因是希望进行网络安装,不用先装iso里的旧包装好全部升级一次。既然是网络安装几百MB安装盘用到的也只有vmlinuz和initrd两个文件,感觉从pxe启动比从grub4dos方便些。瞎折腾了这么久,早知道从硬盘装可能还更快:)

作者: lifc   发布时间: 2009-12-26

引用:
作者: alpha.gu
没有光驱,不会连USB口都没有吧,USB安装多简单,干嘛非要LAN Boot,这东西看着就头痛。
那个笔记本USB是1.1的,速度慢而且不稳定,插十次或许能认到一两次,稍微碰一下就认不到了。所以说我比较折腾,没有特殊情况的同学还是走传统安装路线吧,这个网络安装盘似乎测试的不太充分,里面问题相对多一些。

作者: lifc   发布时间: 2009-12-26

LZ果然是牛人...

作者: wolfmei   发布时间: 2009-12-26

引用:
作者: lifc
现有gentoo是pxe启动的nfs无盘系统,本地盘当swap和cache用。之前用无线网卡最近感觉用久了头晕头痛(不知是不是心理作用是),所以想装个可以脱离网络的有盘系统。虽然对gentoo比较熟悉,但它的安装包不分binary和devel,就是说会自动装一些笔记本用不到的开发文件,而SSD固态硬盘空间和寿命都有限,所以想换一种支持二进制包体积相对小巧的发行版。
想包体积相对小巧的发行版,你找 archlinux 就找错了,archlinux 一样是大包,头文件库文件都在里面。想小巧去 debian ,那个定制出来可以小巧得变态,包划分和包关系足以让人发疯。

作者: ch_fb   发布时间: 2009-12-26

楼上说的没错,debian以及ubuntu定制比arch苗条多了,deb系分离出了dev部分,包的粒度分得也精致,并且base也更精简一些,若是不是abs跟aur的关系,我想我的选择还是debian

作者: yafeng   发布时间: 2009-12-26

引用:
作者: ch_fb
想包体积相对小巧的发行版,你找 archlinux 就找错了,archlinux 一样是大包,头文件库文件都在里面。想小巧去 debian ,那个定制出来可以小巧得变态,包划分和包关系足以让人发疯。
刚才pacman -Ql zlib也发现不太对头:)上次在gentoo版问如何去掉导出包的开发文件似乎有同学推荐arch。pacman真的很快而且包关系简单,装了就多用几天。

其实接触linux挺早(虽然水平菜),用的发行版也乱七八糟(包括工作中用的各种unix和freebsd),始终觉得少点什么(欠揍)。

94年学slackware,95年有了光盘换成redhat对rpm/yum还算满意。03年后发行越来越臃肿(fedora)包依赖日趋庞大,又陆续用了几年debian(中间用过ubuntu和fedora一个毛病)。05年听说gentoo定制性更强一直用到现在,但目前主要做嵌入式和分布式开发,偶尔搞搞OpenGL程序,gentoo虽灵活高效但系统维护投入精力始终较多。

现在也搞不清究竟什么发行版才适合,希望有种包依赖尽量简单(不要selinux/hal这些),软件源比较丰富,又能提供不同cpu的优化包,开发包文档最好可以选择性安装的发行版出现,有什么合适的不妨推荐一下:)

作者: lifc   发布时间: 2009-12-26

你笔记本biso里集成pxe rom了吗?

作者: qiang_liu8183   发布时间: 2009-12-26

没集成pxe rom的话还得bios mod啊,要不就装个mini-pci或mini-pci-e的的独立网卡

作者: qiang_liu8183   发布时间: 2009-12-26

pxe安装arch没问题,但要先满足硬件条件

作者: qiang_liu8183   发布时间: 2009-12-26

引用:
作者: qiang_liu8183
pxe安装arch没问题,但要先满足硬件条件
自己升级过bios的pxe模块,现在是Intel UNDI 2.1。启动无盘windows xp、freebsd、gentoo、dos都可以,arch安装盘(netinstall)内核文件和initrd也能引导,就是后面出现ramdisk$或者disk i/o错误。
我猜测主要是archboot盘自带的intel e100网卡驱动有问题(找不到firmware),应该和pxe本身关系不太大。

作者: lifc   发布时间: 2009-12-26

哦,对不起,没注意看帖

作者: qiang_liu8183   发布时间: 2009-12-26

看帖子,楼主是一个经验老道的老手。
pxe 安装还是简单的,您玩过无盘站那就更简单。
原始的 linux 环境下的无盘站, 支持 dhcp bootp nfs-rootfs 内核一个,dhcpd tftpd nfsd 服务器各一个。现代点的就多了。

http://boot.kernel.org/ 也可借用下。

只要能引导一个系统出来,后面很简单,能 chroot 怎么都成。

作者: 聚焦深空   发布时间: 2009-12-26

我是来看直播的

作者: iamkr   发布时间: 2009-12-27

引用:
作者: 聚焦深空
http://boot.kernel.org/ 也可借用下。

只要能引导一个系统出来,后面很简单,能 chroot 怎么都成。
工作需要部属计算集群,无盘系统用的稍微多一点。kernel远程启动出来第二天刚好被我发现,当时测试有几个选项不太正常(少文件或者死机),其中有些发行版几乎可以说是古董级了(似乎2.2/2.4内核)。现在不知搞的如何了,有空再去试试看,kernel.org的速度还是非常不错的。

作者: lifc   发布时间: 2009-12-27

引用:
作者: iamkr
我是来看直播的
系统基本都装好了,已经可以用firefox+fcitx上网,mplayer播放电影和音乐,pidgin聊天。装wqy-zenhei打开embeddedbitmap后firefox中文效果也很不错~

作者: lifc   发布时间: 2009-12-27

引用:
作者: lifc
系统基本都装好了,已经可以用firefox+fcitx上网,mplayer播放电影和音乐,pidgin聊天。装wqy-zenhei打开embeddedbitmap后firefox中文效果也很不错~
你这台笔记本的配置,我建议还是使用 chromium,那个速度快阿。

作者: wolfmei   发布时间: 2009-12-27

引用:
作者: wolfmei
你这台笔记本的配置,我建议还是使用 chromium,那个速度快阿。
用gentoo时源里提供的chromium需要SSE2指令集用不了,后来发现debian源的可以用,速度也比较快。就是内存吃的多,三、四个标签就上百M,同样页面firefox才50M。而且chromium有时候会卡住,新标签载入时说某个之前打开、早已加载完毕没操作过的旧标签和新标签页没响应,这一点还有待改进。
这台老本是给来装儿子玩的,其他512M以上内存的机器现在基本都在用chromium,将来插件和扩展支持做好点就更完美了,目前似乎只能兼容adobe的flash插件,firefox扩展也完全用不上。

作者: lifc   发布时间: 2009-12-27