/*********************************************************************************
* Linux chroot 并使用之前系统设备节点
* 说明:
* 直接使用chroot结果/dev下没有设备,所有有些东西需要提前挂载,在进入chroot。
*
* 2016-12-30 深圳 南山平山村 曾剑锋
********************************************************************************/ 一、参考文档:
. mount dev, proc, sys in a chroot environment?
http://superuser.com/questions/165116/mount-dev-proc-sys-in-a-chroot-environment 二、主要Linux Shell命令:
. mount /dev/mmcblk0p2 /mnt
. mount -t proc proc /mnt/proc
. mount -t sysfs sys /mnt/sys
. mount -o bind /dev /mnt/dev
. chroot /mnt/ 三、实际操作及数据:
[zengjf@root ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root % /
tmpfs % /dev/shm
tmpfs % /tmp
tmpfs % /run
[zengjf@root ~]# mount /dev/mmcblk0p2 /mnt
EXT3-fs: barriers not enabled
kjournald starting. Commit interval seconds
EXT3-fs (mmcblk0p2): warning: checktime reached, running e2fsck is recommended
EXT3-fs (mmcblk0p2): using internal journal
EXT3-fs (mmcblk0p2): recovery complete
EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
[zengjf@root ~]# mount -t proc proc /mnt/proc
[zengjf@root ~]# mount -t sysfs sys /mnt/sys
[zengjf@root ~]# mount -o bind /dev /mnt/dev
[zengjf@root ~]# chroot /mnt/ BusyBox v1.20.2 () built-in shell (ash)
Enter 'help' for a list of built-in commands. [zengjf@root /]# ls /dev/
alarm ptyr8 tty26 ttyr1
apm_bios ptyr9 tty27 ttyr2
buzzer ptyra tty28 ttyr3
console ptyrb tty29 ttyr4
cpu_dma_latency ptyrc tty3 ttyr5
fb0 ptyrd tty30 ttyr6
fb1 ptyre tty31 ttyr7
fb2 ptyrf tty32 ttyr8
full ptys0 tty33 ttyr9
galcore ptys1 tty34 ttyra
i2c- ptys2 tty35 ttyrb
i2c- ptys3 tty36 ttyrc
i2c- ptys4 tty37 ttyrd
i2c- ptys5 tty38 ttyre
input ptys6 tty39 ttyrf
kmem ptys7 tty4 ttys0
kmsg ptys8 tty40 ttys1
log ptys9 tty41 ttys2
mem ptyt2 tty5 ttysb
mmcblk0 ptyt3 tty50 ttysc
mmcblk0boot0 ptyt4 tty51 ttysd
mmcblk0boot1 ptyt5 tty52 ttyse
mmcblk0p1 ptyt6 tty53 ttysf
mmcblk0p2 ptyt7 tty54 ttyt0
mx6check ptyt8 tty55 ttyt1
mxc_asrc ptyt9 tty56 ttyt2
mxc_ipu ptyta tty57 ttyt3
mxc_vpu ptytb tty58 ttyt4
mxs_viim ptytc tty59 ttyt5
network_latency ptytd tty6 ttyt6
network_throughput ptyte tty60 ttyt7
null ptytf tty61 ttyt8
...
[zengjf@root /]# ls sys
block class devices fs kernel power
bus dev firmware fsl_otp module
[zengjf@root /]# ls proc
cpuinfo mounts
crypto mtd
devices net
diskstats pagetypeinfo
dri partitions
driver scsi
execdomains self
fb slabinfo
filesystems softirqs
fs stat
interrupts swaps
iomem sys
ioports sysrq-trigger
irq sysvipc
kallsyms timer_list
apm kmsg tty
asound kpagecount uptime
buddyinfo kpageflags version
bus loadavg vmallocinfo
cmdline locks vmstat
config.gz meminfo zoneinfo
consoles misc
cpu modules
[zengjf@root /]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root % /
devpts % /dev/pts
tmpfs % /dev/shm
tmpfs % /tmp
df: /run: No such file or directory
/dev/mmcblk0p2 % /
/dev/root % /dev
[zengjf@root /]# exit
[zengjf@root ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root % /
tmpfs % /dev/shm
tmpfs % /tmp
tmpfs % /run
/dev/mmcblk0p2 % /mnt
/dev/root % /mnt/dev
[zengjf@root ~]#

Linux chroot 并使用之前系统设备节点的更多相关文章

  1. Linux加载DTS设备节点的过程(以高通8974平台为例)

    DTS是Device Tree Source的缩写,用来描述设备的硬件细节.在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的垃圾代码, ...

  2. Android udev /dev 设备节点权限

    /************************************************************************* * Android udev /dev 设备节点权 ...

  3. 【linux】驱动-8-一文解决设备树

    目录 前言 8. Linux设备树 8.1 设备树简介 8.2 设备树框架 8.2.1 设备树格式 8.2.1.1 DTS 文件布局 8.2.1.2 node 格式 8.2.1.3 propertie ...

  4. linux driver ------ platform模型,通过杂项设备(主设备号是10)注册设备节点

    注册完设备和驱动之后,就需要注册设备节点 Linux杂项设备出现的意义在于:有很多简单的外围字符设备,它们功能相对简单,一个设备占用一个主设备号对于内核资源来说太浪费.所以对于这些简单的字符设备它们共 ...

  5. linux驱动开发(四) 字符设备驱动框架(自动创建设备节点)

    代码如下 #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> # ...

  6. Android和Linux下设备节点的创建笔记

    1. Linux kernel创建的/dev/下的设备节点是不对的, 其实是kernel仅负责在/sys/(基于内存的虚拟文件系统)创建一大堆下目录和文件,而真正的设备节点是在用户空间程序创建的,应该 ...

  7. Linux 内核驱动自动创建设备节点并挂载设备

    *注:本文来自http://blog.csdn.net/lwj103862095/article/details/17470573 一.首先需要在最开始定义两个数据结构: static struct ...

  8. Linux FC/iSCSI存储设备管理系列(一):Linux系统设备驱动入门

    Linux FC/iSCSI存储设备管理系列(一):Linux系统设备驱动入门 转载请在文首保留原文出处:EMC中文支持论坛 - https://community.emc.com/go/chines ...

  9. linux spi 设备节点 读写

    本文记录spi设备节点的操作方法. SPI总线设备文件名通常为/dev/spidevN.P(N=0.1.2--,P=0.1.2--), 其中N表示第几路SPI总线,而P表示在该路SPI总线中使用哪个C ...

随机推荐

  1. C#中MySQL数据库的备份 还原 初始化

    直接在cmd执行如下代码: mysqldump -h localhost -uroot -p123 --default-character-set=utf8 --opt --disable-keys ...

  2. php 数组的常用函数

    在php教程中数组是种强大的数据类型,他可以做的事情很多,可以存储不同的数据类型在一个数组中,下面我们列出了数组常用的操作,排序,键名对数组排序等做法. /* 数组的常用函数  *  * 数组的排序函 ...

  3. bzoj 3993: [SDOI2015]星际战争

    #include<cstdio> #include<iostream> #include<cstdlib> #include<cstring> #def ...

  4. C++小项目:directx11图形程序(六):cameraclass

    cameraclass是一个相机类,它的作用是生成非常重要的观察矩阵.本小节涉及到一点数学知识,相对前面需要只是填充,调用,算是比较有趣的吧. cameraclass.h #pragma once # ...

  5. linux基本常用命令列举

    上回装完虚拟机中的linux系统了,进入找到terminal,打开命令行界面 pwd:展示目前为止绝对路径 cd cd~:跳转到/home/yy的位置 cd-:跳转到上一步的位置 cd path(绝对 ...

  6. 我收录整理的优秀OC技术类文章

        自定义导航按钮UIBarButtonItem   关于导航栏的六个小技巧   ios开发的一些小技巧篇一 制作一个可以滑动操作的 Table View Cell - IOS - 伯乐在线 一个 ...

  7. java1234初学maven

    第一讲: maven maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. maven安装与下载: .确定jdk已经安装并且配置 .安装mav ...

  8. java通用的方法整理

    判断字符串是否为空 public static boolean IsEmpty(String str){ if (str == null){ return true; } if ("&quo ...

  9. kendo ui之grid列表

    1.test_grid.jsp <html><head> <%@ include file="/WEB-INF/jsp/common/top.jsp" ...

  10. Python的平凡之路(14)

    一.什么是HTML HTML(Hyper Text Mark-up Language ) 即超文本标记语言,是 WWW 的描述语言,由 Tim Berners-lee提出.设计 HTML 语言的目的是 ...