如何从 Linux kernel source 安装原版(不属于任何发行版)的 Linux ?

2015-12-19 12:15:48 +08:00
 Pastsong

Linux kernel source tree 在 Github 的镜像地址
https://github.com/torvalds/linux

Release v4.3 为例

作为 Linux 的初学者不知道这样会有那些问题?

6167 次点击
所在节点    Linux
41 条回复
haroldwu
2015-12-19 12:23:22 +08:00
你還需要 shell XD
crayygy
2015-12-19 12:26:00 +08:00
初学者比较好的还是选择一个发行版, Ubuntu 、 Fedora 、 CentOS 都行,个人比较建议 Ubuntu ,对初学者比较友好一些,外观上看也还行(个人看法),安装工具也挺方便。熟悉了之后再慢慢的接触其他发行版, CentOS 啊什么的
squid157
2015-12-19 12:27:46 +08:00
Linux from Scratch
你可以先阅读一番 别上手 再回来考虑这个问题
gimp
2015-12-19 12:29:42 +08:00
http://www.linuxfromscratch.org/lfs/ 等待楼主安装 LFS 成功的喜报
gimp
2015-12-19 12:30:31 +08:00
“等待楼主成功安装 LFS 的喜报” ...最近怎么总是语法错误的说
Slienc7
2015-12-19 12:39:53 +08:00
@gimp 好吧,没看出来有语法错误,为何我觉得两个都正确。。
shippo7
2015-12-19 12:40:00 +08:00
不存在安装“原版 Linux ”这个概念,只能编译和安装“ Linux 内核”。只有 Linux 内核你无法控制它,就像只给你一个汽车引擎,你无法驾驶它一样。 Linux 内核+发行版才是一个完整的操作系统。
lhbc
2015-12-19 12:42:55 +08:00
初学者一上来就要搞自己的发行版,呵呵
windfarer
2015-12-19 12:43:27 +08:00
Linux from Scratch +1
Pastsong
2015-12-19 12:50:43 +08:00
@lhbc 事实上我用 Ubuntu 也有两年时间了,我只是换一种方式问一下发行版对于 Linux kernel 的意义
shyling
2015-12-19 13:03:01 +08:00
lfs 大法
linhua
2015-12-19 13:05:19 +08:00
先从简单的元发行版 Gentoo 开始吧
Archlinux 下可以自己写 PKGBUILD 文件,编译安装 linux 内核。具体可参考 Arch 的 wiki
regist
2015-12-19 13:23:38 +08:00
貌似跟 lfs 扯不上关系吧,为什么楼上那么多人都扯 lfs 。。。

要在发行版下编译自己的内核,要清楚发行版对内核的要求,譬如 systemd 还是 openrc 的等等。

至于驱动,注意主板,硬盘,网卡等基本就 ok 了,周边的可以等系统亮起来后再去完善。

玩过 gentoo 的,基本都有自己一份特有的 kernel .config 吧。
Comphuse
2015-12-19 15:03:44 +08:00
Arthur2e5
2015-12-19 15:23:13 +08:00
make oldconfig 可以重用当前 config 。然后生成 initramfs 和配置 grub 看发行版的做法。有时候你还想自己配一堆驱动。

> 我只是换一种方式问一下发行版对于 Linux kernel 的意义

……意义? Linux kernel 只是 GNU 系统生态环境的一个可替换的核心而已。啊,拿错剧本了。没有发行版提供的 userspace , kernel 没什么用处啊。发行版还降低了各种配置差异造成的坑爹事,还有免去了你编译的痛苦。

----

@regist
按照原 po 那个标题,强调不属于发行版,又要默认获得一个能用的系统的话,那只能自己配用户程序走上 LFS 之路了。
402124773
2015-12-19 15:24:49 +08:00
@Pastsong
下载一份原生的 linux kernel 代码,然后配置编译出符合自己机器的内核镜像。非常难。
wizardoz
2015-12-19 15:31:06 +08:00
牵涉的东西有点多,除了 bootloader 、内核,还有文件系统需要了解。
如果楼主真的想完成这么艰巨的任务,建议去买一块嵌入式开发板,支持 linux 的。厂家都会提供 bootloader 、内核和文件系统。一般 bootloader 不会提供代码。
把别人提供的东西玩熟了以后,自己也就找到感觉了。之所以建议从嵌入式开始,是因为嵌入式的硬件相对简单,文件系统也是比较小。比起 X86 平台的那些发行版不是一个数量级。
402124773
2015-12-19 15:36:37 +08:00
@wizardoz
17 楼说的很有道理,从 arm 方面入手的话,相对简单很多,但是也涉及相当多的知识。
主要是内核方面的,一般做上层应用相关的人,对这些方面了解比较少。
jasontse
2015-12-19 15:39:20 +08:00
Linux 不存在原版之类的,它就是一内核,没有各个发行版包含的那一堆外围的东西你根本用不了。
webjin
2015-12-19 15:48:53 +08:00
提倡学 lfs.你会理解很多东西

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/244636

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX