hl1200 发表于 2014-4-4 11:15:24

不用发行版本,怎么装linux?

请教一下大神,如果不用发行版本,直接编译内核,怎么样把linux装到电脑上?

kyughanum 发表于 2014-4-4 11:16:19

参考LFS。。。

笑笑我笑了 发表于 2014-4-4 11:20:50

LFS太折磨人,LZ装一遍Gentoo或者ArchLinux就明白了。

hl1200 发表于 2014-4-4 11:21:14

kyughanum 发表于 2014-4-4 11:16
参考LFS。。。

LFS还是比较接近发行版本了吧。
我只是想像嵌入式系统那样弄个系统在虚拟机上运行,这样我就不用买开发板了{:lol:}

kyughanum 发表于 2014-4-4 11:27:05

hl1200 发表于 2014-4-4 11:21
LFS还是比较接近发行版本了吧。
我只是想像嵌入式系统那样弄个系统在虚拟机上运行,这样我就不用买开发板 ...

看不明白你想搞的是什么,难道你的虚拟机不是X86平台的?
LFS跟发行版本一点关系都没有,但是你要编译LFS还是要有一个编译系统,通常可以用光盘启动的系统。

hl1200 发表于 2014-4-4 13:29:18


http://www.2cto.com/os/201202/119958.html

在Virtualbox中运行自编译的Linux

hl1200 发表于 2014-4-4 22:06:47

https://wiki.archlinux.org/index.php/Creating_Arch_Linux_disk_image
Creating Arch Linux disk image

cmheia 发表于 2014-4-4 22:15:27

{:lol:}话说我当年注册淘宝就是为了买这本书。

hl1200 发表于 2014-4-4 22:55:32

cmheia 发表于 2014-4-4 22:15
话说我当年注册淘宝就是为了买这本书。

有木有这方面的内容?搞了一天都没搞定,晕死了。。。

Jordan?? 发表于 2014-4-4 23:37:46

LFS很折磨人。。

Jordan?? 发表于 2014-4-4 23:38:15

开发的话还是老老实实用ubuntu 之类的吧。。

hl1200 发表于 2014-4-4 23:39:52

Jordan?? 发表于 2014-4-4 23:37
LFS很折磨人。。

我只想做个virtaulbox的镜像,里面有grub2引导linux内核就够了{:cry:}

hl1200 发表于 2014-4-4 23:47:20

10.安装grub
  grub --device-map=/dev/nul
  grub> device (hd0) hd.img
  grub> root (hd0,0)
  grub> setup (hd0)

这一步不知道怎么搞了,现在系统全部是grub2命令的。。。

fengxin32 发表于 2014-4-4 23:49:19

上面那本绝对的神书,值得买一本

hl1200 发表于 2014-4-4 23:51:07

# grub2-install /dev/loop1
/usr/sbin/grub2-bios-setup: warning: this GPT partition label contains no BIOS Boot Partition; embedding won't be possible.
/usr/sbin/grub2-bios-setup:错误: 无法嵌入,但在跨盘安装时是必须的.

无法安装到loop1上面

enliest@qq.com 发表于 2014-4-4 23:54:38

编译一个 busybox,用 extlinux 配置好引导就可以了。最简单。LFS 比较全面。
用 buildroot 也很好。

3050311118 发表于 2014-4-5 13:17:41

如果你不搞底层    搞上层应用 电脑桌面版本和嵌入式基本差不多的   我的那个板子基本在吃灰

金牛AKI 发表于 2014-4-5 13:35:28

百度搜啊大把大把

hl1200 发表于 2014-4-5 21:54:37

3050311118 发表于 2014-4-5 13:17
如果你不搞底层    搞上层应用 电脑桌面版本和嵌入式基本差不多的   我的那个板子基本在吃灰...

同感,一箱的板子等着当古董,越学越觉得以前可笑,还省吃俭用的买板。。。
现在都买现成的核心板了,内核,驱动都已经好了,只要把应用层编译一下就搞定了,比cm3还容易。

hl1200 发表于 2014-4-5 21:55:13

金牛AKI 发表于 2014-4-5 13:35
百度搜啊大把大把

能不能给个链接看看?搞不定阿{:mad:}

xwkm 发表于 2014-4-5 22:09:51

Linux只是一个内核。没有运行库和init的支撑,啥都干不了。
就比如说,Linux启动是从boot->kernel->fork 0 init
剩下就是init 派生出所有进程。如果没有init进程,毛用没有

error_dan 发表于 2014-4-5 22:54:36

你需要gentoo
放心,这个看上去是发行版,但是绝对比发行版痛苦多了~

crysislinux 发表于 2014-4-5 23:43:43

看你的目的的话,用qmeu来直接启动linux内核是最合适的。。你可以在上边测试驱动,连framebuffer都可以开启,然后显示图像

Earthman 发表于 2014-4-6 00:18:18

楼主需要一个基本的rootfs,然后配合kernel,bootloader,写入引导就可以启动的

笑笑我笑了 发表于 2014-4-6 00:36:02

error_dan 发表于 2014-4-5 22:54
你需要gentoo
放心,这个看上去是发行版,但是绝对比发行版痛苦多了~

打算换个i7+8G内存+SSD再来搞Gentoo。

笑笑我笑了 发表于 2014-4-6 00:42:20

hl1200 发表于 2014-4-4 23:51
# grub2-install /dev/loop1
/usr/sbin/grub2-bios-setup: warning: this GPT partition label contains no ...

硬盘应该是/dev/sda。/de/loop1应该是软盘,所以装不上去。

hl1200 发表于 2014-4-6 08:18:20

终于看到一点曙光了
1. 用fallocate命令创建一个镜像文件,这里创建了一个1G的镜像文件,mydisk.img
# fallocate -l 1G mydisk.img

2.对mydisk.img进行分区,格式化
# fdisk mydisk.img

欢迎使用 fdisk (util-linux 2.24.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

设备不包含可识别的分区表。

Created a new DOS disklabel with disk identifier 0xd58e7163.

命令(输入 m 获取帮助):o
Created a new DOS disklabel with disk identifier 0xdd45c913.

命令(输入 m 获取帮助):n

分区类型:
   p   主分区(0 个主分区,0 个扩展分区,4 空闲)
   e   扩展分区
请选择(默认为 p):: p
分区号 (1-4, default 1): 1
第一个扇区 (2048-2097151, default 2048):
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-2097151, default 2097151):

创建了一个新分区 1,类型为“Linux”,大小为 1023 MiB。

命令(输入 m 获取帮助):w
分区表已调整。
正在同步磁盘。

# losetup -f --show mydisk.img
/dev/loop0

注意,用GRUB2的必须用kpartx创建mapper,否则不能正确安装。
# kpartx -a /dev/loop0

# mkfs.ext4 /dev/mapper/loop0p1
mke2fs 1.42.8 (20-Jun-2013)
Discarding device blocks: 完成                           
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 261888 blocks
13094 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Allocating group tables: 完成                           
正在写入inode表: 完成                           
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

清除loop0的MBR
# dd if=/dev/zero of=/dev/loop0 seek=1 count=2047 bs=1b
记录了2047+0 的读入
记录了2047+0 的写出
1048064字节(1.0 MB)已复制,0.00268257 秒,391 MB/秒

为loop0安装grub2
# grub2-install /dev/loop0
Installation finished. No error reported.

转换成虚拟机文件
# VBoxManage convertdd mydisk.img mylinux.vdi
Converting from raw image file="mydisk.img" to file="mylinux.vdi"...
Creating dynamic image with size 1073741824 bytes (1024MB)...

更改文件权限
#chmod 777 mylinux.vdi

用虚拟机打开,可以看到grub2了
页: [1]
查看完整版本: 不用发行版本,怎么装linux?