从Linux kernel源码开始制作可启动的linux发行版映像.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| ## 1.建立目录结构
$ mkdir linux ; cd linux
$ mkdir -p iso/boot/grub
$ mkdir -p iso/kernel
$ mkdir -p kernel
## 1.Ubuntu下载kernel编译依赖工具
$ sudo apt install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex bison libelf-dev -y
## 3.下载linux kernel 源码
$ git clone -depth 1 https://github.com/linux/linux
## 4. 编译Linux kernel
$ make mrproper
$ make menuconfig
$ make all -j 8
## 将编译好的kernel映像复制到 iso目录下
$ cp arch/x86/boot/bzImage ../iso/kernel/
## busybox
## 下载busybox
$ wget https://busybox.net/downloads/busybox-1.36.1.tar.bz2
$ tar xf busybox-1.36.1.tar.bz2
## 安装编译依赖
$ sudo apt-get install libc6-dev -y
## 编译busybox
$ cd busybox-1.36.1
$ make defconfig
$ make menuconfig
$ make
### 虚拟器启动内核映像
$ qemu-system-x86_64 -kernel bzImage -initrd initramfs.cpio.gz -append "console=tty0 console=ttyS0" -nographic
|
- windows 系统下解压或下载linux kernel文件报错
原因: windows ntfs文件名默认不区分大小写, 而linux kernel中包含大小写同名文件.
1
2
3
4
| ## 开启windows目录文件名大小写敏感
# fsutil file SetCaseSensitiveInfo d:\code\linux\kernel\ enable
|