成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何構建用戶態(tài) Linux

系統(tǒng) Linux
“用戶態(tài) Linux” 是什么?它是一種可以在用戶態(tài)運行的 Linux 內核。它有什么用?它用于內核隔離、替代 QEMU/Bochs 來調試 Linux 內核,也可以在低性能設備上代替 KVM 進行虛擬化。

“用戶態(tài) Linux” 是什么?它是一種可以在用戶態(tài)運行的 Linux 內核。(用戶態(tài)是什么,這里就不解釋了)

它有什么用?它用于內核隔離、替代 QEMU/Bochs 來調試 Linux 內核,也可以在低性能設備上代替 KVM 進行虛擬化。

但它也存在一些缺陷,比如不支持 ARM 架構以及多核系統(tǒng)。

編譯 Linux 內核

首先通過 git 下載 Linux 內核源代碼:

git clone --depth 1 https://mirrors.tuna.tsinghua.edu.cn/git/linux.git

(這里使用了清華大學的鏡像站,kernel.org 也是可以的。)

然后采用如下步驟編譯它:

    $ cd linux
$ export ARCH=um # 非常重要 設置架構為用戶態(tài)
$ make defcongig
$ make -j8
LD .tmp_vmlinux.kallsyms1
KSYMS .tmp_vmlinux.kallsyms1.S
AS .tmp_vmlinux.kallsyms1.S
LD .tmp_vmlinux.kallsyms2
KSYMS .tmp_vmlinux.kallsyms2.S
AS .tmp_vmlinux.kallsyms2.S
LD vmlinux
SYSMAP System.map
LINK linux
MODPOST modules-only.symvers
GEN Module.symvers

經過漫長的編譯之后,你獲得了一個 vmlinux 文件。它和正常的 Linux 內核的區(qū)別是,這個 vmlinux 可以在用戶態(tài)運行。

準備根文件系統(tǒng)

先別著急啟動,先來準備內核所使用的根文件系統(tǒng)。

以下內容以 Debian Linux 為例。

首先安裝 debootstrap 軟件包:

sudo apt install debootstrap

以下命令皆需要 root 權限,先切換到 root 用戶:

$ sudo su

然后構建根文件系統(tǒng),存放在 rootfs 文件中:

    # dd if=/dev/zero of=rootfs seek=2G # 創(chuàng)建一個 2GB 大小的空 rootfs 文件
2000000000字節(jié)(2 GB,2 GB)已復制,0.137825 s,570 MB/s`
# mkfs.ext4 rootfs # 將其格式化為 ext4 格式
mke2fs 1.46.5 (30-Dec-2021)
Discarding device blocks: done
Creating filesystem with 76748 1k blocks and 19200 inodes
Filesystem UUID: 9dc7f1f6-8b16-4c64-9e22-94ede327c532
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

然后掛載 rootfs 到 /mnt 下:

# mount rootfs /mnt

在其中創(chuàng)建 Debian Linux 的根文件系統(tǒng)(/):

    # cd /mnt
# debootstrap sid ./ https://mirrors.tuna.tsinghua.edu.cn/debian
I: Configuring python-central...
I: Configuring ubuntu-minimal...
I: Configuring libc-bin...
I: Configuring initramfs-tools...
I: Base system installed successfully.

通過 chroot 將其改變?yōu)楦夸洠?/p>

# chroot ./

設置 root 密碼:

    # passwd 
New password:
Retype new password:

然后退出 chroot 環(huán)境,并卸載:

    # exit # 退出 chroot 環(huán)境
# cd ..
# umount /mnt
# exit # 退出 sudo 環(huán)境

設置 rootfs 的所有權為普通用戶:

$ sudo chown `whoami` rootfs

這樣,這個用戶態(tài) Linux 的根文件系統(tǒng)就準備好了。

測試用戶態(tài) Linux

然后就可以用這個內核啟動了,只需要一行命令:

$ screen ./vmlinux mem=1G root=/dev/root rootfstype=hostfs hostfs=./rootfs 
con=null con0=null,fd:2 con1=fd:0,fd:1

啟動后,使用你前面設置的 root 用戶/密碼登錄,便可以進入到用戶態(tài) Linux 容器中了。

有別于 Docker,這個容器的內核和宿主的內核是隔離的,可以使用這個容器作為一個調試內核的工具,如:

    echo 1 > /proc/sys/kernel/sysrq
echo c > /proc/sysrq-trigger

即可手動觸發(fā)一個“內核恐慌Kernel Panic”錯誤。

作者簡介:calvinlin:一個普通的深圳初中生。

責任編輯:未麗燕 來源: Linux中國
相關推薦

2023-10-26 11:39:54

Linux系統(tǒng)CPU

2014-07-17 09:55:23

Linux程序計時

2021-12-20 09:53:51

用戶態(tài)內核態(tài)應用程序

2017-04-28 11:15:26

大數(shù)據用戶畫像技術

2022-12-30 07:50:05

無棧協(xié)程Linux

2024-11-07 09:38:43

PodCAP特權

2022-04-21 11:26:31

鴻蒙操作系統(tǒng)

2021-09-08 10:21:33

內核網絡包Tcpdump

2021-09-17 11:59:21

tcpdump網絡包Linux

2017-05-02 10:30:46

2023-03-15 07:22:56

畫像平臺數(shù)據中臺

2016-04-26 10:43:05

數(shù)據分析用戶行為模型

2016-11-08 09:29:11

數(shù)據構建用戶模型

2021-08-31 07:54:24

TCPIP協(xié)議

2017-08-16 16:20:01

Linux內核態(tài)搶占用戶態(tài)搶占

2020-10-10 06:22:58

虛擬地址物理

2020-10-05 22:05:10

Linux系統(tǒng)編程時序競態(tài)

2019-07-26 13:49:49

用戶組Linux

2019-11-18 10:00:05

Linux桌面添加用戶

2016-06-17 10:19:43

聯(lián)想
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 三a毛片| 免费99视频 | 成人免费在线观看视频 | 国产乱码精品一区二区三区忘忧草 | 视频一区二区三区在线观看 | 日韩在线免费 | 日本在线播放一区二区 | 国产专区视频 | 欧美一区不卡 | 国产精品久久久99 | 秋霞电影院午夜伦 | 午夜丰满寂寞少妇精品 | 成人免费在线视频 | 亚洲精品欧美 | 黄色成人免费在线观看 | 国产精品福利视频 | 亚洲激情一区二区 | 中文字幕乱码一区二区三区 | 波多野结衣一二三区 | 亚洲国产中文字幕 | 国产精品日韩一区二区 | 日韩成人一区 | 久久精品国产精品青草 | 欧美性生活一区二区三区 | 免费激情网站 | 天天射网站 | 一本一道久久a久久精品综合蜜臀 | 久久机热 | 亚洲二区在线 | 亚洲一区在线日韩在线深爱 | 97精品视频在线观看 | 成年人视频在线免费观看 | 国产精品成人一区二区三区 | 美女视频网站久久 | 亚洲欧洲成人 | 亚洲最大的成人网 | 91久久国产综合久久91精品网站 | 精品香蕉一区二区三区 | 操夜夜| 久久99精品久久久久久国产越南 | 国产亚洲一区二区三区在线观看 |