CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 12730|回复: 6

制作tf启动卡(uboot kernel busybox)

[复制链接]
发表于 2014-3-26 17:49:42 | 显示全部楼层 |阅读模式

                                                                修改论坛一贴出现的bug(其实就一bootargs的设置,呵~~)       

大体步骤
1:First step you need to do
2:build Kernel
3:build U-boot
4:build script.bin
5:build rootfs
6:burn and run

1:  First step you need to do
  
    sudo fdisk /dev/sdb #WARNING
    p
    d
    #ENTER
    d
    #ENTER (try d+ENTER until it says “No partition is defined yet!”)
    w //Add by zsm
    n
    p
    1
    2048
    +100M
    n
    p
    2
    #ENTER
    #ENTER
    w     // 保存分区
   
    查看是否分好区 : fdisk /dev/sdb -l  

    ext4格式格式化分区2 : sudo mkfs.ext4 /dev/sdb2//等下格式化
                指定分区类型 : fdisk /dev/sdb -l ,t, 1,c(vFat),w保存

2:  build Kernel
   
    下载kernel : sudo git clone https://github.com/cubieboard2/linux-sunxi
   
    sudo apt-get install build-essential u-boot-tools uboot-mkimage gcc-arm-linux-gnueabihf ncurses-dev -y
    //sudo apt-get install build-essential u-boot-tools uboot-mkimage gcc-arm-linux-gnueabihf libncurses5-dev -y
    cd linux-sunxi
   
    make sun7i_defconfig ARCH=arm // cb2配置项
   
    sudo make menuconfig ARCH=arm
   
    Select “General setup” → “Cross-compliter tool prefix” and write “arm-linux-gnueabihf-”
   
    sudo make uImage CROSS_COMPILE=arm-linux-gnueabihf- -j2 ARCH=arm
   
3:  #build U-boot

    sudo git clone https://github.com/linux-sunxi/u-boot-sunxi -b wip/a20   

    cd u-boot-sunxi
   
    sudo make cubieboard2 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
   
    sudo dd if=spl/sunxi-spl.bin of=/dev/sdb bs=1024 seek=8
    sudo dd if=u-boot.bin of=/dev/sdb bs=1024 seek=32
                或者如果uboot根目录下有 u-boot-sunxi-with-spl.bin
                sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8
    sudo mkfs.vfat /dev/sdb1
   
   
4:  #Build script.bin
   
    sudo apt-get install libusb-1.0-0-dev libusb-dev -y       //下载所需的库
   
    sudo git clone https://github.com/linux-sunxi/sunxi-boards// 下载sunxi-boards
   
    sudo git clone https://github.com/linux-sunxi/sunxi-tools // 下载sunxi-tools
   
    cd sunxi-tools
   
    sudo make
   
    sudo mount /dev/sdb1 /opt
   
    sudo ./fex2bin ../sunxi-boards/sys_config/a20/cubieboard2.fex /opt/script.bin
   
    cd ..
   
   
5:  #Build rootfs:BusyOS

    sudo wget http://busybox.net/downloads/busybox-1.21.1.tar.bz2
   
    sudo tar jxvf busybox-1.21.1.tar.bz2
   
    cd busybox-1.21.1
   
    sudo make menuconfig ARCH=arm
   
    set busybox settings → build option → Cross Compiler prefix to “arm-linux-gnueabihf-”
   
    sudo make
   
    sudo make install
   
    sudo mount /dev/sdb2 /mnt
   
    sudo cp -Rv _install/* /mnt
   
    sudo cp -Rv examples/bootfloppy/etc /mnt
   
    cd /mnt
   
    sudo mkdir dev proc sys var home tmp mnt run boot boot2 dev/pts
   
    sudo rm etc/fstab
   
    sudo vi etc/fstab   
    加入:
    proc /proc proc nosuid,noexec,nodev 0 0
    sysfs /sys sysfs nosuid,noexec,nodev 0 0
    devpts /dev/pts devpts gid=4,mode=620 0 0
    tmpfs /tmp tmpfs defaults 0 0
    devtmpfs /dev devtmpfs mode=0755,nosuid 0 0
    /dev/mmcblk0p1 /boot2 vfat defaults 0 2
    /dev/mmcblk0p2 / ext4 defaults,noatime 0 1
    保存退出
   
    sudo chmod 777 etc/fstab
   
6:  #Burn and run

    sudo vi /opt/boot.cmd
        
    setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 init=/sbin/init rootwait panic=10 ${extra}
    fatload mmc 0 0x43000000 script.bin
    fatload mmc 0 0x48000000 uImage
    bootm 0x48000000
   
    cd /opt
   
    sudo mkimage -C none -A arm -T script -d boot.cmd boot.scr

    sudo cp /work/cb_prj/src/linux-sunxi/arch/arm/boot/uImage /opt
   
    cd /mnt
    sudo mkdir lib
   
    sudo cp /usr/arm-linux-gnueabihf/lib/*so* -d /mnt/lib
   
    cd ../..
   
    sudo umount /mnt /opt

    setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10 ${extra}
                save
    reset
回复

使用道具 举报

发表于 2014-3-26 17:53:31 | 显示全部楼层
挖坟贴
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-3-26 17:56:16 | 显示全部楼层
jiangdou 发表于 2014-3-26 17:53
挖坟贴


以前的那个 不是有问题么  难道你按照着来没发现
回复 支持 反对

使用道具 举报

发表于 2014-8-11 15:59:26 | 显示全部楼层
虽然还看不懂,留着看得懂的时候看
回复 支持 反对

使用道具 举报

发表于 2014-12-2 18:18:09 | 显示全部楼层
cb2配置项就是arm?那ct应该怎么设置
回复 支持 反对

使用道具 举报

发表于 2015-3-16 09:40:54 | 显示全部楼层
mark!!
回复 支持 反对

使用道具 举报

发表于 2015-3-16 14:25:32 | 显示全部楼层
请教问题,制作文件系统下载后,系统崩溃:
<6>Write protecting the kernel text section c0008000 - c0900000
Write protecting the kernel text section c0008000 - c0900000
/sbin/init: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.15' not found (required by /sbin/init)
<0>Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100

Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100

[<c0014eb4>] (unwind_backtrace+0x0/0x138) from [<c05c9d68>] (panic+0x8c/0x1cc)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-5-3 20:51 , Processed in 0.025937 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部