I have been attempting to recreate the boot partition on the 410c. I didn’t have a Linux box available to do the compile, so I figured it should be possible to rebuild on the target. I followed directions from the 96Boards web site:
https://builds.96boards.org/releases/dragonboard410c/linaro/ubuntu/15.07/
https://github.com/96boards/documentation/wiki/Dragonboard-410c-Boot-Image
Throughout the process I needed to make minor changes to the instructions because I was running on the target. I have included my step-by-step instructions below so you can see what I did.
At the end I get a kernel installed and the new kernel comes up and gives me a prompt on the UART console port. BUT there is a problem with the kernel I have created, it doesn’t start the HDMI port and ALIP/LXDE. Obviously I have missed something while configuring the kernel. My rootfs image is 14790656 bytes, and the rootfs image that is in the 15.07 directory is 14774272 bytes. For some reason my rootfs doesn’t exactly match the posted rootfs.
Can someone tell me what step I missed? Here are my steps (sorry about the poor formatting):
Hardware
- 410c board and power supply.
- HDMI Display
- USB Mouse and Keyboard
- 8GB SDCard (for installing Linux)
- 64GB SDCard (for storage to build)
410c Setup - Install ubuntu. Follow the SDCard install instructions here (use the 8GB SDCard):
o http://linaro.co/96b-linuxuserguide - Set MAC address (do this and the rest of the steps this while logged in on the HDMI monitor)
o Start ->other -> bash (you will need to re-login and restart bash after each reboot)
o cd /lib/firmware/wlan
o sudo vi macaddr0
Change mac adder to match sticker on board
:wq
o reboot
o Connect to access point - Check mac address matches sticker on board.
o ifconfig - install a 64GB SDCard, partition it, and mount it.
o sudo gdisk /dev/mmcblk1p1
o Command (? for help): o
o This option deletes all partitions and creates a new protective MBR.
o Proceed? (Y/N): y
o #build a 8GB partition for swap
o Command (? for help): n
o Partition number (1-128, default 1):
o First sector (34-8388574, default = 2048) or {±}size{KMGTP}:
o Last sector (2048-8388574, default = 8388574) or {±}size{KMGTP}: 8G
o Current type is ‘Linux filesystem’
o Hex code or GUID (L to show codes, Enter = 8300): 8200
o Changed type of partition to ‘Linux swap’
o #build a 48GB partition for storage
o Command (? for help): n
o Partition number (1-128, default 1):
o First sector (34-8388574, default = 2048) or {±}size{KMGTP}:
o Last sector (2048-8388574, default = 8388574) or {±}size{KMGTP}:
o Current type is ‘Linux filesystem’
o Hex code or GUID (L to show codes, Enter = 8300):
o
o Command (? for help): w
o Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!!
o Do you want to proceed? (Y/N): y
o - Reboot and run the following commands (re-login and restart bash)
o sudo mkswp /dev/mmcblk1p1
o sudo mkfs –t ext4 /dev/mmcblk1p2 -
#edit /etc/fstab and add the following line
/dev/mmcblk1p1 none swap sw 0 0
o ln –s /media/linaro/5d582b5b-fdfd-492b-a3b7-07adc4651c04/ workspace - Reboot and run the following commands (re-login and restart bash)
o free # ensure swap is mounted
o df #ensure /home/linaro/workspace is mounted
o cd workspace
o sudo chown linaro .
o sudo chgrp linaro . - Install dev tools and support programs
o sudo apt-get update
o sudo apt-get install fortune
o sudo apt-get install linux-headers-$(uname -r) build-essential
o sudo apt-get install git
o sudo apt-get install device-tree-compiler - fetch the kernel sources and rebuild them
o git clone -n working/qualcomm/kernel.git - Qualcomm Landing Team kernel
o cd kernel
o git checkout -b kernel-15.07 ubuntu-qcom-dragonboard410c-15.07
o export ARCH=arm64
o make defconfig distro.config
o make -j4 Image dtbs
o make modules - build the boot img file and install it onto the boot partition
o git clone git://codeaurora.org/quic/kernel/skales
o skales/dtbTool -o dt.img -s 2048 arch/arm64/boot/dts/qcom/
o wget http://builds.96boards.org/snapshots/dragonboard410c/linaro/ubuntu/latest/initrd.img-*
o export cmdline=“root=/dev/disk/by-partlabel/rootfs rw rootwait console=ttyMSM0,115200n8”
o skales/mkbootimg --kernel arch/arm64/boot/Image
o --ramdisk initrd.img-4.0.0-linaro-lt-qcom
o --output boot-db410c.img
o --dt dt.img
o --pagesize 2048
o --base 0x80000000
o --cmdline “$cmdline”
o sudo dd if=boot-db410c.img of=/dev/mmcblk0p8
o sync
o reboot