Chinaunix首页 | 论坛 | 博客
  • 博客访问: 849077
  • 博文数量: 90
  • 博客积分: 766
  • 博客等级: 军士长
  • 技术积分: 1867
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-18 08:42
个人简介

linux

文章分类

全部博文(90)

文章存档

2021年(2)

2020年(2)

2017年(1)

2015年(11)

2014年(1)

2013年(53)

2012年(16)

2011年(4)

分类: 系统运维

2013-04-16 21:58:08

1.由于每次重启的时候都要进入chroot环境,所以将一些命令写成脚本

点击(此处)折叠或打开

  1. #!/bin/bash
  2. mount -v --bind /dev $LFS/dev
  3. mount -vt devpts devpts $LFS/dev/pts
  4. mount -vt tmpfs shm $LFS/dev/shm
  5. mount -vt proc proc $LFS/proc
  6. mount -vt sysfs sysfs $LFS/sys

  7. chroot "$LFS" /tools/bin/env -i \
  8.     HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
  9.     PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
  10.     /tools/bin/bash --login +h

2.建立必要的符号链接

点击(此处)折叠或打开

  1. ln -sv /tools/bin/{bash,cat,echo,pwd,stty} /bin
  2. ln -sv /tools/bin/perl /usr/bin
  3. ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib
  4. ln -sv /tools/lib/libstdc++.so{,.6} /usr/lib
  5. ln -sv bash /bin/sh
        可见有些操作还是依赖于临时库的。

3.创建必要的文件
        touch /etc/mtab    #用于保存以挂载的文件系统列表

        创建/etc/passwd:

点击(此处)折叠或打开

  1. cat > /etc/passwd << "EOF"
  2. root:x:0:0:root:/root:/bin/bash
  3. bin:x:1:1:bin:/dev/null:/bin/false
  4. nobody:x:99:99:Unprivileged User:/dev/null:/bin/false
  5. EOF
        创建/etc/group:

点击(此处)折叠或打开

  1. cat > /etc/group << "EOF"
  2. root:x:0:
  3. bin:x:1:
  4. sys:x:2:
  5. kmem:x:3:
  6. tty:x:4:
  7. tape:x:5:
  8. daemon:x:6:
  9. floppy:x:7:
  10. disk:x:8:
  11. lp:x:9:
  12. dialout:x:10:
  13. audio:x:11:
  14. video:x:12:
  15. utmp:x:13:
  16. usb:x:14:
  17. cdrom:x:15:
  18. mail:x:34:
  19. nogroup:x:99:
  20. EOF

        有了用户登录文件之后,就可以使用chroot环境的bash了。
root/:exec /tools/bin/bash --login +h
4.创建临时的登录信息保存文件:

点击(此处)折叠或打开

  1. touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
  2. chgrp -v utmp /var/run/utmp /var/log/lastlog
  3. chmod -v 664 /var/run/utmp /var/log/lastlog



5.安装内核头文件

点击(此处)折叠或打开

  1. make mrproper

  2. make headers_check
  3. make INSTALL_HDR_PATH=dest headers_install
  4. find dest/include \( -name .install -o -name ..install.cmd \) -delete

  5. cp -r dest/include/* /usr/include

        这两步完成了,没有什么错误。


阅读(1149) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~