/********************************************************************************* * Linux chroot 并使用之前系统设备节点 * 说明: * 直接使用chroot结果/dev下没有设备,所有有些东西需要提前挂载,在进入chroot。 * * 2016-12-30 深圳 南山平山村 曾剑锋 ********************************************************************************/ 一、参考文档: 1. mount dev, proc, sys in a chroot environment? http://superuser.com/questions/165116/mount-dev-proc-sys-in-a-chroot-environment 二、主要Linux Shell命令: 1. mount /dev/mmcblk0p2 /mnt 2. mount -t proc proc /mnt/proc 3. mount -t sysfs sys /mnt/sys 4. mount -o bind /dev /mnt/dev 5. chroot /mnt/ 三、实际操作及数据: [zengjf@root ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 3096336 492148 2446904 17% / tmpfs 423848 0 423848 0% /dev/shm tmpfs 423848 32 423816 0% /tmp tmpfs 423848 28 423820 0% /run [zengjf@root ~]# mount /dev/mmcblk0p2 /mnt EXT3-fs: barriers not enabled kjournald starting. Commit interval 5 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-0 ptys2 tty35 ttyrb i2c-1 ptys3 tty36 ttyrc i2c-2 ptys4 tty37 ttyrd i2c-3 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 1 1474 517 cpuinfo mounts 10 1483 524 crypto mtd 11 1618 526 devices net 1104 1623 530 diskstats pagetypeinfo 1198 1624 539 dri partitions 1273 1630 540 driver scsi 1309 1634 591 execdomains self 1315 1637 6 fb slabinfo 1320 2 607 filesystems softirqs 1321 3 613 fs stat 1322 338 639 interrupts swaps 1361 340 641 iomem sys 1362 342 7 ioports sysrq-trigger 1363 376 8 irq sysvipc 1382 380 9 kallsyms timer_list 1394 391 apm kmsg tty 1395 4 asound kpagecount uptime 1398 414 buddyinfo kpageflags version 1407 415 bus loadavg vmallocinfo 1410 428 cmdline locks vmstat 1455 430 config.gz meminfo zoneinfo 1462 5 consoles misc 1469 516 cpu modules [zengjf@root /]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 99150 16976 77054 18% / devpts 3096336 492148 2446904 17% /dev/pts tmpfs 3096336 492148 2446904 17% /dev/shm tmpfs 99150 16976 77054 18% /tmp df: /run: No such file or directory /dev/mmcblk0p2 99150 16976 77054 18% / /dev/root 3096336 492148 2446904 17% /dev [zengjf@root /]# exit [zengjf@root ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 3096336 492148 2446904 17% / tmpfs 423848 0 423848 0% /dev/shm tmpfs 423848 32 423816 0% /tmp tmpfs 423848 28 423820 0% /run /dev/mmcblk0p2 99150 16976 77054 18% /mnt /dev/root 3096336 492148 2446904 17% /mnt/dev [zengjf@root ~]#