Last active
November 5, 2024 04:35
-
-
Save 17twenty/6925066 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} |
I got stuck on line 31 - sudo cp -v /path/to/u-boot/MLO /media/boot/
with this error message:
cp : cannot stat '/path/to/u-boot/MLO': No such file or directory
Please help.
has MLO generated? find the MLO using the grep command.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Fixed to reflect change of mmcdev to 1, not 0! Urgh!