{"id":400,"date":"2024-02-24T08:15:39","date_gmt":"2024-02-24T07:15:39","guid":{"rendered":"https:\/\/activum24.pl\/?p=400"},"modified":"2025-08-04T15:46:34","modified_gmt":"2025-08-04T13:46:34","slug":"rpi-pxe-server","status":"publish","type":"post","link":"https:\/\/activum24.pl\/index.php\/2024\/02\/24\/rpi-pxe-server\/","title":{"rendered":"RPi-PXE Server"},"content":{"rendered":"\n<p>Przedstawiam bardzo udany projekt <a href=\"https:\/\/github.com\/Tech-Byte-Tips\/RPi-PXE\">RPi-PXE Server<\/a>. Zosta\u0142 opracowany przez in\u017cyniera Jorge Pabon z Puerto Rico. Projekt ten umo\u017cliwia prost\u0105 konfiguracj\u0119 serwera PXE, kt\u00f3ry udost\u0119pnia system plik\u00f3w dla minikomputera Raspberry PI. Raspbery PI, po odpowiedniej konfiguracji uruchamia system operacyjny, kt\u00f3ry jest udost\u0119pniany w sieci LAN z udzia\u0142u NFS przy wykorzystaniu DNSMASQ oraz TFTP.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<pre class=\"wp-block-code\"><code># Start DNSMasq service configuration\nport=0\ndhcp-range=192.168.0.255,proxy\nlog-dhcp\nenable-tftp\ntftp-root=\/PXE\/boot\npxe-service=0,\"Raspberry Pi Boot\"\n# End DNSMasq<\/code><\/pre>\n<\/div>\n<\/div>\n\n\n\n<p>Domy\u015blnie projekt zak\u0142ada, \u017ce serwer PXE jest uruchomiony na innym Raspbery PI. W moim przypadku uruchomi\u0142em to rozwi\u0105zanie na Debianie w kontenerze na Proxmox. Wymagane by\u0142y jednak niewielkie modyfikacje konfiguracji. <\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>W\u0142a\u015bciwe wskazanie serwera TFTP w konfiguracji g\u0142\u00f3wnego serwera DHCP.<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<pre class=\"wp-block-code\"><code>host server-rpi4_tv { hardware ethernet DC:A6:32:01:86:5D; fixed-address 192.168.0.31;\n  option tftp-server-name \"192.168.0.234\";\n  next-server 192.168.0.234;\n }<\/code><\/pre>\n<\/div>\n<\/div>\n\n\n\n<p>2. Modyfikacja pliku cmdline.txt dla w\u0142a\u015bciwego rozruchu. Usuni\u0119to parametr vers=4.1 oraz zmieniono proto=tcp na tcp. Na tej konkretnej instalacji Debiana chyba nie dzia\u0142a NFS w wersji 4.1.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<pre class=\"wp-block-code\"><code>console=serial0,115200 console=tty1 root=\/dev\/nfs nfsroot=192.168.0.234:\/PXE\/filesystems\/009ae823,tcp rw ip=dhcp rootwait elevator=deadline<\/code><\/pre>\n<\/div>\n<\/div>\n\n\n\n<p>Przy tym rozwi\u0105zaniu Rapsbery PI nie potrzebuje do rozruchu ani karty SD, ani pendriva, ani dysku USB. System startuje bezpo\u015brednio z sieci lan. Jest to rozwi\u0105zanie ekonomiczne, bardzo wygodne i bezpieczne. Kopi\u0119 ca\u0142ego systemu plik\u00f3w RPI wykonuje Proxmox Backup Server.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"707\" height=\"160\" src=\"https:\/\/activum24.pl\/wp-content\/uploads\/2024\/02\/obraz-2.png\" alt=\"\" class=\"wp-image-402\" srcset=\"https:\/\/activum24.pl\/wp-content\/uploads\/2024\/02\/obraz-2.png 707w, https:\/\/activum24.pl\/wp-content\/uploads\/2024\/02\/obraz-2-300x68.png 300w\" sizes=\"auto, (max-width: 707px) 100vw, 707px\" \/><\/figure>\n<\/div>\n\n\n<p>Przy okazji zrobi\u0142em kilka podstawowy test\u00f3w. Spodziewa\u0142em si\u0119, \u017ce sie\u0107 b\u0119dzie szybsza od karty SD i w zasadzie tak jest. Troch\u0119 zdziwi\u0142y mnie wyniki testu, gdy kontener z serwerem PXE pracuje tylko na lokalnym dysku, my\u015bla\u0142em, \u017ce b\u0119dzie szybciej w stosunku do ceph. B\u0119d\u0119 to jeszcze testowa\u0142.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td>Test<\/td><td>karta SD<\/td><td>NFS <br>ceph SSD<\/td><td>NFS <br>local SSD<\/td><td><\/td><\/tr><tr><td><sup>dd if=\/dev\/zero of=\/tmp\/test1.img bs=1G count=1 oflag=dsync<\/sup><\/td><td>32.3 MB\/s<br>26.3 MB\/s<br>21.8 MB\/s<\/td><td>50.8 MB\/s<br>48.9 MB\/s<br>48.5 MB\/s<\/td><td>31.9 MB\/s<br>30.1 MB\/s<br>33.2 MB\/s<\/td><td><\/td><\/tr><tr><td><sup>dd if=\/dev\/zero of=\/tmp\/test2.img bs=512 count=1000 oflag=dsync<\/sup><\/td><td>45.8 kB\/s<br>39.4 kB\/s<br>50.0 kB\/s<\/td><td>43.2 kB\/s<br>42.2 kB\/s<br>35.6 kB\/s<\/td><td>24.8 kB\/s<br>21.6 kB\/s<br>29.0 kB\/s<\/td><td><\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Podstawowe testy<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Przedstawiam bardzo udany projekt RPi-PXE Server. Zosta\u0142 opracowany przez in\u017cyniera Jorge Pabon z Puerto Rico. Projekt ten umo\u017cliwia prost\u0105 konfiguracj\u0119 serwera PXE, kt\u00f3ry udost\u0119pnia system plik\u00f3w dla minikomputera Raspberry PI. Raspbery PI, po odpowiedniej konfiguracji uruchamia system operacyjny, kt\u00f3ry jest udost\u0119pniany w sieci LAN z udzia\u0142u NFS przy wykorzystaniu DNSMASQ oraz TFTP. Domy\u015blnie projekt zak\u0142ada,&hellip;&nbsp;<\/p>\n","protected":false},"author":1,"featured_media":642,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[1],"tags":[87,86,85,88],"class_list":["post-400","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hardware","tag-pxe","tag-raspberry-pi","tag-rpi","tag-tftp"],"_links":{"self":[{"href":"https:\/\/activum24.pl\/index.php\/wp-json\/wp\/v2\/posts\/400","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/activum24.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/activum24.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/activum24.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/activum24.pl\/index.php\/wp-json\/wp\/v2\/comments?post=400"}],"version-history":[{"count":4,"href":"https:\/\/activum24.pl\/index.php\/wp-json\/wp\/v2\/posts\/400\/revisions"}],"predecessor-version":[{"id":644,"href":"https:\/\/activum24.pl\/index.php\/wp-json\/wp\/v2\/posts\/400\/revisions\/644"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/activum24.pl\/index.php\/wp-json\/wp\/v2\/media\/642"}],"wp:attachment":[{"href":"https:\/\/activum24.pl\/index.php\/wp-json\/wp\/v2\/media?parent=400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/activum24.pl\/index.php\/wp-json\/wp\/v2\/categories?post=400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/activum24.pl\/index.php\/wp-json\/wp\/v2\/tags?post=400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}