- 
      
- 
        Save wrtcoder/d479c209f9b05f740bef to your computer and use it in GitHub Desktop. 
    Setting up your sdcard and u-boot's uEnv.txt for Beaglebone Black
  
        
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | # Find your micro SD card using lsblk - you're going to want to set your DISK parameter to it. | |
| export DISK=/dev/mmcblk0 | |
| sudo dd if=/dev/zero of=${DISK} bs=1M count=16 | |
| sudo sfdisk --in-order --Linux --unit M ${DISK} <<-__EOF__ | |
| 1,48,0xE,* | |
| ,,,- | |
| __EOF__ | |
| # If using mmcblkX or similar - you need the partition so... | |
| sudo mkfs.vfat -F 16 ${DISK}p1 -n boot | |
| sudo mkfs.ext4 ${DISK}p2 -L rootfs | |
| # If your disk is set to the more traditional /dev/sdX use | |
| sudo mkfs.vfat -F 16 ${DISK}1 -n boot | |
| sudo mkfs.ext4 ${DISK}2 -L rootfs | |
| sudo mkdir -p /media/boot/ | |
| sudo mkdir -p /media/rootfs/ | |
| # Again, for DISK=/dev/mmcblk0 | |
| sudo mount ${DISK}p1 /media/boot/ | |
| sudo mount ${DISK}p2 /media/rootfs/ | |
| # Or for DISK=/dev/sdX | |
| sudo mount ${DISK}1 /media/boot/ | |
| sudo mount ${DISK}2 /media/rootfs/ | |
| sudo cp -v /path/to/u-boot/MLO /media/boot/ | |
| sudo cp -v /path/to/u-boot/u-boot.img /media/boot/ | |
| # You'll want to create a uEnv.txt to enable TFTP loading... | |
| sudo vim /media/boot/uEnv.txt | |
| ipaddr=10.0.0.3 | |
| serverip=10.0.0.1 | |
| kernel_file=zImage | |
| console=ttyO0,115200n8 | |
| loadzimage=tftp ${loadaddr} ${kernel_file} | |
| loadfdt=tftp ${fdtaddr} ${fdtfile} | |
| my_bootargs=setenv bootargs console=${console} ${optargs} | |
| uenvcmd=run loadzimage; run loadfdt; run my_bootargs; bootz ${loadaddr} - ${fdtaddr} | |
| # Copy across your kernel and Device Tree | |
| sudo mkdir -p /media/rootfs/boot | |
| sudo cp -v /path/to/kernel/arch/arm/boot/zImage /media/rootfs/boot/ | |
| sudo cp -v /path/to/kernel/arch/arm/boot/dts/am335x-boneblack.dtb /media/rootfs/boot/ | |
| # Setup for NFS | |
| ipaddr=10.0.0.3 | |
| serverip=10.0.0.1 | |
| kernel_file=zImage | |
| console=ttyO0,115200n8 | |
| loadzimage=tftp ${loadaddr} ${kernel_file} | |
| loadfdt=tftp ${fdtaddr} ${fdtfile} | |
| my_bootargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs rw nfsroot=${serverip}:/home/fedora/rootdir ip=${ipaddr}:::::eth0 | |
| uenvcmd=run loadzimage; run loadfdt; run my_bootargs; bootz ${loadaddr} - ${fdtaddr} | |
| # Setup for booting from MMC | |
| kernel_file=zImage | |
| bootdir=/boot | |
| mmcdev=1 | |
| mmcpart=2 | |
| loadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bootdir}/${kernel_file} | |
| loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdtaddr} ${bootdir}/${fdtfile} | |
| console=ttyO0,115200n8 | |
| mmcroot=/dev/mmcblk0p2 ro | |
| mmcrootfstype=ext4 rootwait fixrtc | |
| mmcargs=setenv bootargs console=${console} root=${mmcroot} rootfstype=${mmcrootfstype} ${optargs} | |
| uenvcmd=run loadzimage; run loadfdt; run mmcargs; bootz ${loadaddr} - ${fdtaddr} | 
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment