{"id":254,"date":"2018-08-03T20:16:41","date_gmt":"2018-08-03T18:16:41","guid":{"rendered":"https:\/\/www.vagnretur.com\/?p=254"},"modified":"2018-08-03T20:16:41","modified_gmt":"2018-08-03T18:16:41","slug":"notes-for-creating-a-bootable-freebsd-pxe-image","status":"publish","type":"post","link":"https:\/\/vagnretur.com\/?p=254","title":{"rendered":"Notes for creating a bootable FreeBSD pxe image"},"content":{"rendered":"<p>This is my notes for creating a bootable pxe image for freebsd on foreman<\/p>\n<pre># wget http:\/\/mfsbsd.vx.sk\/files\/images\/11\/mfsbsd-se-11.2-RELEASE-amd64.img\n# mkdir \/mnt\/loop\n# mdconfig -a -t vnode -f mfsbsd-se-11.2-RELEASE-amd64.img \n# mount \/dev\/md0p2 \/mnt\/loop\n# cd \/mnt\/loop\n# cp -p mfsroot.gz \/tmp\/ \n# cd \/tmp\n# gzip -d mfsroot.gz\n# mdconfig -a -t vnode -f mfsroot \n# mkdir \/mnt\/mfsroot\n# mount \/dev\/md1 \/mnt\/mfsroot\/\n# cd \/mnt\/mfsroot\n# cp -p root.txz \/tmp\n# cd \/tmp\n# tar Jxvf root.txz\n# vim rw\/etc\/rc.local\n \nAdd:\n \n#!\/bin\/sh\n# Foreman provisioning script\n# \n# try to fetch foreman URL via TFTP\nFOREMAN_URL=\nLFILES=`find \/var\/db -name 'dhclient.leases.*'`\nfor LFILE in $LFILES; do\n  if [ -z \"$FOREMAN_URL\" -a -f \"$LFILE\" ]; then\n    INTERFACE=`cat $LFILE | grep -E -o 'interface .*[^;]' | head -1 | cut -d\\\" -f 2`\n    SERVER=`cat $LFILE | grep -E -o 'next-server .*[^;]' | head -1 | cut -d' ' -f 2`\n    if [ -n \"$SERVER\" -a -n \"$INTERFACE\" ]; then\n      MAC=`ifconfig $INTERFACE | grep -o \"ether .*\" | head -1 | cut -d' ' -f 2`\n      DMAC=01-`echo $MAC | sed -e 's\/:\/-\/g'`\n      cd \/tmp\n      echo \"connect $SERVER\nmode binary\nget \/pxelinux.cfg\/$DMAC\" | tftp\n      FOREMAN_URL=`grep foreman_url= \/tmp\/$DMAC | awk -F\"foreman_url=\" '{ print $2 }'`\n    fi\n  fi\ndone\n \nif [ -z $FOREMAN_URL ]; then\n        FOREMAN_URL=http:\/\/foreman\/unattended\/provision\nfi\n \nfetch --timeout=10 --no-verify-hostname --no-verify-peer -a -m -q -o \/tmp\/install.sh $FOREMAN_URL\nsh \/tmp\/install.sh\n \n# rm root.txz\n# tar cfJv root.txz rw\n# mv root.txz \/mnt\/mfsroot\/\n# umount \/mnt\/mfsroot\n# mdconfig -d -u 1\n# gzip mfsroot\n# mv mfsroot.gz \/mnt\/loop\/\n# umount \/mnt\/loop\n# mdconfig -d -u 0\n# rm -R \/tmp\/rw \/mnt\/loop \/mnt\/mfsroot<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>This is my notes for creating a bootable pxe image for freebsd on foreman # wget http:\/\/mfsbsd.vx.sk\/files\/images\/11\/mfsbsd-se-11.2-RELEASE-amd64.img # mkdir \/mnt\/loop # mdconfig -a -t vnode -f mfsbsd-se-11.2-RELEASE-amd64.img # mount \/dev\/md0p2 \/mnt\/loop # cd \/mnt\/loop # cp -p mfsroot.gz \/tmp\/ # cd \/tmp # gzip -d mfsroot.gz # mdconfig -a -t vnode -f mfsroot # mkdir&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-254","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/vagnretur.com\/index.php?rest_route=\/wp\/v2\/posts\/254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vagnretur.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vagnretur.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vagnretur.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/vagnretur.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=254"}],"version-history":[{"count":0,"href":"https:\/\/vagnretur.com\/index.php?rest_route=\/wp\/v2\/posts\/254\/revisions"}],"wp:attachment":[{"href":"https:\/\/vagnretur.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vagnretur.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vagnretur.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}