Integrating PartedMagic in Fog 1.2.0



  • Hi All,
    Has anyone had any success geting parted magic to work via iPXE? Im having issues both wiht the ISO AND the PXE images failing during the boot process.
    I tried
    https://wiki.fogproject.org/wiki/index.php/Include_any_ISO_in_the_FOG_Bootmenu#Other_Parameter_Options
    but there is no tftpboot/fog or tftpboot/pxelinux.cfg folders… little stumped here
    Ive gotten clonezilla to work which i found help from
    https://forums.fogproject.org/topic/4790/how-to-add-live-cd-iso-to-fog-1-2-on-ubuntu-12-04/29
    which seemed to need the UNION=OVERLAY piece added. Thanks @dustindizzle11.
    Thank you in advance for any insight.



  • @Wayne-Workman
    Hi Wayne, sorry been running around abit here lately for the mounting i am using nfs and in the exports:
    /images *(ro,sync,no_wdelay,insecure_locks,no_root_squash,insecure,fsid=1)
    Hopefully helps others out.



  • @Wayne-Workman
    Hi Wayne it is PartedMagic_2015_11_13. Thanks again for the help.


  • Moderator

    @shaun This has been added to the Wiki here: https://wiki.fogproject.org/wiki/index.php?title=Include_any_ISO_in_the_FOG_Bootmenu

    I filled in the gaps that @shaun left out, because we still needed mounting and such and he didn’t include that. And because he didn’t include a specific parted magic version, I dated the content in the article itself so that hopefully future readers can google search and find the version it applies to.


  • Moderator

    @shaun What version of Parted Magic were you using, exactly?


  • Moderator

    @shaun said:

    @Wayne-Workman

    Thanks very much for your patience and it did indeed lead me to the right cliff to jump off of.

    set nfs_path /images/pmagic
    kernel http://${fog-ip}/fog/service/ipxe/pmagic/bzImage
    initrd http://${fog-ip}/fog/service/ipxe/pmagic/initrd.img
    initrd http://${fog-ip}/fog/service/ipxe/pmagic/files.cgz
    initrd http://${fog-ip}/fog/service/ipxe/pmagic/fu.img
    initrd http://${fog-ip}/fog/service/ipxe/pmagic/m32.img
    imgargs bzImage root=/dev/nfs boot=live netboot=nfs nfsroot=${fog-ip}:${nfs_path} ip=dhcp edd=on noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=normal sleep=0 loglevel=0 keymap=us splash quiet - || read void
    boot || read void
    prompt
    goto start

    Works! I had to move the inits around a bit so files had to come first then fu the m32 and also works in 64 as well. Thanks Thiago and Wayne!

    Tagging this for addition to the wiki



  • @Wayne-Workman

    Thanks very much for your patience and it did indeed lead me to the right cliff to jump off of.

    set nfs_path /images/pmagic
    kernel http://${fog-ip}/fog/service/ipxe/pmagic/bzImage
    initrd http://${fog-ip}/fog/service/ipxe/pmagic/initrd.img
    initrd http://${fog-ip}/fog/service/ipxe/pmagic/files.cgz
    initrd http://${fog-ip}/fog/service/ipxe/pmagic/fu.img
    initrd http://${fog-ip}/fog/service/ipxe/pmagic/m32.img
    imgargs bzImage root=/dev/nfs boot=live netboot=nfs nfsroot=${fog-ip}:${nfs_path} ip=dhcp edd=on noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=normal sleep=0 loglevel=0 keymap=us splash quiet - || read void
    boot || read void
    prompt
    goto start

    Works! I had to move the inits around a bit so files had to come first then fu the m32 and also works in 64 as well. Thanks Thiago and Wayne!


  • Moderator

    @shaun ok… going to try to point you into the right direction.

    Take copies of the init and kernel, and put just those in a web folder somewhere. Put the ISO into an NFS exported directory. /images is already exported. you could put it in something like /images/pmagic/YourIsoHere.iso

    Doing those two things, and making changes as needed to the kernel and initrd paths, you next need to load the iso.

    Look at the hirens boot cd example in the wiki. Here’s the lines that load and then cause the boot to happen.

    set nfs_path /var/www/fog/ISO/15.04_64
    imgargs vmlinuz.efi root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:${nfs_path} ip=dhcp splash quiet – || read void
    boot || read void
    

    Of course, that’s for hirens.

    For this, if you’re using the already good to go /images directory as I suggested above, this might look something like:

    set nfs_path /images/pmagic
    imgargs bzimage root=/dev/nfs boot=casper netboot=nfs nfsroot=${fog-ip}:${nfs_path} ip=dhcp splash quiet – || read void
    boot || read void
    

    Also - we might not get this on the first try. And - it may be a good idea to ask the guys over at ipxe.org They are friendly and have helped me before. -> http://forum.ipxe.org/showthread.php?tid=5948



  • @shaun

    Aaand this fails and goes to windowsw 7 startup …
    :PMagic2015
    kernel http://${fog-ip}/fog/service/ipxe/pmagic/bzImage
    initrd http://${fog-ip}/fog/service/ipxe/pmagic/initrd.img
    initrd http://$(fog-ip)/fog/service/ipxe/pmagic/fu.img
    initrd http://$(fog-ip)/fog/service/ipxe/pmagic/m32.img
    initrd http://$(fog-ip)/fog/service/ipxe/pmagic/files.cgz
    imgargs bzImage edd=on noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=normal sleep=0 loglevel=0 keymap=us max_loop=256 vmall
    boot || echo Failed to boot
    prompt
    goto start

    …eerrrrggg…



  • @Wayne-Workman

    So what ive done so far:
    -> Copied the mounted iso to a folder
    -> chmod 777 the entire folder now located in /var/www/fog/service/ipxe/partedmagic
    had the following:
    :PMagic2015
    kernel http://${fog-ip}/fog/service/ipxe/partedmagic/pmagic/bzImage
    initrd http://${fog-ip}/fog/service/ipxe/partedmagic/pmagic/initrd.img
    imgargs bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=0 loglevel=0 keymap=us
    boot || echo Failed to boot
    prompt
    goto start

    It would start to load then fail with
    mount /dev/loop252 failed to find superblock
    fu.sqfs failed to mount

    Looked at the sample_pxelinux.cfg again from parted magic

    Boot the kernel and initramfs over PXE 32-bit.

    LABEL pmagic32
    LINUX pmagic/bzImage
    INITRD pmagic/initrd.img,pmagic/fu.img,pmagic/m32.img,pmagic/files.cgz
    APPEND edd=on vga=normal

    Tried to make that work:

    :PMagic2015
    kernel http://${fog-ip}/fog/service/ipxe/partedmagic/pmagic/bzImage
    initrd http://${fog-ip}/fog/service/ipxe/partedmagic/pmagic/initrd.img,http://$(fog-ip)/fog/service/ipxe/partedmagic/pmagic/fu.img,http://$(fog-ip)/fog/service/ipxe/partedmagic/pmagic/m32.img,http://$(fog-ip)/fog/service/ipxe/partedmagic/pmgaic/files/cgz
    imgargs bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=0 loglevel=0 keymap=us
    boot || echo Failed to boot
    prompt
    goto start

    Which then goes straight to Windows 7 startup…

    Looked up the mount loop252 error and found looks like the kernel is trying to mount iso so got the pmagic pxe file and untarred int /fog/service/ipxe/

    From their stanza.txt
    DEFAULT pmagic32

    LABEL pmagic32
    LINUX pmagic/bzImage
    INITRD pmagic/initrd.img,pmagic/fu.img,pmagic/m32.img,pmagic/files.cgz
    APPEND edd=on vga=normal

    First tried with:
    :PMagic2015
    kernel http://${fog-ip}/fog/service/ipxe/pmagic/bzImage
    initrd http://${fog-ip}/fog/service/ipxe/pmagic/initrd.img
    imgargs bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=0 loglevel=0 keymap=us max_loop=256 vmall
    boot || echo Failed to boot
    prompt
    goto start

    That still came up with failed to mount /dev/loop252 fu.sqfs so I changed it to:

    :PMagic2015
    kernel http://${fog-ip}/fog/service/ipxe/pmagic/bzImage
    initrd http://${fog-ip}/fog/service/ipxe/pmagic/initrd.img,http://$(fog-ip)/fog/service/ipxe/pmagic/fu.img,http://$(fog-ip)/fog/service/ipxe/pmagic/m32.img,http://$(fog-ip)/fog/service/ipxe/pmagic/files.cgz
    imgargs bzImage edd=on noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=normal sleep=0 loglevel=0 keymap=us
    boot || echo Failed to boot
    prompt
    goto start

    Which fails and goes straight to windows 7 boot.

    I guess it comes down to how do i add:
    INITRD pmagic/initrd.img,pmagic/fu.img,pmagic/m32.img,pmagic/files.cgz
    as a 1 liner??

    This
    initrd http://${fog-ip}/fog/service/ipxe/pmagic/initrd.img,http://$(fog-ip)/fog/service/ipxe/pmagic/fu.img,http://$(fog-ip)/fog/service/ipxe/pmagic/m32.img,http://$(fog-ip)/fog/service/ipxe/pmagic/files.cgz

    Fails.

    Thanks for both your patience and help!



  • @Wayne-Workman said:

    @shaun With a web browser, can you access these two files?

    Replace the x’s with your FOG IP address and plug these into a browser’s address bar. What do you see? What happens?

    http://x.x.x.x/tftpboot/pmagic/partedmagic/pmagic/bzImage
    http://x.x.x.x/tftpboot/pmagic/partedmagic/pmagic/initrd.img

    I think I know the answer already, but I’m trying to shove you in the right direction so you can figure it out on your own… look at @Thiago 's example again…

    Thank you for your patience gang, Yes it says the requested url does not exist on the server with 404 so i did create a link within /fog/service/ipxe/ and it came UP! Then failed…LOL failed to load fu.sqfs …sheesh… at least we are on the right track before drailing…

    Well what ive done is the following:
    :PMagic2015
    kernel http://${fog-ip}/fog/service/ipxe/partedmagic/pmagic/bzImage
    initrd http://${fog-ip}/fog/service/ipxe/partedmagic/pmagic/initrd.img <----
    imgargs bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=0 loglevel=0 keymap=us
    boot || echo Failed to boot
    prompt

    Is where i want to change according to the sample_pxelinux.cfg with partedmagic is the following:

    Boot the kernel and initramfs over PXE 32-bit.

    LABEL pmagic32
    LINUX pmagic/bzImage
    INITRD pmagic/initrd.img,pmagic/fu.img,pmagic/m32.img,pmagic/files.cgz
    APPEND edd=on vga=normal

    Do i have to put multiple http://$(fog-ip)… after initrd??


  • Moderator

    @shaun With a web browser, can you access these two files?

    Replace the x’s with your FOG IP address and plug these into a browser’s address bar. What do you see? What happens?

    http://x.x.x.x/tftpboot/pmagic/partedmagic/pmagic/bzImage
    http://x.x.x.x/tftpboot/pmagic/partedmagic/pmagic/initrd.img

    I think I know the answer already, but I’m trying to shove you in the right direction so you can figure it out on your own… look at @Thiago 's example again…



  • @Thiago

    Thanks for the idea Thiago but that went belly up and right into windows startup.
    kernel http://${fog-ip}/tftpboot/pmagic/partedmagic/pmagic/bzImage
    initrd http://${fog-ip}/tftpboot/pmagic/partedmagic/pmagic/initrd.img

    is the relevant parts Im wondering if i should pull that tftpboot oudda there as its a nfs export?
    /tftpboot/pmagic/partedmagic/ *(ro,sync,no_wdelay,insecure_locks,no_root_squash,insecure)

    Thank you for the ideas!



  • Try this:

    :PMagic2015
    kernel http://${fog-ip}/${fog-webroot}/your-path-to-parted-magic/bzImage
    initrd http://${fog-ip}/${fog-webroot}/your-path-to-parted-magic/initrd.img
    imgargs bzImage edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=0 loglevel=0 keymap=us
    boot || goto MENU



  • Eh ive tried my best and it simply just fails trying a few different methods. Maybe PartedMagic cannot be booted in iPXE i guess, shoot i cannot even get it to boot now just goes to the fail and boots the hdd.
    :MENU
    menu
    item --gap – ---------------- iPXE boot menu ----------------
    item CloneZilla64 CloneZilla64
    item PMagic2015 Pmagic2015
    item shell ipxe shell
    item return return to previous menu
    choose --default return --timeout 5000 target && goto ${target}

    :PMagic2015
    linux pmagic/partedmagic/pmagic/bzImage
    append root=/dev/nfs netboot=nfs nfsroot=<my server ip>:/tftpboot/pmagic/partedmagic/pmagic initrd=pmagic/partedmagic/pmagic/initrd.img,pmagic/partedmagic/pmagic/fu.img,pmagic/partedmagic/pmagic/m32.img,pmagic/partedmagic/pmagic/files.cgz
    boot || goto failed

    The NFS mount works and can view the directorys / folders… still sumped and confuzed… thank you for any advice in advance.

    goto start



  • Thank you sir, i will try that.


  • Moderator

    What you’ve already found would have been what I would have suggested.

    If I could give you any advice, I’d say use NFS.

    Here’s a tutorial for network booting Ubuntu using NFS. Just substitute PartedMagic. The path for the kernel and init may be different, you’ll just have to find it - the menu entries for iPXE will be very similar to others found here around the forums, I imagine. http://www.howtogeek.com/61263/how-to-network-boot-pxe-the-ubuntu-livecd/


Log in to reply
 

446
Online

38955
Users

10706
Topics

101581
Posts

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.