QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3471|回复: 18

我要想编译其他处理器的内核怎么办?

[复制链接]
发表于 2003-6-15 19:50:52 | 显示全部楼层 |阅读模式
大家讨论的都是intel x86的内核,我要想编译其他处理器(比如Motorola的680x0 CPU系列)的内核怎么办?我们下载的内核是不是已经包括了?如何编译?与一般的编译有何不同?请指教!!
发表于 2003-6-15 19:56:06 | 显示全部楼层
没有接触过别的体系,不过我想还是I386编译流程一样吧。你在Mototrola的CPU上安装Linux成功了,再make menuconfig一样的萨。只不过你参考平台相关性代码部分应该是/usr/src/linux/arch/你的体系目录下。
我们下载的内核包对linux所支持的平台都包括了的。。。。
回复

使用道具 举报

 楼主| 发表于 2003-6-15 20:19:40 | 显示全部楼层
应该和主机的CPU没关系吧?在intel主机上应该可以编译其他体系的内核啊!
回复

使用道具 举报

发表于 2003-6-15 23:31:03 | 显示全部楼层
there are two types of compilation.
1) native compile.we do it all the time. install a linux on x86 pc and compile kernel for x86 pc. install on sparc sun ultra 80 and recompile kernel for ultra sparc
2) cross-compile. u do compile on x86, but use "toolchain" to generate binary code exectuable on other cpu. for example, u can download a m68k-linux-gcc tool chain to compile a kernel for m68k. this is because m68k is so weak that compile a kernel on m68k cpu directly will take u long long time. and even impossible. because some m68k cpu do not have mmu and only 4-8m cpu.

so if u want to have a m68k kernel image,
1) download a good toolchain
2) downlaod linux kernel, and some patches.(linxu kernel do not support all existed cpus because new cpu come so fast, and soem patch code are not stable enough to be included into linux kernel)
3) make menuconfig....


for m68k, u can check uclinux to see if that include u cpu support.
回复

使用道具 举报

 楼主| 发表于 2003-6-16 09:38:49 | 显示全部楼层
谢谢你!我还要请教一些问题,编译选项Processor type and features只有intel系列的cpu啊,没有别的,是不是默认的,怎么样让其他的类型出来,内核源代码/usr/src/linux/arch/中不是已经包括其他的了吗??另外编译出的内核是放在哪?应该和intel 的不一样吧?
回复

使用道具 举报

发表于 2003-6-16 09:47:11 | 显示全部楼层
when u make ..config. It already decide u ARCH as i386, see Makefile for detail.
u can use "make config ARCH=arm" to see arm cpus. but in fact, u really need a toolchain and possibly some patches to compile a kernel other than x86.
generated kernels are in arch/xxx/boot/  xxx is u arch  name
回复

使用道具 举报

发表于 2003-6-16 09:47:48 | 显示全部楼层
this is an embedded related question, so i will move it to that branch.
回复

使用道具 举报

发表于 2003-6-16 16:19:40 | 显示全部楼层
不同的平台 是不是要下载不同的内核,整个linux的内核至少有六七十个多M,
但平时用的系统都是只有二十几个M,它的内核应该是根据平台分了类,一个内核并不能支持所有的机器。
不知道是不是这样的。
回复

使用道具 举报

发表于 2003-6-16 22:40:15 | 显示全部楼层
no. same kernel, only with some patches.

who said "整个linux的内核至少有六七十个多M,'?
回复

使用道具 举报

 楼主| 发表于 2003-6-17 16:32:09 | 显示全部楼层
再次感谢Drogonfly斑竹的无私帮助!
回复

使用道具 举报

发表于 2003-6-17 21:54:19 | 显示全部楼层
welcome, good luck
回复

使用道具 举报

发表于 2003-6-19 20:55:24 | 显示全部楼层
Dragonfly
你怎么用英文?看起来太费眼了!
回复

使用道具 举报

发表于 2003-6-19 21:39:32 | 显示全部楼层
i do not install chinese input. and i think use english is better here, in my univ.
回复

使用道具 举报

发表于 2003-6-22 11:11:31 | 显示全部楼层
又多了个嵌入式的朋友
回复

使用道具 举报

发表于 2003-6-22 22:50:24 | 显示全部楼层
the more, the better
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-23 17:43 , Processed in 0.063031 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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