/*********************************************************************************
* 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. MYSQL获取自增ID的四种方法

    MYSQL获取自增ID的四种方法 1. select max(id) from tablename 2.SELECT LAST_INSERT_ID() 函数 LAST_INSERT_ID 是与tabl ...

  2. daydayup3 codeforces144C

    上古的c还是很简单的,一直逗比忘记加EOF了,直到看了数据才发现 题意:给你两个字符串a,b,求问字符串a里有多少个子串排列后可以生成字符串b,‘?’可以替换为任意小写字母 思路:统计第一个子字符串小 ...

  3. ros科大讯飞语音识别

    转自http://www.ncnynl.com/archives/201611/1069.html ROS入门教程-编写科大讯飞语音SDK的ROS包 说明 ROS软件包xfei_asr是集成自科大讯飞 ...

  4. ssh base 写法

    BaseDao package wl.oa.dao.base; public interface BaseDao<T>{ public void saveEntry(T t); } Bas ...

  5. Oracle表解锁语句

    如果你发现无法对一个表进行修改.删除等操作时,你可以利用以下语句查询是否是该表被锁住了 --查询锁select sess.sid,sess.serial#, lo.oracle_username,lo ...

  6. DotNetBar for Windows Forms 12.7.0.10_冰河之刃重打包版原创发布-带官方示例程序版

    关于 DotNetBar for Windows Forms 12.7.0.10_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版------------- ...

  7. Altium Designer自动更新——解决方法

    今天,打开AD,一直显示更新,关机重启也不管事. 然后,我把AD安装目录下,system文件夹下的Installation文件夹删了.就不再更新了.

  8. Struts2中动态方法的调用

    Struts2中动态方法调用就是为了解决一个action对应多个请求的处理,以免action太多. 主要有一下三种方法:指定method属性.感叹号方式和通配符方式.推荐使用第三种方式. 1.指定me ...

  9. what we do and how we behave

    It comes after a report last week revealed the "brutal" treatment of terror suspects by th ...

  10. 可拖拽的ListView

    今天研究了一下可拖拽的ListView ,当ListView的数据不能充满整个模拟器的时候,系统自带的listview上拖下拽都不好使,显得很单调, 为了实现上拖下拽时也能实现滚动的效果,这时候就需要 ...