如何从 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 的初学者不知道这样会有那些问题?

6565 次点击
所在节点    Linux
41 条回复
Pastsong
2015-12-19 15:58:47 +08:00
@squid157
@gimp
@windfarer
@webjin
@shyling
感谢!看了 LFS 项目的介绍,感觉非常适合解决我的问题
DingSoung
2015-12-19 16:32:08 +08:00
一下子到 4.x 了啊, 记得当初折腾时候还是 3.2.7, 大部分嵌入式设备还是 2.6.x
GNiux
2015-12-19 17:58:37 +08:00
...

其实真的不存在“原版啦”……

如果不想追随任何一个发行版,可以试试 Linux from Scratch.
:)
itoon
2015-12-19 18:09:18 +08:00
我看到 Bastion The Kid 了!
Pastsong
2015-12-19 18:20:28 +08:00
@itoon 哈哈,头像是 Bastion OST 封面的原画
ryd994
2015-12-19 18:54:03 +08:00
lfs 大法好,楼主前途无量
aa45942
2015-12-19 19:03:02 +08:00
@wizardoz
其实配置没你想的难,关键看人是不是肯折腾
@Pastsong
grub 就是 PC 常用的 bootloader ,网上有源码
内核一般默认配置就能用,编译了就好
至于文件系统,随便找个引导盘 /usb 来做就好,可以考虑使用 systemd 做 init
系统的基础可执行程序像 bash 等我没什么了解,不过这些工具功能都差不多,可以考虑直接用 busybox
xylophone21
2015-12-19 20:49:12 +08:00
http://www.bennee.com/~alex/blog/2014/05/09/running-linux-in-qemus-aarch64-system-emulation-mode/

这个例子是编 64 位内核的,换成 32 的会简单一些。
ziqin
2015-12-19 20:51:54 +08:00
印象中 GitHub 上的是仓库的镜像。
可能这个才是 https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/
Pastsong
2015-12-19 20:57:40 +08:00
@ziqin 是的,我写是镜像了, GitHub 看起来方便点
xylophone21
2015-12-19 20:59:35 +08:00
https://github.com/xylophone21/android-binder-standalone/blob/master/tools/aarch64_qemu/make_a_test_environment.md

这个是我之前调试其它模块时做的测试环境,使用 qemu 模拟器成功跑了自己编译的内核。
Pastsong
2015-12-19 21:12:00 +08:00
@xylophone21 感谢,正在看 QEMU 的文档
inevermore
2015-12-19 21:33:30 +08:00
Linux 只是内核,不是操作系统。
内核启动一段时间后,出现的第一个用户态进程是 init ,这部分代码负责启动 shell 等,但他压根不是内核源码的一部分,是发行版自己去提供的。

说白了,内核就是 资源管理 + 系统调用服务的合集 那些用户交互的部分与他无关
wdhwg001
2015-12-19 22:01:57 +08:00
我感觉你在开玩笑,就像你要在只有 hal.dll 、 ntoskrnl.exe 、 win32k.sys 、 Ntdll.dll 、 Kernel32.dll 、 Csrss.exe 等玩意的情况下跑一个 windows 一样…
尽管 linux 是宏内核,包含的东西比上面那些多不少,但想要只靠内核跑系统未免还是有点虐了…
vonnyfly
2015-12-19 22:14:23 +08:00
可以看我这个,开发测试 Linux 内核。
https://github.com/vonnyfly/linux-kernel-tester
msg7086
2015-12-19 22:33:46 +08:00
Linux 不是发行版,是内核……
除了内核以外其他的组件都不是 Linux 的一部分……
你这些东西全部装完以后就是一个 vmlinuz 文件而已……
Pastsong
2015-12-19 22:39:13 +08:00
@msg7086 这是不是有点像 darwin 和 OS X 的关系?
msg7086
2015-12-19 22:43:51 +08:00
@Pastsong 帮你查了维基。

不是。
Darwin 是操作系统,内核叫做 XNU 。
extreme
2015-12-19 22:48:03 +08:00
为什么没人提起 CoreUtils 。
Linux 内核+Coreutils ,一个最基本的 Linux 发行版本出来了。
FreeTxT
2015-12-20 16:43:44 +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