标签 kernel 下的文章

我们前面几节已经详细介绍了基于 UbuntuCentOS 构建内存镜像的方案,其中 ~/work/initramfs/init 脚本内容大致如下:

#!/bin/busybox sh

# Dump to sh if something fails
error() {
    echo "Jumping into the shell..."
    setsid cttyhack sh
}

# Populate /bin with binaries from busybox
/bin/busybox --install /bin

mkdir -p /proc
mount -t proc proc /proc

mkdir -p /sys
mount -t sysfs sysfs /sys

mkdir -p /sys/dev
mkdir -p /var/run
mkdir -p /dev

mkdir -p /dev/pts
mount -t devpts devpts /dev/pts

# Populate /dev
echo /bin/mdev > /proc/sys/kernel/hotplug
mdev -s

echo "mount rootfs... "
mkdir -p /newroot
mount -t tmpfs -o size=80% tmpfs /newroot || error

xz -d -c -f rootfs.tar.xz | tar -x -f - -C /newroot || error

mount --move /sys /newroot/sys
mount --move /proc /newroot/proc
mount --move /dev /newroot/dev

exec switch_root /newroot /sbin/init || error

- 阅读剩余部分 -

在前面, 我们已经使用 debootstrap 构建基于Ubuntu的内存OS, 但是业界常用的更多的是CentOS,所以一直在尝试使用CentOS来构建内存OS.
CentOS 7 root filesystem on tmpfs这篇文章中的方案可行, 我们不使用的原因是流程构建太长, 外部依赖太多,冗余的内容太多,也不够精简.
所以我们希望尝试的方案是类似 Ubuntudebootstrap 的工具. yum 本身是可以将对应包安装到指定目录,直到看到下面这篇日本同行写的文章,让这个过程更加清晰了.

宿主环境中,我们需要有 yum rpm 等工具命令的支持,在各个发行版中均可以安装这两个包, 当然宿主机器本身就是CentOS那就不需要在独立安装了.

- 阅读剩余部分 -

物理服务器上安装Linux,很多设备都有非常多的网卡,每个网卡的特性都不一样,批量这种类型的机器的管理有带来很大的麻烦,如何确定哪些网卡负责管理网络,哪些网卡承载业务网络。
我们希望通过通过命名来规范业务。

Linux kernel 从2.6版本的开始支持udev设备管理器,主要的功能是管理/dev目录底下的设备节点。它同时也是用来接替devfs及hotplug的功能,这意味着它要在添加/删除硬件时处理/dev目录以及所有用户空间的行为,包括加载firmware时。

- 阅读剩余部分 -

上一篇博客介绍了CentOS处理启动过程中,没有找到raid驱动导致的启动失败的问题,对于基于Debian的发行版、Gentoo等等系统处理起来是不一样的。因为各自都有对应的initramfs.img的管理工具。

介绍下各个发行版添加kernel module到initramfs的方法

Debian/Ubuntu

将启动过程依赖的raid驱动添加到/etc/initramfs-tools/modules

cat >> /etc/initramfs-tools/modules << EOF
ahci
aacraid
megaraid_sas
mpt3sas
EOF

- 阅读剩余部分 -

最近开始准备整理一份完整的Linux/FreeBSD的PXE安装教程,先从基础设施VirtualBox安装开始,便于我们模拟在真实场景下远程装机的功能.

1.下载软件

建议直接从官网下载软件,下载软件的同时可以关注下官方一些文档,以及最近的版本情况,甚至你还可以关注下目前版本对PXE的支持情况

(1).Windows下载地址

https://download.virtualbox.org/virtualbox/6.0.4/VirtualBox-6.0.4-128413-Win.exe

安装过程没太多需要注意的,一步一步确认就好了.

VirtualBox安装

(2).Linux下载地址

https://www.virtualbox.org/wiki/Linux_Downloads

- 阅读剩余部分 -