LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1413|回复: 17

问一个好烦的问题

[复制链接]
发表于 2003-1-3 13:22:51 | 显示全部楼层 |阅读模式
我的source没有拷贝齐全,所以要exit退出来重新copy
然后chroot $LFS /static/bin/env -i \
    HOME=/root TERM=$TERM PS1='\u:\w\$ ' \
    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/static/bin \
    /static/bin/bash --login
第一次还可以,再来一次就不行了,出现什么:bash:/static/bin: No such file or directory等问题
有什么好方法不用这么麻烦呢?
 楼主| 发表于 2003-1-3 13:25:52 | 显示全部楼层
在试一次不知为何有可以了
不知道试不是有什么要求的,

问了一些silly question,请各位老大不要介意哦
发表于 2003-1-3 13:32:16 | 显示全部楼层
你在chroot下安装,没有必要退出来呀,你只要在X下面用文件管理器把所需要的源代码复制到$LFS/usr/src下就行了。
 楼主| 发表于 2003-1-3 14:01:54 | 显示全部楼层
是啊,我都忘记多任务了,呵呵,我不是在X下,但是也可以的
对了,我在安装 Glibc-2.2.5遇到这样的问题了:
patch -Np1 -i ../glibc-2.2.5-2.patch
diff -Naur...
...glibc-2.2.5/login/Makefile ...
...glibc-2.2.5-2/login/Makefile...
File to patch:我输入很多都提示no such file.....的
skip之后又出现.../malloc/Makefile之类,。。。。
这里一定要patch吗(看文档就说是的)?
发表于 2003-1-3 14:07:15 | 显示全部楼层
patch应该需要的,不要可能会造成一些问题。关键是你patch的方法是否正确。patch文件不要在解压后的源代码目录内。执行安装指令要进入解压后的源代码所在目录。如果patch失败,要把源代码删除,然后重新解压。
发表于 2003-1-3 14:29:59 | 显示全部楼层
chroot后还要 mount proc
发表于 2003-1-3 14:33:23 | 显示全部楼层
最初由 kj501 发布
patch应该需要的,不要可能会造成一些问题。关键是你patch的方法是否正确。patch文件不要在解压后的源代码目录内。执行安装指令要进入解压后的源代码所在目录。如果patch失败,要把源代码删除,然后重新解压。


说起来,我还真不会给内核打补钉呢。谢谢大侠帮忙哦。
/usr/src/目录下有两个文件:linux-2.4.19.tar.bz2 和patches-2.4.19-gentoo-r10.tar.bz2,当然可以通过tar或bzip2把他们解开,但并没有出现.patch的文件,看了其它的方法,比如用patch -Np1 -i ,patch p0也试过,也用过linux/scripts/patch-kernel(已经 ln -s linux-2.4.19 linux了),但都不知道如何用,我看了man页,便还是不能给内核打上补钉。

谢谢那位大侠帮忙哦,主要那个补钉文件的位置和如何使用patch这个工具。如果给我点指点,我以后会知道如何用了。
发表于 2003-1-3 14:52:28 | 显示全部楼层
.patch文件和.diff文件是一样的,其实在linux下,文件的扩展名是可以随便取的。关于patch怎么打,取决于这个patch是怎么做出来的。你可以把得到的patch打开看看,它里面有很多:
diff -urN anjuta-1.0.1.orig/printing/print.c anjuta-1.0.1/printing/print.c
--- anjuta-1.0.1.orig/printing/print.c  Sat Dec 14 17:00:35 2002
+++ anjuta-1.0.1/printing/print.c       Mon Dec 30 20:38:28 2002
@@ -88,13 +88,29 @@
你看上面这个例子,它是用diff -urN来做的patch,它的路径是在anjuta-1.0.1.org目录和anjuta-1.0.1目录两个地方,也就是说,它是在某个包含这两个目录的路径下做出来的。这样的patch,就放在你的源码根目录的上一级,然后用diff -Np1 -i ../XXXX.patch
再说一个:
*** crypto/mersenne/mt19937db.c 2002/03/27 04:31:10     1.8
--- crypto/mersenne/mt19937db.c 2002/09/17 19:43:30     1.9
这个是berkley db4的第一个patch里的前两行。它的路径就是在berkley DB4解压后生成的根目录里。你就要把它放到这个目录,然后用patch -p0 < patch.4.1.24.1
 楼主| 发表于 2003-1-3 15:04:36 | 显示全部楼层
发表于 2003-1-3 15:08:03 | 显示全部楼层
glibc还要解压linux-threads包的,要仔细看文档啊:
你必须先打补丁,才能安装这个包。确认在运行下面的命令前,补丁已经解压了。

在安装glibc前,你必须在glibc-2.2.5 目录而不是/usr/src下将glibc-linuxthreads解包。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表