If you use --cdrom in replace of --location you will loose some options like --extra-args ! This useful parameter could not be used in cooperation with --cdrom !
If you want to use --extra-args you must use --location !
If you like this parameter you must overcome to this problem such a different way!
If you want to overcome to this problem, you must know that .iso files are a type of compressed files, first of all!
Yes! They are some special type of compressed files like .zip or .rar, .tar.gz and so etc.
You could learn how to extract them by following this link.
The reason that you got ERROR: Couldn't find hvm kernel for Ubuntu tree. is that your image(.iso file) doesn't include install/vmlinux file(vmlinuz file is not available directly in your root install folder)!
Check the existence of this file by extracting .iso file(
It must have vmlinuz file exactly within your root install folder).
If you couldn't find that, you must find other related .iso from ubuntu website which includes this desired file at this specific path!
It's remarkable that Ubuntu provides different .iso files like live iso, minimal iso and so etc for each distro and version and platform! You need just to look for much appropriate one.
Do your best and have fun.