wget -c https:
//releases.linaro.org/14.09/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz
tar xf gcc-linaro-arm-linux-gnueabihf-
4.9
-
2014
.09_linux.tar.xz
export CC=`pwd`/gcc-linaro-arm-linux-gnueabihf-
4.9
-
2014
.09_linux/bin/arm-linux-gnueabihf-
${CC}gcc --version
arm-linux-gnueabihf-gcc (crosstool-NG linaro-
1.13
.
1
-
4.9
-
2014.09
- Linaro GCC
4.9
-
2014.09
)
4.9
.
2
20140904
(prerelease)
Copyright (C)
2014
Free Software Foundation, Inc.
This is free software; see the source
for
copying conditions. There is NO
warranty; not even
for
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
git clone git:
//git.denx.de/u-boot.git
cd u-boot/
git checkout v2014.
10
-b tmp
Patches:
wget -c https:
//raw.githubusercontent.com/eewiki/u-boot-patches/master/v2014.10/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
patch -p1 <
0001
-am335x_evm-uEnv.txt-bootz-n-fixes.patch
make ARCH=arm CROSS_COMPILE=${CC} distclean
make ARCH=arm CROSS_COMPILE=${CC} am335x_evm_defconfig
make ARCH=arm CROSS_COMPILE=${CC}
wget -c https:
//raw.github.com/RobertCNelson/tools/master/pkgs/dtc.sh
chmod +x dtc.sh
./dtc.sh
git clone https:
//github.com/RobertCNelson/bb-kernel.git
cd bb-kernel/
Checkout v3.8.x branch:
git checkout origin/am33x-v3.
8
-b tmp
./build_kernel.sh
After this Building we got kernel build output like below
root@rahul-desktop:~/FRESH/bb-kernel/deploy# ls -al
total 18476
drwxr-xr-x 2 root root 4096 Dec 25 18:37 .
drwxr-xr-x 12 root root 4096 Dec 25 18:00 ..
-rw-r--r-- 1 root root 37305 Dec 25 18:37 3.8.13-bone68-dtbs.tar.gz
-rw-r--r-- 1 root root 1251691 Dec 25 18:37 3.8.13-bone68-firmware.tar.gz
-rw-r--r-- 1 root root 11994986 Dec 25 18:37 3.8.13-bone68-modules.tar.gz
-rwxr-xr-x 1 root root 5506968 Dec 25 18:37 3.8.13-bone68.zImage
-rw-r--r-- 1 root root 109287 Dec 25 18:37 config-3.8.13-bone68
wget -c https://rcn-ee.net/deb/minfs/wheezy/debian-7.7-minimal-armhf-2014-11-10.tar.xz
md5sum debian-7.7-minimal-armhf-2014-11-10.tar.xz
sudo tar xfvp ./*-*-*-armhf-*/armhf-rootfs-*.tar -C /media/rootfs/
Setup microSD/SD card
root@rahul-desktop:~/FRESH$ export DISK=/dev/sdb
root@rahul-desktop:~/FRESH$ sudo dd if=/dev/zero of=${DISK} bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 1.88427 s, 5.6 MB/s
root@rahul-desktop:~/FRESH$ sudo dd if=./u-boot/MLO of=${DISK} count=1 seek=1 conv=notrunc bs=128k
0+1 records in
0+1 records out
73124 bytes (73 kB) copied, 0.0167826 s, 4.4 MB/s
root@rahul-desktop:~/FRESH$ sudo dd if=./u-boot/u-boot.img of=${DISK} count=2 seek=1 conv=notrunc bs=384k
1+1 records in
1+1 records out
393536 bytes (394 kB) copied, 0.0655608 s, 6.0 MB/s
root@rahul-desktop:~/FRESH$ sudo sfdisk --in-order --Linux --unit M ${DISK} <<-__EOF__
1,,0x83,*
__EOF__
Checking that no-one is using this disk right now ...
OK
Disk /dev/sdb: 1023 cylinders, 246 heads, 62 sectors/track
sfdisk: ERROR: sector 0 does not have an msdos signature
/dev/sdb: unrecognized partition table type
Old situation:
No partitions found
New situation:
Warning: The partition table looks like it was made
for C/H/S=*/48/50 (instead of 1023/246/62).
For this listing I'll assume that geometry.
Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End MiB #blocks Id System
/dev/sdb1 * 1 7619 7619 7801856 83 Linux
start: (c,h,s) expected (0,40,49) found (0,33,3)
/dev/sdb2 0 - 0 0 0 Empty
/dev/sdb3 0 - 0 0 0 Empty
/dev/sdb4 0 - 0 0 0 Empty
Successfully wrote the new partition table
Re-reading the partition table ...
If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
root@rahul-desktop:~/FRESH$ sudo mkfs.ext4 ${DISK}1 -L rootfs
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=rootfs
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
487680 inodes, 1950464 blocks
97523 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2000683008
60 block groups
32768 blocks per group, 32768 fragments per group
8128 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
root@rahul-desktop:~/FRESH$ sudo mkdir -p /media/rootfs/
root@rahul-desktop:~/FRESH$ sudo mount ${DISK}1 /media/rootfs/
root@rahul-desktop:~/FRESH$ export kernel_version=3.8.13-bone68
root@rahul-desktop:~/FRESH$ sudo tar xfvp ./*-*-*-armhf-*/armhf-rootfs-*.tar -C /media/rootfs/
root@rahul-desktop:~/FRESH$ sudo mkdir -p /media/rootfs/boot/
root@rahul-desktop:~/FRESH$ sudo sh -c "echo 'uname_r=${kernel_version}' > /media/rootfs/boot/uEnv.txt"
root@rahul-desktop:~/FRESH$ sudo sh -c "echo 'cmdline=quiet init=/lib/systemd/systemd' >> /media/rootfs/boot/uEnv.txt"
root@rahul-desktop:~/FRESH$ sudo cp -v ./bb-kernel/deploy/${kernel_version}.zImage /media/rootfs/boot/vmlinuz-${kernel_version}
‘./bb-kernel/deploy/3.8.13-bone68.zImage’ -> ‘/media/rootfs/boot/vmlinuz-3.8.13-bone68’
root@rahul-desktop:~/FRESH$ sudo mkdir -p /media/rootfs/boot/dtbs/${kernel_version}/
root@rahul-desktop:~/FRESH$
sudo tar xfv ./bb-kernel/deploy/${kernel_version}-dtbs.tar.gz -C
/media/rootfs/boot/dtbs/${kernel_version}/
am335x-bone.dtb
am335x-boneblack.dtb
am335x-evm.dtb
am335x-evmsk.dtb
am335x-tester.dtb
arduino-tre.dtb
omap2420-h4.dtb
omap3-beagle-xm.dtb
omap3-beagle.dtb
omap3-evm.dtb
omap3-tobi.dtb
omap4-panda-a4.dtb
omap4-panda-es.dtb
omap4-panda.dtb
omap4-sdp.dtb
omap4-var-som.dtb
omap5-evm.dtb
root@rahul-desktop:~/FRESH$
sudo sh -c "echo '/dev/mmcblk0p1 / auto errors=remount-ro 0 1'
>> /media/rootfs/etc/fstab"
root@rahul-desktop:~/FRESH$ sudo vim /media/rootfs/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
root@rahul-desktop:~/FRESH$ sudo vim /media/rootfs/etc/udev/rules.d/70-persistent-net.rules
# BeagleBone: net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
root@rahul-desktop:~/FRESH$ sudo vim /media/rootfs/etc/udev/rules.d/70-persistent-net.rules
root@rahul-desktop:~/FRESH$
sudo sh -c "echo 'T0:23:respawn:/sbin/getty -L ttyO0 115200 vt102'
>> /media/rootfs/etc/inittab"
root@rahul-desktop:~/FRESH$ sync
root@rahul-desktop:~/FRESH$ sudo umount /media/rootfs
We removed Sd card and put into beagle bone black press boot button and apply power and we got error message
U-Boot SPL 2015.01-rc3-00163-gd8bec60-dirty (Dec 25 2014 - 17:21:47)
spl: wrong MMC boot mode
### ERROR ### Please RESET the board ###