Is it neccessary to include JTAG for a custom board in order to flash OS for the first time to the Tegra K1?
uSD card,eMMC and USB0 recovery options are already available.Can I use one of these options instead of JTAG?
The JTAG is mainly designed for debugger purpose.
The general way is to use the flash.sh and tegra_flash.py scripts that included from the
But, there are many ways to flash the empty Tegra K1 in production environment which depends on your requirement, such as you list.
And clone is also a way to flash device, see clone at: