LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: dlh_yf

请教:在ARM上移植Linux系统 和 在ARM上创建Linux系统?

[复制链接]
 楼主| 发表于 2006-9-20 19:42:55 | 显示全部楼层
请高手或是做过clfs的分享一下成功的经验,不胜感激!
回复 支持 反对

使用道具 举报

发表于 2006-9-20 19:47:04 | 显示全部楼层
Post by dlh_yf
哦,呵呵,谦虚了吧,大名鼎鼎的终极幻想版主。

请问:你做过跨平台的clfs么?成功了么?

我刚才比较了一下Cross-Compiled Linux From Scratch - Version SVN-1.0.0rc4-20060827-PowerPC 和Cross-Compiled Linux From Scratch - Version SVN-2.0.0-20060808-ARM 。发现了几点不同。

SVN-1.0:先是Constructing a Temporary System,然后选择boot,然后 get your ${CLFS} directory copied over to your target machine。而且在第10章Installing Basic System Software,还安装了Yaboot package contains a PowerPC Boot Loader for machines。

请问:在此建立一个temp[URL="http://www.linuxsir.cn/bbs/"][/URL]orary system,是为了下载到目标平台上,然后就在目标平台上去做install basic system software么?

SVN-2.0: 先是Make the Cross-Compile Tools,然后就直接 Building the CLFS System,而且没有说明bootloader的安装。


CLFS 2 和 CLFS 1 最大的不同就是 CLFS 2 是直接编译出目标体系。而 CLFS 1 是先为目标系统编译一个基础系统,再编译系统。CLFS 1 的思想是继承 LFS 的,而 CLFS 2 则是自成一系。

我 CLFS 1 成功过,CLFS 2 之前尝试的时候出错,懒得管了。怀疑是我的系统问题。。。也许用 LiveCD 就没这个问题了。

至于嵌入式,也许有自己的某些特征(如firmware等),和普通的台式有所不同,这个需要做过才知道了。呵呵。偶对此一无所知。
回复 支持 反对

使用道具 举报

发表于 2006-9-20 19:49:19 | 显示全部楼层
我觉得CLFS是一种方法或者说是一种原理(个人觉得比较偏重于如何实现交叉编译本身),而对于实际的情况可能还是需要自己做些事情,不过原理明白了,也许很多问题也比较容易解决了.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-20 20:21:50 | 显示全部楼层
Post by 终极幻想
CLFS 2 和 CLFS 1 最大的不同就是 CLFS 2 是直接编译出目标体系。而 CLFS 1 是先为目标系统编译一个基础系统,再编译系统。CLFS 1 的思想是继承 LFS 的,而 CLFS 2 则是自成一系。

我 CLFS 1 成功过,CLFS 2 之前尝试的时候出错,懒得管了。怀疑是我的系统问题。。。也许用 LiveCD 就没这个问题了。

至于嵌入式,也许有自己的某些特征(如firmware等),和普通的台式有所不同,这个需要做过才知道了。呵呵。偶对此一无所知。


我在做CLFS 2的时候也是成功不了,编译内核始终不能通过,也不知道什么原因。

请问:有 CLFS 1 for ARM 的版本么? 我在http://trac.cross-lfs.org/没找到这个版本?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-20 20:31:51 | 显示全部楼层
Post by youbest
我觉得CLFS是一种方法或者说是一种原理(个人觉得比较偏重于如何实现交叉编译本身),而对于实际的情况可能还是需要自己做些事情,不过原理明白了,也许很多问题也比较容易解决了.


也算是一种尝试,不过,我觉得偏重于跨平台linux系统的建立,交叉编译也很重要,不过交叉编译只是一个大前提。

可惜俺的CLFS 2 for ARM没做成功。遗憾的同时,还有机会再去尝试。

原理明白了,的确很重要,那是一个大的方向;具体的很多细节也很繁琐,可能哦还没达到那个程度吧。可见,还是要好好努力才是。

我想youbest版主应该成功做过CLFS 2了吧。能否分享一些《CLFS2.0原理分析》上没提到的东西。如:你是如何去考虑和做目标平台上的bootloader的?如何考虑目标平台上的文件系统?具体又是如何实现的。

不胜感激!
回复 支持 反对

使用道具 举报

发表于 2006-9-20 20:35:58 | 显示全部楼层
的确应该去嵌入版讨论。
对于1,小弟做过很长时间嵌入式开发,凡我用过的板子都是这样。因为不太可能自己做芯片出来,芯片都是大厂商生产,种类有限,所以相应的移植不是需要做特别多。arm一般有个站是www.arm.linux.org.uk,他们做的体系结构上的移植,具体针对某种芯片,都是厂家拿了这个站的代码再自己做的,他们也就是加几个文件。我感觉国内能做移植的人不少,但需求却不多,以至道理大家都明白,真正做的不多。嵌入版正好有个帖子,是关于2410的。这个片子用得非常多,优龙的开发板大概卖1000多点。不过移植需要相当多的硬件知识。[/url]
对于4,jffs2跟yaffs是在用在flash上的文件系统。我所了解的,我没做过,是在网上找了内核补丁,打到内核上去,好象还得改几个宏,是关于flash开始地址跟分段的。
我所知的都是嵌入式的情况,英国好象是有一种arm构架的pc,好象还很普遍,我猜想clfs上的arm是针对这种情况的。我很想知道楼主的arm平台的具体情况。小弟所知甚少,如有错误,请各位指出。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-20 20:58:31 | 显示全部楼层
Post by keenor
的确应该去嵌入版讨论。
对于1,小弟做过很长时间嵌入式开发,凡我用过的板子都是这样。因为不太可能自己做芯片出来,芯片都是大厂商生产,种类有限,所以相应的移植不是需要做特别多。arm一般有个站是www.arm.linux.org.uk,他们做 ... 的硬件知识。
对于4,jffs2跟yaffs是在用在flash上的文件系统。我所了解的,我没做过,是在网上找了内核补丁,打到内核上去,好象还得改几个宏,是关于flash开始地址跟分段的。
我所知的都是嵌入式的情况,英国好象是有一种arm构架的pc,好象还很普遍,我猜想clfs上的arm是针对这种情况的。我很想知道楼主的arm平台的具体情况。小弟所知甚少,如有错误,请各位指出。


想必 keenor 太谦虚了吧。

哦是学习嵌入式的,毕业论文准备也做这一块的,有问题还要向您多多请教。

我个人觉得CLFS的东西应该到LFS上来,毕竟关于这方面的比较多。嵌入式我也去看过,下次要多加注意才是。免得自己坏了规矩。

核心板硬件资源:
处理器:Intel XScale PXA270 主频520MHZ,
SDRAM:64/128Mbyte,
FLASH:32/64Mbyte,
电源管理:MAX1586A,
以太网:LAN91C111,
Audio:UCB400BE,
显示接口:TFT6.4’(640*480)屏,
RS232:1个,
全功能串口触摸屏:UCB1400BE,
扩展接口:2个120pin接口,把所有总线信号引出,
JTAG接口:20pin 。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-20 21:07:45 | 显示全部楼层
硬件上的东西懂的不多,俺主要是搞软件的。不过可以慢慢学习。

一个是移植,一个是创建,我是想比较一下,哪个更好。还有,就是有些概念不能分的太清,如:移植完内核,去移植文件系统,其实就是创建文件系统。
回复 支持 反对

使用道具 举报

发表于 2006-9-20 21:08:25 | 显示全部楼层
Post by youbest
我觉得CLFS是一种方法或者说是一种原理(个人觉得比较偏重于如何实现交叉编译本身),而对于实际的情况可能还是需要自己做些事情,不过原理明白了,也许很多问题也比较容易解决了.

说是这么说,但是实现起来有一定麻烦。


CLFS 2 很多东西都很麻烦。很多软件对交叉编译都支持的不好。

CLFS 1 的 multilib 中的软件编译也算一种交叉编译,但是实现起来也很麻烦,CBLFS 里边可以看到的。呵呵。


至于 ARM的东西,还是转去嵌入式版面吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-20 21:23:11 | 显示全部楼层
Post by 终极幻想
说是这么说,但是实现起来有一定麻烦。


CLFS 2 很多东西都很麻烦。很多软件对交叉编译都支持的不好。

CLFS 1 的 multilib 中的软件编译也算一种交叉编译,但是实现起来也很麻烦,CBLFS 里边可以看到的。呵呵。


至于 ARM的东西,还是转去嵌入式版面吧。


呵呵,已经转过来了,多谢了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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