571 | | Als je nu je soekris 4826 via pxe laat booten dan zie je dat die de pxelinux.0 payload laad echter zie je nog geen installatie menu en kun je nog niet verder! Op een pc/laptop pxe-client zie je wel op het vga scherm een menu met uitgebreiden mogelijkheden om debian te installeren. Het installatie menu van de syslinux bootloader werkt wel enkel voor pc/laptop, door het syslinux configuratie bestand(en) aan te passen kun je ervoor zorgen dat het menu ook via de seriele port te zien is. |
572 | | |
573 | | Seriele console support toevoegen aan syslinux bootloader (gebruikt in debian netinstall) |
| 571 | === Boot Menu === |
| 572 | Als je nu je soekris 4826 via pxe laat booten dan zie je dat die de pxelinux.0 payload laad, echter zie je nog geen installatie menu en kun je nog niet verder! Op een pc/laptop pxe-client zie je wel op het vga scherm een menu met uitgebreiden mogelijkheden om debian te installeren. Het installatie menu van de syslinux bootloader werkt standaard voor pc/laptop vga console, door het syslinux configuratie bestand(en) aan te passen kun je ervoor zorgen dat het menu ook via de seriele console te zien is. |
| 573 | |
| 574 | Seriele console support toevoegen aan syslinux bootloader (gebruikt in debian netinstall). Alhoewel er maar 1 config bestand hoeft te zijn "syslinux.cfg" die het menu beschrijft met mogelijke bootopties, komt de debian net install met talloze txt en submenu-tjes die het editen wat onoverzichtelijk maakt! Dit is pas een probleem als je meerdere OS's aan het menu wil toevoegen, of via de serial console boot-parameters wil editen(die zie je dan niet/goed). |
| 575 | |
| 576 | /mnt/sda3/tftproot/debian-installer/i386/boot-screens/syslinux.cfg |
| 577 | {{{ |
| 578 | CONSOLE 1 #0=serial only, 1=vga&serial |
| 579 | SERIAL 0 38400 0 #0=serialport com 1, 0=8n1 software mode |
| 580 | }}} |
| 581 | |
| 582 | |
| 583 | {{{ |
| 584 | LABEL bootlocaldisk |
| 585 | MENU DEFAULT |
| 586 | MENU LABEL bootlocal disk |
| 587 | localboot 0x80 |
| 588 | append SLX=0x80 |
| 589 | }}} |
576 | | PXE boot functionaliteit kan/moet uitgebreid worden met het NFS protocol, om bijvoorbeeld linux desktop livecd's te booten via het netwerk of FREEBSD 9.2 of hogere installatie uit te voeren! Dit omdat niet altijd in een keer zo'n groot iso bestand in het ram geladen van de PXE-client pc geladen kan worden, of omdat betreffend OS zich zelf niet meer kan vinden als deze als iso in het ram geheugen is geladen en hij blijft zoeken naar een CDROM drive die niet bestaat voor zijn installatie bestanden memdisk/mfs ontbreekt in dit geval! Als OS's zullen we ubuntu 10.0.4.4 en 12.04.4 live desktop en FREEBSD 10 CDROM live/install disk nemen. Nogmaals de iso's worden in dit geval wel uitgepakt/loopmount, omdat via nfs eerder besproken bezwaren hierdoor weggenomen worden. |
577 | | |
578 | | ubuntu |
| 592 | PXE boot functionaliteit kan/moet uitgebreid worden met het NFS protocol, om bijvoorbeeld linux desktop livecd's te booten via het netwerk of FREEBSD 9.2 of hogere installatie uit te voeren! Dit omdat niet altijd in een keer zo'n groot iso bestand in het ram geladen van de PXE-client pc geladen kan worden, of omdat betreffend OS zich zelf niet meer kan vinden als deze als iso in het ram geheugen is geladen en hij blijft zoeken naar een CDROM drive die niet bestaat voor zijn installatie bestanden (kernel module memdisk/mfs ontbreekt in dit geval)! NFS zelf bestaat weer uit twee onderdelen exports/portmap |
| 593 | |
| 594 | Als OS's zullen we ubuntu 10.0.4.4 en 12.04.4 live desktop en FREEBSD 10 CDROM live/install disk nemen en zullen dit toevoegen aan het bestaande/eerdere debian install menu. Nogmaals de iso's worden in dit geval wel uitgepakt/loopmount, omdat via nfs eerder besproken bezwaren hierdoor weggenomen worden. Om iso bestanden te kunnen mounten onder openwrt moeten er wat kernel modules geladen worden, de freebsd installatie bestanden moeten echt gekopieerd worden omdat er namelijk een paar bestanden/mappen gewijzigd/toegevoegd worden voordat de PXE + NFS install functioneerd! |
| 595 | |
| 596 | openwrt install iso / nfs packages |
| 597 | {{{ |
| 598 | opkg update |
| 599 | opkg install kmod-fs-iso9660 |
| 600 | opkg install kmod-loop |
| 601 | opkg install kmod-nfs-server |
| 602 | }}} |
| 603 | |
| 604 | prepare files ubuntu 10.04.4-i386 |
584 | | |
| 611 | mount -t iso9660 -o loop ubuntu-10.04.4-desktop-i386.iso /mnt/sda3/exports/ubuntu10.04.4-i386 |
| 612 | cp /mnt/sda3/exports/ubuntu10.04.4-i386/casper/vmlinuz /mnt/sda3/exports/ubuntu10.04.4-i386/casper/initrd.lz /mnt/sda3/tftproot/ubuntu10.04.4-i386ki |
| 613 | }}} |
| 614 | |
| 615 | /mnt/sda3/tftproot/debian-installer/i386/boot-screens/menu.cfg #add bootmenu items |
| 616 | {{{ |
| 617 | LABEL ubuntu-10.04.4-desktop-i386 |
| 618 | MENU LABEL ubuntu-10.04.4-desktop-i386 |
| 619 | KERNEL ubuntu10.04.4-i386ki/vmlinuz |
| 620 | APPEND initrd=ubuntu10.04.4-i386ki/initrd.lz root=/dev/nfs boot=casper netboot=nfs nfsroot=10.0.0.1:/mnt/sda3/exports/ubuntu10.04.4-i386 file=/preseed/ubuntu.seed -- |
| 621 | |
| 622 | LABEL ubuntu-12.04.1-desktop-i386 |
| 623 | MENU LABEL ubuntu-12.04.1-desktop-i386 PAE,CMOV |
| 624 | KERNEL ubuntu12041-32/vmlinuz |
| 625 | APPEND initrd=ubuntu12041-32/initrd.lz root=/dev/nfs boot=casper netboot=nfs nfsroot=10.0.0.1:/mnt/sda3/exports/ubuntu12041-32 -- |
| 626 | |
| 627 | LABEL ubuntu-14.04.p-desktop-amd64 |
| 628 | MENU LABEL ubuntu-14.04.p-desktop-amd64 pre-release feb6tf2014 |
| 629 | KERNEL ubuntu1404p-64/vmlinuz.efi |
| 630 | APPEND initrd=ubuntu1404p-64/initrd.lz root=/dev/nfs boot=casper netboot=nfs nfsroot=10.0.0.1:/mnt/sda3/exports/ubuntu1404p-64 -- |
588 | | {{{ |
589 | | |
590 | | }}} |
591 | | |
592 | | == Links == |
| 634 | |
| 635 | prepare files FreeBSD 10 disc1 iso |
| 636 | {{{ |
| 637 | mkdir -p /mnt/sda3/exports/freebsd-temp |
| 638 | mkdir -p /mnt/sda3/exports/freebsd10-i386-disc1 |
| 639 | mkdir -p /mnt/sda3/tftproot/freebsd10-i386-ki |
| 640 | cd /mnt/sda3/cdroms |
| 641 | wget http://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/ISO-IMAGES/10.0/FreeBSD-10.0-RELEASE-i386-disc1.iso |
| 642 | mount -t iso9660 -o loop FreeBSD-10.0-RELEASE-i386-disc1.iso /mnt/sda3/exports/freebsd-temp |
| 643 | |
| 644 | cd /mnt/sda3/exports/freebsd-temp |
| 645 | cp boot/pxeboot /mnt/sda3/tftproot/freebsd10-i386-ki |
| 646 | cp -a * /mnt/sda3/exports/freebsd10-i386-disc1 |
| 647 | cp -a .cshrc /mnt/sda3/exports/freebsd10-i386-disc1 |
| 648 | cp -a .profile /mnt/sda3/exports/freebsd10-i386-disc1 |
| 649 | cp -a .rr_moved /mnt/sda3/exports/freebsd10-i386-disc1 |
| 650 | |
| 651 | mkdir jails |
| 652 | mkdir -p conf/base/jails |
| 653 | mkdir conf/default |
| 654 | chmod -R 777 conf |
| 655 | chmod -R 777 jails |
| 656 | |
| 657 | }}} |
| 658 | |
| 659 | etc/fstab #comment FREEBSD_INSTALL mount! |
| 660 | {{{ |
| 661 | #/dev/iso9660/FREEBSD_INSTALL / cd9660 ro 0 0 |
| 662 | }}} |
| 663 | |
| 664 | etc/rc.conf #add following line |
| 665 | {{{ |
| 666 | root_rw_mount="NO" |
| 667 | }}} |
| 668 | |
| 669 | {{{ |
| 670 | LABEL freebsd10-i386nfspxeboot |
| 671 | MENU LABEL freebsd10 i386 pxeboot nfs |
| 672 | pxe freebsd10-i386-ki/pxeboot |
| 673 | |
| 674 | LABEL freebsd8.4-i386mfsiso |
| 675 | MENU LABEL freebsd8.4 i386 mfs memdisk iso |
| 676 | KERNEL memdisk |
| 677 | APPEND initrd=freebsdx/FreeBSD-8.4-RELEASE-i386-bootonly.iso iso raw |
| 678 | }}} |
| 679 | |
| 680 | /etc/config/dhcp #additional dhcp parameter to supply nfs address |
| 681 | {{{ |
| 682 | config boot linux |
| 683 | ... |
| 684 | |
| 685 | ... |
| 686 | list dhcp_option 'option:root-path,10.0.0.1:/mnt/sda3/exports/freebsd10-i386' #NFS only, needed for dumb OS FREEBSD which cannot find the NFS server |
| 687 | }}} |
| 688 | |
| 689 | /etc/exports |
| 690 | {{{ |
| 691 | /mnt/sda3/exports/ubuntu10.04.4-i386 10.0.0.1/24(ro,no_root_squash,no_subtree_check,async) |
| 692 | /mnt/sda3/exports/ubuntu12041-32 10.0.0.1/24(ro,no_root_squash,no_subtree_check,async) |
| 693 | /mnt/sda3/exports/ubuntu1404p-64 10.0.0.1/24(ro,no_root_squash,no_subtree_check,async) |
| 694 | /mnt/sda3/exports/freebsd10-i386-disc1 10.0.0.1/24(ro,sync,no_root_squash,no_subtree_check) |
| 695 | }}} |
| 696 | |
| 697 | == Links / References== |
| 698 | * [https://www.rubysecurity.org/freebsd_pxe-diskless-boot FREEBSD 9 disc1 iso PXE boot install] |