Hi Yasas,
Regarding the first, I think this is probably explained in a prior issue. You need to change sd_copy() in the bootloader to copy a larger block. You also need to change one of the initialisation header files as it has a fixed location to place the synchronisation variable for SMP bringup which is just after the end of the copied block, so if you increase the former without the latter, you'll overwrite the synchronisation variable and break SMP bringup.
You need the piton_sd driver to be compiled into your kernel. If it is and you properly formatted your disk (that is, put a GPT header at the start of the disk, place an ext4 fs in the second partition), then it should show. Could be that you missed a step. Weirdly the book can sometimes still work with no partition header.
Thanks,
Jon