Eu não sei mais se isso é relevante, mas estou tendo os mesmos problemas e ainda estou brincando com ele. Eu tive algum sucesso, que desejo compartilhar.
Primeiro de tudo, desde que eu estou tentando alcançar a mesma coisa eu soube imediatamente o que ele está tentando alcançar. Ele está tentando fazer um pendrive multi-boot para instalar várias distribuições Linux.Para integrar cada sistema operacional e facilitar as atualizações, faz sentido tentar carregar o gerenciador de inicialização de cada distribuição, como se estivesse sozinho no sistema de arquivos. Assim, ele tentou encadear sua configuração isolinux (que vem com o .iso). Eu também tentei isso, mas ainda não tive sorte.
A única solução que encontrei (testada apenas com o netboot iso) é usar o método de apenas carregar a nova configuração (neste caso /path/to/distro/isolinux.cfg), usando a instrução CONFIG. Só que, neste caso, que tenho alguns erros, então eu tentei sua configuração filho "menu.cfg". Isso ignorou o menu de inicialização do Ubuntu, mas carregou o instalador do Ubuntu com sucesso.
Lembre-se de que você também precisa especificar a nova casa na linha CONFIG ou usando APPEND abaixo.
Por fim, alguns comentários sobre a questão. Quando se trata de PATH (Z :) é irrelevante aqui, desde quando você está realmente executando a partir do pendrive USB você não está usando as regras do Windows e UNIX se aplica. Portanto, insira apenas o caminho da maneira UNIX / xxx / zzz. Por exemplo, "Acho que o Syslinux reconhece Z: \ como diretório raiz /" não faz sentido, porque / = root, no Windows (letra da unidade +) \ (\ = root).
Como você tem exatamente o mesmo objetivo e problemas que eu, compartilharei qualquer progresso que tenha no futuro.
EDITAR: Aqui está a resposta que provavelmente resolverá tudo.
O simples fato que você deve lembrar é que os arquivos COM32 são incompatíveis entre diferentes versões do SYSLINUX / ISOLINUX. SYSLINUX & ISOLINUX são compatíveis entre si.
No Ubuntu Netboot.iso, apenas um arquivo COM32 é usado, vesamenu.c32. Eu simplesmente substitui isso com o da minha instalação principal do syslinux no usb (/boot/syslinux/vesamenu.c32).
Em seguida, simplesmente aponte seu menu de inicialização para o arquivo que, de outra forma, iniciaria a instalação do SO (/boot/ubuntu/isolinux.cfg). Use CONFIG para este & isso apenas funcionará magicamente. Não mais "Não foi possível carregar o vesamenu.c32".