目录

chroot: failed to run command ‘/bin/bash’: No such file or directory

1. 问题描述及原因分析

在busybox的环境下,执行

复制代码
cd rootfs
chroot .

报错如下:

复制代码
chroot: failed to run command '/bin/bash': No such file or directory

根据报错应该rootfs文件系统中缺少/bin/bash,进入查看确实默认是sh,换成

复制代码
chroot . /bin/sh

依然报错

复制代码
chroot: failed to run command '/bin/sh': No such file or directory

通过查阅资料发现,/bin/sh链接/bin/busybox,busybox为动态执行文件,直接进入缺少动态链接库,需要拷贝相应的动态到rootfs文件系统,如下:

复制代码
cd rootfs
cp /lib/ld-linux-aarch64.so.1 lib/
mkdir -p lib64
cp /lib64/libc.so.6 lib64/
cp /lib64/libresolv.so.2 lib64/
cp /lib64/libm.so.6 lib64/

然后再执行chroot . /bin/sh就正常了。


2. 解决方案:

拷贝相应的动态链接库到rootfs中,如下:

复制代码
cd rootfs
cp /lib/ld-linux-aarch64.so.1 lib/
mkdir -p lib64
cp /lib64/libc.so.6 lib64/
cp /lib64/libresolv.so.2 lib64/
cp /lib64/libm.so.6 lib64/

然后再chroot采用sh解释器,如下:

复制代码
chroot . /bin/sh
export PATH=$PATH:/bin:/sbin
ls

3.参考文献

https://unix.stackexchange.com/questions/58074/how-to-chroot-into-busybox-environment

本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
暮云星影7 小时前
十二、buildroot系统 adb登录权限设置
linux·arm开发·adb
HHONGQI1237 小时前
Linux 基础入门操作 前言 VIM的基本操作 2
linux·运维·服务器·vim
qq_543248528 小时前
Linux网络配置与测试
linux·运维·网络
钡铼技术物联网关8 小时前
下一代楼宇自控的中枢神经:ARM终端的生态
大数据·linux·人工智能
依旧风轻8 小时前
深入理解 rsync daemon 模式(守护进程)
linux·ios·rsync·daemon·sqi
小峰编程9 小时前
谈Linux之磁盘管理——万字详解
linux·运维·服务器·经验分享·笔记·centos·运维开发
俺不是文盲9 小时前
Linux驱动开发:SPI驱动开发原理
linux·驱动开发
良许Linux10 小时前
程序员如何利用周末提升自己
linux
麻芝汤圆10 小时前
Linux操作系统的计算机体系结构与网络安全的深度关联
大数据·linux·运维·服务器·网络·安全·web安全
菜鸟康10 小时前
Linux网络编程——TCP通信的四次挥手
linux·网络·tcp/ip