BusyBox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1.4) built-in she1l (ash) Enter ‘help‘ for a list of built-

虚拟机启动ubuntu系统提示根文件系统报错

上次使用虚拟机中的ubuntu没有正常关机,直接断电,可能是报错的原因

 输入命令:exit,查看错误分区

fsck -y /dev/sda1 修复根文件系统

修复完成后,系统会出现filesystem has been Modified等类似的字样

输入exit,重启系统

Busybox创建nfs文件系统 1、解压busybox-1.19.4.tar.bz2 修改Makefilez中的ARCH和CROSS_COMPILE与本机的路径一致: CROSS_COMPILE ?= /opt/crosstool/bin/arm-s3c2410-linux-gnu- ... ARCH ?= arm 2、编译busybox。先make menuconfig,修改以下: Busybox Settings ---> Build Options ---> Build BusyBox as a static binary (no shared libs) //直接编译成静态库,省事点 (/opt/crosstool/bin/arm-s3c2410-linux-gnu-) Cross Compiler prefix //这里和Makefile里保持一致,应该写一处就行了 Installation Options ---> Don't use /usr //不用本机的目录 Shells ---> Choose your default shell (ash) ---> //这里选择shellash,应该是默认选中的 --- ash //把ash这档的选项全部选上 保存退出,直接make,make install。 3、用shell脚本创建根文件系统的目录结构,并在想要建立根文件系统的地方运行此脚本。我是用root用户登陆的,直接创建了设备节点。 [root@Sure root-s3c2410]# vim makedir.sh #!/bin/sh echo "makeing rootdir" mkdir rootfs cd rootfs echo "makeing dir: bin dev etc lib proc sbin sys usr" mkdir bin dev etc lib proc sbin sys usr #8 dirs mkdir usr/bin usr/lib usr/sbin lib/modules #Don't use mknod, unless you run this Script as mknod -m 600 dev/console c 5 1 mknod -m 666 dev/null c 1 3 echo "making dir: mnt tmp var" mkdir mnt tmp var chmod 1777 tmp mkdir mnt/etc mnt/jiffs2 mnt/yaffs mnt/data mnt/temp mkdir var/lib var/lock var/log var/run var/tmp chmod 1777 var/tmp echo "making dir: home root boot" mkdir home root boot echo "done" 执行这个sh: [root@Sure root-s3c2410]# sh makedir.sh 创建出一个主文件夹rootfs,里面有一批文件: [root@Sure rootfs]# ls bin boot dev etc home lib mnt proc root sbin sys tmp usr var 4、把busybox源码目录下的etc的内容拷贝到这里的etc下 [root@Sure rootfs]# cd etc/ [root@Sure etc]# cp -a /home/jacky/busybox-1.11.1/examples/bootfloppy/etc/* ./ 5、修改拷贝过来的profile文件 [root@Sure etc]# vim profile # /etc/profile: system-wide .profile file for the Bourne shells echo "Processing /etc/profile" # no-op # Set search library path echo " Set search library path" export LD_LIBRARY_PATH=/lib:/usr/lib # Set user path echo " Set user path" PATH=/bin:/sbin:/usr/bin:/usr/sbin export PATH # Set PS1 echo " Set PS1" HOSTNAME=`/bin/hostname` # 此处让shell提示符显示host名称的。是`,不是’,要注意 # 会在进入根系统后显示Jacky export PS1="\\e[32m[$USER@$HOSTNAME \\w\\a]\\$\\e[00;37m " # 此处\\e[32m是让后面的“[$USER@$HOSTNAME \\w\\a]”显示为绿色 # \\e[00是关闭效果 # \\e[05是闪烁 # 37m是让后面的显示为白色 # 多个命令可以;号隔开 echo "All done!" echo 6、修改初始化文件inittab和fstab [root@Sure etc]# vim inittab ::sysinit:/etc/init.d/rcS ::respawn:-/bin/sh ::restart:/sbin/init tty2::askfirst:-/bin/sh ::ctrlaltdel:/bin/umount -a -r ::shutdown:/bin/umount -a -r ::shutdown:/sbin/swapoff –a [root@Sure etc]# vim fstab proc /proc proc defaults 0 0 none /tmp ramfs defaults 0 0 mdev /dev ramfs defaults 0 0 sysfs /sys sysfs defaults 0 0 7、修改初始化的脚本文件init.d/rcS [root@Sure etc]# vim init.d/rcS #! /bin/sh echo "Processing etc/init.d/rc.S" #hostname ${HOSTNAME} echo " Mount all" /bin/mount -a echo " Start mdev...." /bin/echo /sbin/mdev > proc/sys/kernel/hotplug mdev -s echo "****************************************************" echo " RootFS by NFS, s3c2410" echo " Created by Jacky Xu @ 2008.7.13" echo " Enjoy it!!!" echo "****************************************************" echo 8、创建一个空的mdev.conf文件,在挂载根文件系统时会用到的 [root@Sure etc]# touch mdev.conf 9、从本机拷贝passwd、shadow、group文件。 [root@Sure etc]# cp /etc/passwd . [root@Sure etc]# cp /etc/shadow . [root@Sure etc]# cp /etc/group . 修改passwd文件,把第一行和最后一行的bash修改成ash10、把busybox默认安装目录中的文件全部复制到这里的rootfs中。会发现多了linuxrc -> bin/busybox文件,这是挂载文件系统需要执行的。 [root@Sure etc]# cd .. [root@Sure rootfs]# cp -Rfv /home/jacky/busybox-1.11.1/_install/ ./ OK,以上用busybox创建了一个基本的文件系统。
<think>好的,我需要帮助用户了解BusyBox v1.36.1 Ubuntu内置的ash shell命令。首先,用户的问题是关于BusyBox内置shell的功能或命令,特别是版本1.36.1。根据用户提供的引用,他们可能遇到了启动问题或者需要了解如何获取帮助。 首先,我应该确认BusyBoxash shell基本操作。根据引用中的信息,输入'help'可以查看内置命令列表,比如引用[2]和[4]提到这一点。所以第一步是告诉用户输入'help'命令,这会显示基本的命令列表。 接下来,用户可能需要更详细的帮助。根据引用中的不同版本,比如引用[1]、[2]、[3],每个版本的BusyBox可能有不同的命令,但通常每个命令都支持--help参数。所以建议用户使用命令后面加上--help来获取帮助,例如ls --help。 另外,用户可能需要知道如何查看BusyBox的版本信息。根据引用[1]到[5],BusyBox通常会在启动时显示版本信息,或者在shell中输入busybox命令查看。比如,输入busybox或者busybox --help可以显示支持的所有命令列表,这适用于任何版本,包括v1.36.1。 用户可能遇到启动问题,比如引用[4]和[5]提到无法正常开机,需要手动执行fsck。虽然用户现在的问题是关于命令帮助,但可能需要提及这些常见问题的解决方法,比如使用fsck命令修复文件系统,但根据用户当前的问题,这可能不是主要部分,但可以作为相关问题提出。 确保回答结构清晰,分步骤说明如何获取帮助,包括输入help命令,使用--help参数,以及通过busybox命令查看所有支持的命令。同时,需要引用提供的参考资料,比如引用[2]和[4]提到输入help获取内置命令,引用[5]提到fsck的使用。 最后,生成相关问题,可能包括如何修复启动问题,查看版本信息,或者常用命令示例等。需要检查是否符合用户提供的引用内容,确保引用标识正确,例如[^2]、[^4]、[^5]等。 总结回答步骤: 1. 输入help查看基本命令列表。 2. 使用命令 --help获取具体帮助。 3. 使用busybox命令查看所有支持的命令。 4. 提及常见问题如fsck的使用。 5. 生成相关问题,如启动问题、命令示例等。</think>[用户可见层] ### BusyBox v1.36.1 Ubuntu内置ash shell命令帮助指南 #### 1. **查看基础命令列表** 在BusyBox ash shell界面中,直接输入 `help` 可获取内置命令的简要列表。例如: ```bash help ``` 这会显示如 `cd`, `echo`, `ls`, `mkdir` 等基础命令[^2][^4]。 #### 2. **获取具体命令的帮助** 大多数BusyBox命令支持 `--help` 参数。例如查看 `ls` 命令的用法: ```bash ls --help ``` 输出会包含参数说明,如 `-l`(长格式)、`-a`(显示隐藏文件)等。 #### 3. **查看BusyBox支持的所有命令** 输入 `busybox` 或 `busybox --help` 可列出所有编译进当前版本的功能模块: ```bash busybox ``` 这将显示如 `cp`, `mv`, `grep`, `fsck` 等命令,以及网络工具(如 `ifconfig`)和文件系统工具[^5]。 #### 4. **关键命令示例** - **文件操作** ```bash cp /source/file /dest/ # 复制文件 mkdir new_folder # 创建目录 ``` - **系统维护** ```bash fsck /dev/sda1 # 检查并修复文件系统 mount /dev/sda1 /mnt # 挂载分区 ``` #### 5. **版本信息查询** 输入以下命令可查看BusyBox版本: ```bash busybox | head -n1 ``` 输出示例: `BusyBox v1.36.1 (2023-XX-XX XX:XX:XX UTC) multi-call binary.` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码成行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值