{"id":38991572,"url":"https://github.com/3mdeb/pxe-server","last_synced_at":"2026-01-17T17:04:04.139Z","repository":{"id":42415811,"uuid":"61997106","full_name":"3mdeb/pxe-server","owner":"3mdeb","description":"Dockerized PXE server","archived":false,"fork":false,"pushed_at":"2024-06-25T20:27:52.000Z","size":97,"stargazers_count":27,"open_issues_count":14,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-06-25T22:04:24.360Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/3mdeb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-06-26T16:08:43.000Z","updated_at":"2023-10-11T16:21:48.000Z","dependencies_parsed_at":"2024-06-25T21:53:59.486Z","dependency_job_id":"19ac77fa-2a64-4b44-a257-3b88fc33ff54","html_url":"https://github.com/3mdeb/pxe-server","commit_stats":{"total_commits":50,"total_committers":4,"mean_commits":12.5,"dds":0.38,"last_synced_commit":"796da1e3861ede1d010cfe51305ae486d06f4a06"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/3mdeb/pxe-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3mdeb%2Fpxe-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3mdeb%2Fpxe-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3mdeb%2Fpxe-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3mdeb%2Fpxe-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3mdeb","download_url":"https://codeload.github.com/3mdeb/pxe-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3mdeb%2Fpxe-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28511876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-17T17:04:04.042Z","updated_at":"2026-01-17T17:04:04.118Z","avatar_url":"https://github.com/3mdeb.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"pxe-server\n==========\n\nThis repository contains PXE server that should help in installing, testing and\ndeveloping operating systems and firmware for PXE-capable platforms.\n\nIt was inspired by effort required to test PC Engines apu2 platform.\n\n\nUsage\n-----\n\n```\ngit clone https://github.com/3mdeb/pxe-server.git\ncd pxe-server\nNFS_SRV_IP=\u003chost-pc-ip\u003e ./init.sh\n```\n\n`init.sh` downloads all necessary files, OS images, PXE and extracts them in\nproper directories.\n\n\u003e `init.sh` script uses our netboot repository by default. It is the repository it\n\u003e should be paired with.\n\nPlease note that `init.sh` also download prepared Debian boot images. In root\ndirectory of those images you can find `CHANGELOG` document which briefly\ndescribe modifications.\n\nAPU2 development and testing\n----------------------------\n\n### Setting up docker container\n\nIn order to set up isolated environment for pxe-server with nfs-server and\nhttp-boot, just run:\n\n```\n./start.sh\n```\n\nThis script builds a container and runs it with correct configuration\nnfs-kernel-server.\n\n`run.sh` is a script that runs at container startup, do not use it on Your host\nPC.\n\n## Chainloading over HTTP\n\nIn some situation it may happen that TFTP server may be unreliable. There are\nknown network configurations where routers filter tftp traffic. Because of that\nwe decided to switch over to HTTP.\n\nBoot to iPXE and type:\n\n```\niPXE\u003e ifconf net0\niPXE\u003e dhcp net0\niPXE\u003e chain http://\u003chttp-server-ip\u003e:8000/menu.ipxe\n```\n\nOf course please replace `\u003chttp-server-ip\u003e` with address provided during\ninitialization (`NFS_SRV_IP`).\n\n### Select options\n\nCurrently supported options are:\n\n1. `Debian stable netboot` - it is a Debian Stretch rootfs served over nfs with custom\nkernel\n2. `Voyage netinst` - a Voyage Linux network installation image\n3. `Debian stable netinst` - runs a Debian stable amd64 network installation from external repository\n4. `Debian testing netinst` - runs a Debian testing amd64 network installation from external repository\n\nThe credentials for Debian stable netboot are as follows:\nlogin: root\npassword: debian\n\nThose credentials are visible during boot:\n\n```\nDebian GNU/Linux 9 apu2 ttyS0 [root:debian]\n\napu2 login: \n```\n\n## Robot Framework\n\nSome automation of above process has been prepared. Relevant source code can be\nfound [here](https://github.com/pcengines/apu-test-suite)\n\n\n## Issues\n\nI have encountered issues with network interface configuration. The\nconfiguration is retrieved from DHCP 3 times:\n\n1. In iPXEshell\n2. Before nfs mount during boot time\n3. At system startup (defined in /etc/network/interfaces)\n\n\u003e 1 and 2 are necessary, 3 is only needed to get internet connection on booted\nsystem.\n\nRequesting configuration that many times makes a little mess, so as a temporary\nworkaround add a static IP for the `net0/eth0` interface on Your DHCP server.\nThe IP address requested will remain the same and so the problems will be gone\ntoo.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3mdeb%2Fpxe-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3mdeb%2Fpxe-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3mdeb%2Fpxe-server/lists"}