busybox如何使用,busybox linux內核,使用busybox創建精簡linux內核實例

 2023-11-19 阅读 22 评论 0

摘要:busybox一個二進制程序,模擬實現眾多程序。/bin/busybox查看本機硬件設備信息:#cat/proc/cpuinfo#cat/proc/meminfo#lsusb顯示usb接口信息。#lspci顯示pci總線busybox一個二進制程序,模擬實現眾多程序。busybox如何使用,/bin/busybox查看本機硬件設備信

busybox一個二進制程序,模擬實現眾多程序。/bin/busybox查看本機硬件設備信息:#cat/proc/cpuinfo#cat/proc/meminfo#lsusb顯示usb接口信息。#lspci顯示pci總線

busybox

一個二進制程序,模擬實現眾多程序。

busybox如何使用,/bin/busybox

查看本機硬件設備信息:

#cat /proc/cpuinfo

#cat /proc/meminfo

Ubuntu centos,#lsusb 顯示usb接口信息。

#lspci 顯示pci總線上的所有設備。

#hal-device 顯示所有硬件的詳細信息。

hardware abstract layer 硬件抽象層。

docker debian、編譯busybox:

#tar xf busybox.tar.bz2

#cd busybox

#make menuconfig

Linux 內核。Busybox Settings

Build Options

Build BusyBox as a static binary(no share libs)(NEW)

Installation Options("make install"behavior)

busybox linux。可以指定.install文件生成的地址。

#make install

若make install報錯,則此內核版本缺少部分頭文件,需要下載更新的內核。

#tar xf linux-xxx.tar.bz2 -C /usr/src

linux內核busybox。#cp -r /linux-xxx/include/mtd/ubi-user.h /root/busybox/include/mtd/

使用busybox創建系統內核。

0.掛載相關設備:

#mount /dev/sdb1 /mnt/boot

linux內核多大,#mount /dev/sdb2 /mnt/sysroot

1.編譯busybox

#tar xf busybox.tar.bz2

#cd busybox

#make menuconfig

Busybox Settings

Build Options

Build BusyBox as a static binary(no share libs)(NEW)

Installation Options("make install"behavior)

可以指定.install文件生成的地址。

#make install

3.制作initrd文件:

1.復制busybox目錄下的_install內的全部內容:

#cp -a _install /tmp/busybox

#ls /tmp/busybox

bin linuxrc sbin usr

#rm linuxrc

2.創建相應目錄:

#mkdir -p etc dev lib proc mnt/sysroot tmp

3.復制ext3需要的相關庫。

#cp /lib/modules/KERNELVERSION/kernel/fs/jbd/jbd.ko /tmp/busybox/lib/modules/

#cp /lib/modules/KERNELVERSION/kernel/fs/ext3/ext3.ko /tmp/busybox/lib/modules/

4.創建init文件。

#vim /tmp/busybox/etc/rc.d/init

#!/bin/sh

mount -t proc proc /proc

mount -t sysfs sysfs /sys

insmod /lib/modules/jbd.ko

insmod /lib/modules/ext3.ko

mdev -s

mount -t ext3 /dev/sda2 /mnt/sysroot

exec switch_root /mnt/sysroot /sbin/init

#chmod +x init

5.創建2個必要的設備文件。

#mknod /tmp/busybox/dev/console c 5 1

#mknod /tmp/busybox/dev/null c 1 3

6.創建initrd文件:

#cd /tmp/busybox

#find . | cpio -H newc -o --quiet |gzip -9> ?/mnt/boot/

initrd.gz

4.從當前系統復制vmlinux文件:

#cp /boot/vmlinux-xxx.el5 /mnt/boot/vmlinux

5.安裝grub:

#grub-install --root-directory=/mnt/boot /dev/sdb

6.創建grub.conf文件:

#vim /mnt/boot/grub/grub.conf

default=0

timeout=3

title=my linux

root(hd0,0)

kernel /vmlinux ro root=/dev/hda2 quiet

initrd /initrd.gz

7.創建相關的文件系統:

#cd busybox

#cp _inistall /mnt/sysroot

#cd /mnt/sysroot

#rm linuxrc

#mkdir -pv lib/modules proc sys dev etc/rc.d/init.d root mnt media

#mkdir -pv root tmp home var/{log,run,lock/subsys,tmp} usr/{bin,sbin,local} opt boot

8.創建inittab文件:

#cd /mnt/sysroot/etc

#vim inittab

::sysinit:/etc/rc.d/rc.sysinit

console::reapawn:-/bin/sh

::ctrlaltdel:/sbin/reboot

::shutdonw:/bin/umount -a -r

9.創建fstab文件

#vim fstab

sysfs /sys sysfs defaults 0 0

proc /porc proc defaults 0 0

/dev/hda1 /boot ext3 defaults 0 0

/dev/hda2 / ext3 defaaults 1 1

10.創建必要的設備文件:

#mknod /mnt/sysroot/dev/console c 5 1

#mknod /mnt/sysroot/dev/null c 1 3

11.創建initrd文件:

#vim /mnt/sysroot/etc/rc.d/rc.sysinit

#!/bin/bash

echo -e "\tWelcom to \e33[34mMY LINUX\033[0m"

echo -e "Remounting root ......[ \033[32mOK\033[0m ]"

mount -t proc proc /proc

mount -t sysfs sysfs /sys

echo -e "Creating files of device ......[ \033[32mOK\033[0m ]"

mdev -s

echo -e "Mounting the filesystem ......[ \033[32mOK\033[0m ]"

mount -a

swapon -a

#chmod +x /mnt/sysroot/etc/rc.d/rc.sysinit

本文出自 “小私的blog” 博客,請務必保留此出處,

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/182806.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息