Chinaunix首页 | 论坛 | 博客
  • 博客访问: 174016
  • 博文数量: 61
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 640
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-24 23:25
文章分类

全部博文(61)

文章存档

2011年(2)

2010年(37)

2009年(22)

我的朋友

分类: LINUX

2009-06-30 14:23:52

目的,可以分别从CF card或者硬盘启动Linux。
使用:Grub, OE, Ubuntu/LFS LiveCD, AvOS.

1, 用OE编译 内核,kernel-2.6.29, 和rootfs Helloworld-image.

2. 使用LiveCD和AvOS安装Grub.

3. 硬盘安装AvOS, 1G CF card 用来安装 MyOE Linux.

4, 分别在硬盘和CF卡上都安装grub.

5. CF卡分3个区,第一个FAT16,第二个ext2,第三个ext3,第一个分区安装grub, 第二个放kernel, 第三个放data.

6. 第一个问题是grub启动问题,首先,改变BIOS设置,
    Boot->USB Boot->Enable
    Boot->Boot USB Devices First->Enable
    USB Mass Storage Emulation Type->All Fixed Disc (Must)

7. Grub的问题,主要是不同启动顺序导致设备名随之发生改变,比如从硬盘启动,则/dev/sda 对应hd0,/dev/sdb对应 hd1,而从CF卡启动则反之。

8. Grub conf问题,CF卡文件系统加载慢,所以需要加一个rootdelay=10参数。

9. 默认的init是指向/sbin/init.sysvinit,所以需要bash和sh, 编译bash, copy到CF card, bash依赖ncurses, copy ncurses。

10. 添加coreutils包,utils程序都在/bin,/usr/bin和/usr/sbin中,*.coreutils形式命名,run:

    cd /;tar xf coreutils.tar

    cd /bin;files=`ls *.coreutils`;for f in $files;do ln -s $f ${f%%.*};done

    cd /usr/bin;files=`ls *.coreutils`;for f in $files;do ln -s $f ${f%%.*};done

    cd /usr/sbin;ln -s chroot.coreutils chroot

11. 添加net-tools包,for network commands such as ifconfig, etc.

12. 添加util-linux包,for mount commands.

13. compile failed on madwifi-ng,

    在 目录/opt/myoe/tmp/staging/i686-generic-angstrom-linux/kernel/include/asm-x86,run,

   p=/opt/myoe/tmp/staging/i686-angstrom-linux/usr/include/asm/;files=`ls $p`; for file in $files;do ln -s $p/$file $file;done   

    后面还是有不少头文件错误,主要是net_device结构priv成员的问题。

    最后干脆注释掉madwifi-ng的bb文件,不编译它了。

14. 添加包过程慢,于是改编译bootstrap-image,这个已经包含了ssh等服务,通过。

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