How to change bootdevice without erasing contents of mmcblk0p1

I have been using the Jetson from the internal storage mmcblk0p1 and from sda1 (on usb) and both work fine.

It is is however very annoying and imo pointless to completely erase and repartition mmcblk0 if you only want to try to boot once from usb. However this is exactly what the flash utility does everytime.

How can we change (or choose) another bootdevice without erasing the contents of the internal storage ?

Casey

If I understand it well my problem could be solved by using :

./flash.sh -k 6 jetson-tk1 mmcblk0p1

or

./flash.sh -k 6 jetson-tk1 sda1

This will only replace the kernel with boot parameters in partition 6 and leave the rest untouched. I’ll try and let you know the result …

casey

It works : problem solved !

In this way you switch between root devices in less than a minute and without destroying any data on the internal storage, except for the kernel with boot parameters.

Casey

If someone is writing a FAQ this needs to go into the FAQ.

Perhaps someone will test if this can be made to work so that anything put on filesystem in mmcblk0p8 will remain after flash?

Hi underdogma,

I can confirm that my root partition mmcblk0p1 (nr 8 in the partition list) is preserved after several flashes with -k 6, switching from mmcblk0p1 to sda1 and vv. So I can’t see any reason why this wouldn’t be the case with mmcblk0p8.

Casey

I’d like to know (or suggest) that an extended u-boot be made available to allow a boot prompt and boot environment variables to allow placing test kernels on the SD card and nothing but the kernel on SD card. Or even network boot.

That would be indeed a great thing ! It actually is the only thing I miss at the moment if I compare the Jetson with a desktop computer.