{"id":27355465,"url":"https://github.com/pgj/freebsd-wifibox-alpine","last_synced_at":"2026-03-06T12:02:34.953Z","repository":{"id":47502835,"uuid":"460241467","full_name":"pgj/freebsd-wifibox-alpine","owner":"pgj","description":"FreeBSD wifibox guest based on Alpine Linux","archived":false,"fork":false,"pushed_at":"2025-09-20T14:35:26.000Z","size":583,"stargazers_count":10,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-09-20T14:50:42.237Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pgj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-02-17T01:40:14.000Z","updated_at":"2025-09-18T11:44:28.000Z","dependencies_parsed_at":"2024-01-06T21:26:40.901Z","dependency_job_id":"f2bdb91d-0b30-4cba-aecd-cb2f864dc307","html_url":"https://github.com/pgj/freebsd-wifibox-alpine","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/pgj/freebsd-wifibox-alpine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgj%2Ffreebsd-wifibox-alpine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgj%2Ffreebsd-wifibox-alpine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgj%2Ffreebsd-wifibox-alpine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgj%2Ffreebsd-wifibox-alpine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pgj","download_url":"https://codeload.github.com/pgj/freebsd-wifibox-alpine/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgj%2Ffreebsd-wifibox-alpine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30175890,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T11:48:51.886Z","status":"ssl_error","status_checked_at":"2026-03-06T11:48:51.460Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":"2025-04-12T22:01:26.060Z","updated_at":"2026-03-06T12:02:34.924Z","avatar_url":"https://github.com/pgj.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FreeBSD Wifibox/Alpine\n\nThe purpose of this repository is to maintain all the configuration\nfiles and scripts that are used for rolling out a [FreeBSD Wifibox]\nguest based on [Alpine Linux].\n\n## Warning\n\n*This is a work-in-progress experimental software project without any\nguarantees or warranties.  It is shared in the hope that is going to\nbe useful and inspiring for others.  Please report issues at the\n[FreeBSD Wifibox] repository directly.*\n\n## Prerequisites\n\nFor building the virtual disk image, the following third-party\nsoftware is employed, which must be installed beforehand.\n\n- [SquashFS Tools NG] or the `sysutils/squashfs-tools-ng` FreeBSD\n  package.\n- [GNU Tar] or the `archivers/gtar` FreeBSD package.\n- [PatchELF] or the `sysutils/patchelf` FreeBSD package.\n\nNote that the build process also uses native 64-bit Linux binaries,\nthat is why the [Linuxulator] must be activated by loading the\n`linux64` kernel module.\n\n```console\n# kldload linux64\n```\n\n## Installation\n\nWhenever possible, use the `net/wifibox-alpine` FreeBSD port from the\n[freebsd-wifibox-port] repository, which aims to automate the tasks\ndescribed below and offers proper removal of the install files.\n\n### Manual Installation\n\nThere is a `Makefile` present in the root of the repository that could\nbe used to drive the installation process.  It is mostly recommended\nfor development and testing.\n\n```console\n# make install \\\n\tPREFIX=\u003cprefix\u003e \\\n\tLOCALBASE=\u003cprefix of third-party software\u003e \\\n\tMINIROOTFS=\u003cAlpine minimal root file system tarball\u003e \\\n\tPACKAGES=\u003cAlpine package set\u003e \\\n\tBOOT_SERVICES=\u003cservices to launch on boot\u003e \\\n\tDEFAULT_SERVICES=\u003cdefault services\u003e \\\n\tSYSINIT_SERVICES=\u003csystem initialization services\u003e \\\n\tETC_SRCS=\u003clocation of application-specific configuration files\u003e \\\n\tEXTRA_VIRTFS_MOUNTS=\u003cfstab entries for shared file systems\u003e \\\n\tFIRMWARE_FILES=\u003cList of firmware files to keep\u003e \\\n\tSQUASHFS_COMP=\u003cSquashfs compression type\u003e\n```\n\nThe following `make(1)` variables are available to control the build\nprocess:\n\n- `PREFIX` is optional, it is set to `/usr/local` by default.  This is\n  the prefix under which the guest's file system will be constructed,\n  in the `share/wifibox/guest` sub-directory.  It is possible to set\n  the `LOCALBASE` variable as well to tell if the prefix under which\n  various third-party utilities, such as `git` and `mksquashfs` were\n  installed is different.\n\n- `MINIROOTFS` should point to the Alpine minimal root file system\n  tarball for the `x86_64` architecture, which is going to be used in\n  the bootstrapping phase.  Such tarballs can be retrieved from the\n  Alpine Linux [web site](https://alpinelinux.org/downloads/).  By\n  default, that is set to `alpine-minirootfs.tar.gz`.\n\n- `PACKAGES` should tell which Alpine Linux packages to install for\n  the guest.  Those are all must be local files with the `.apk`\n  extension.  By default, that is `*.apk`, which means that all\n  available packages are looked up in the current directory and\n  utilized during the installation process.\n\n- `BOOT_SERVICES` should specify which [OpenRC] services have to be\n  launched on booting the guest.  They greatly depend on what the\n  installed packages provide.\n\n- `DEFAULT_SERVICES` should set which services are launched by\n  default.  Their actual set depends on the contents of the installed\n  packages.\n\n- `SYSINIT_SERVICES` should tell which services are launched as part\n  of the guest system initialization phase, along with the kernel.\n  They have to be sync with the installed packages.\n\n- `ETC_SRCS` should point to a location where the guest's generic\n  configuration files could be found.  This helps to choose between\n  application-specific configuration defaults.  Currently, such files\n  are offered for `wpa_supplicant` and `hostapd`, see the `etc`\n  directory in the repository.\n\n- `EXTRA_VIRTFS_MOUNTS` can optionally contain information about\n  further 9P/VirtFS entries for the guest's `/etc/fstab` file.  First,\n  the VirtFS share has to be named, which is then followed by the\n  location where it should be mounted in the guest.  These are\n  separated by a `:`, visually:\n\n\t  share:/target/directory\n\n- `FIRMWARE_FILES` is to tell which exact firmware files to keep to\n  reduce further the size of the disk image.  It is optional, mostly\n  recommended in case of `iwlwifi`.\n\n- `SQUASHFS_COMP` configures the compression method used for building\n  the Squashfs file system.  By default, that is the rather\n  conservative `lzo` setting, but `lz4`, `gzip`, `xz`, and `zstd` are\n  also available.\n\nBesides these, it is considered that a directory named `guest` might\nbe present for holding further files and directories that shall be\nadded to the virtual disk image, under its root.\n\n## Documentation\n\nThere is a manual page available that describes how the guest can be\nused once installed.\n\n```console\n# man wifibox-alpine\n```\n\n[FreeBSD Wifibox]: https://github.com/pgj/freebsd-wifibox\n[Alpine Linux]: https://alpinelinux.org/\n[SquashFS Tools NG]: https://infraroot.at/projects/squashfs-tools-ng/\n[GNU Tar]: https://www.gnu.org/software/tar/\n[PatchELF]: https://github.com/NixOS/patchelf\n[Linuxulator]: https://docs.freebsd.org/en/books/handbook/linuxemu/\n[freebsd-wifibox-port]: https://github.com/pgj/freebsd-wifibox-port/\n[OpenRC]: https://github.com/OpenRC/openrc\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpgj%2Ffreebsd-wifibox-alpine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpgj%2Ffreebsd-wifibox-alpine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpgj%2Ffreebsd-wifibox-alpine/lists"}