On 11/23/2011 07:52 PM, Thomas Bächler wrote:
Am 23.11.2011 23:36, schrieb Gerardo Exequiel Pozzi:
The releng env is currently set to build every 4 days. And it should auto-update archiso from git IIRC Gerardo didn't push these patches to archiso.git yet. That's why I asked.
These patches are waiting for next mkinitcpio + pending RFC patch to fix BASEDIR (Or I can just say "good-bye" to -b BASEDIR and use chroot mkinitcpio") We could install mkinitcpio-git in the releng environments. Dieter?
Also I want to change a bit the directory structure of the ISO to be more pxelinux friendly. This is a change that I want to do long long time ago, but breaks "the nice scheme" (syslinux only files in one place, kernel/initramfs in other...).
[...]
bah, is still nice...
is there any objections? I like the old scheme better. I like how the bootloader files are separate from the linux files. Yes current scheme is nice.
We can start a TFTP/FTP/HTTP/NFS that points directly to /run/archiso/bootmnt from the live-enviroment. Or just extract/mount the ISO in a running system ;) Why can't we do that with the current scheme?
Because pxelinux works different compared to other bootloaders (in terms of filesystem). While syslinux/isolinux/extlinux you can see all files from the filesystem where is installed. For example extlinux installed on /boot/syslinux/ld-linux.sys from the bootloader you can access to /anyotherdir. In pxelinux things works differently, You have it installed on /tftpboot/syslinux/pxelinux.0 and you can not access to files outside "syslinux/" when you reference a file as "/pepito.txt" you are trying to access to /tftpboot/syslinux/pepito.txt (even if tftpd root is set to /tftpboot/). Yes sure still can be referenced as tftp:// (or http://) I tried with change the tftp-prefix with dhcp-option 210 (pxelinux.pathprefix) "dnsmasq --dhcp-option-force=210,/" then having this scheme (by default will take syslinux/ as prefix, the directory where pxelinux.0 is found) /tftpboot/arch/boot/i686/vmlinuz /tftpboot/syslinux/with-all-files-here /tftpboot/pxelinux.cfg/default And default file with this content (the same method used in ISO under /isolinux/isolinux.cfg) --- DEFAULT loadconfig LABEL loadconfig CONFIG /syslinux/syslinux.cfg APPEND /syslinux/ --- All things related to syslinux loads OK (c32, splash.png, etc...) but when you try to access to /arch/boot/i686/vmlinuz is not found boot: cat /arch/pepe.txt cat.c32: /arch/pepe.txt: file not found boot: cat tftp://192.168.0.77/arch/pepe.txt I Am /tftpboot/arch/pepe.txt boot: cat pepe.txt I Am /tftpboot/syslinux/pepe.txt boot: cat /pepe.txt I Am /tftpboot/syslinux/pepe.txt boot: ------------- Another alternative directory scheme is /arch/boot/{i686,x86_64}/{vmlinuz,archiso.img,...} /arch/boot/syslinux/*.{cfg,c32,...} /arch/boot/pxelinux.cfg/default <- this is a copy of syslinux.cfg (not a "loadconfig" hack) So in the case of dual-iso, we need *.cfg files here. /arch/boot/{g,p}xelinux.0 -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1