制作Linux启动iso

制作Linux启动iso

简介

从Linux kernel源码开始制作可启动的linux发行版映像.

步骤

1. 建立目录结构

 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


2. 编译内核

问题

  1. windows 系统下解压或下载linux kernel文件报错 原因: windows ntfs文件名默认不区分大小写, 而linux kernel中包含大小写同名文件.
1
2
3
4
## 开启windows目录文件名大小写敏感
# fsutil file SetCaseSensitiveInfo d:\code\linux\kernel\ enable


参考

updatedupdated2024-08-252024-08-25