当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 为什么我做出来的init不能用?
帖子发表于 : 2006-12-30 9:16 

注册: 2006-11-05 12:45
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
在ubuntu 06.10 amd64下(图形界面,终端,gcc-4.1),命令如下
gcc source/init.c -o temp/init -static -ldevmapper -Os -s -Wall -DVOLUME_ID="lfslivecd-x86-6.2-3" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
做出来的文件几乎是发布版的init的两倍
在终端下测试可以看到Initramfs activated
然后 find . | cpio -o -H newc | gzip -9 > ../INITRAMFS_DATA_CPIO.GZ
打包制成INITRAMFS_DATA_CPIO.GZ
grub时可以解包,但是kernel载入结束后总是提示
Failed to execute /init
用发布版的init,打包就会有用
但是发布版的init是lfslivecd-x86-6.2-3专门给光盘用的
不支持硬盘启动
确定不是我更改了文件init.c的源代码的问题
因为我用原来的init.c编译也出现找不到init的问题
是编译环境的问题吗?
如何解决?
我把lfslivecd-x86-6.2-3.iso里的一些必要的*.h拷贝到source文件夹下
改变所有include的指向 #include <features.h> 改成 #include "features.h"
这样所有的*.h都是通过相对地址被引用
其中只有source/sys/types.h 和 source/bits/types.h中
include的指向"../linux/stddef.h"改动有点问题外
(原本是<stddef.h>,但是stddef.h在lfslivecd-x86-6.2-3.iso的include文件夹下不存在)
是头文件(*.h)的问题吗?要如何解决?

打包的详细内容initramfs-linux-hi19go.rar
http://thi19go.googlegroups.com/web/ini ... Q&hl=zh-CN
http://groups-beta.google.com/group/thi ... s?hl=zh-CN


附件:
initramfs-linux-hi19go.tar.gz [777 KiB]
被下载 14 次
页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译