Booting Linux from SD Card Issues


#1

Sorry if this question has been solved somewhere else, I have had a look through a few pages and couldn’t find the solution. I will delete this post if it’s solved somewhere else. I am also new to dragonboards and linux so apologies if it’s a stupid question.

I am attempting to boot my dragonboard to a custom linux kernel built using buildroot. At first I created the image using the mkbootimg tool found here: http://builds.96boards.org/releases/dragonboard410c/linaro/debian/latest/

Where my inputs were:
Kernel - buildroot created
Ramdisk - initrd img provided from link above.
DT - dt.img from link above
Command Line - root=/dev/disk/by-partlabel/rootfs rw rootwait console=ttyMSM0,115200n8

After fastbooting this to the eMMC however the output through JTAG got up to this line and then stopped.
[1270] Jumping to kernel via monitor

Following this I attempted to boot from SD Card, and used the instructions here, after changing the mkbootimg args to match the details above. At this point I also changed the cmdline arg to /dev/mmcblk1p8:
https://git.linaro.org/ci/job/configs.git/blob/lt-qcom-debian-images-arm64/installer-dragonboard-410c.sh

Upon attempting to boot up again the same error occurs.

I changed the command line args serial port to ttyHSL0 following advice on this forum, with no luck. It also didn’t match the output when booting the linaro debian image from eMMC so that lead to another dead end.

I have also looked here, and attempted to create the SD card and then drag the linaro provided images into the correct partitions: https://github.com/96boards/documentation/wiki/Dragonboard-410c-GPT#create-a-bootable-sd-card
At this point however the partition sizes on the SD card weren’t large enough to hold those in.

I am pretty stuck to be honest as I feel like I have followed the instructions provided pretty well but am still hitting a dead end. For that reason I think I’m probably making a fundamental mistake somewhere, or that I haven’t quite set things up correctly. Once I can at least get the kernel started I can then start customising it for my uses but it doesn’t seem to even get that far.

Can someone please advise where I might have gone wrong, Thanks.


#2

the critical information which is missing from your description is information about the kernel you are building. we need the version you are using and as many information about outstanding patches and config options.

it is perfectly fine to use buildroot to build your images, but you have to be careful with the kernel you are building at least.


#3

Hi ndec, sorry for the delay in reply. I am using kernel 4.7.2 with the kernel Configuration a ‘default for this architecture’, which is set to Aarch64 Little Endian. I have no kernel patches specified and the output is as an Image with gzip compression.

Does the kernel version have an effect on if it will run?


#4

hi,

the mainline/upstream kernel is unlikely to give you good results. While we are working to get as many patches merged as possible, this is still not finished. So you should really be using either our LT released kernel, or you need to be prepare to (heavily) patch your own kernel.

for now, since you said you are new to Linux, I would recommend the first approach. it should be fairly simple to make a db410c config for buildroot using our kernel branch.