{"id":13649063,"url":"https://github.com/elasticdog/packer-arch","last_synced_at":"2025-04-05T15:09:59.584Z","repository":{"id":10192726,"uuid":"12283003","full_name":"elasticdog/packer-arch","owner":"elasticdog","description":"packer.io template for building an Arch Linux base box","archived":false,"fork":false,"pushed_at":"2022-10-03T18:58:48.000Z","size":112,"stargazers_count":286,"open_issues_count":9,"forks_count":123,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-03-29T14:12:48.334Z","etag":null,"topics":["arch-linux","packer"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elasticdog.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}},"created_at":"2013-08-21T22:30:39.000Z","updated_at":"2024-11-28T04:42:20.000Z","dependencies_parsed_at":"2023-01-11T17:47:49.958Z","dependency_job_id":null,"html_url":"https://github.com/elasticdog/packer-arch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elasticdog%2Fpacker-arch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elasticdog%2Fpacker-arch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elasticdog%2Fpacker-arch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elasticdog%2Fpacker-arch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elasticdog","download_url":"https://codeload.github.com/elasticdog/packer-arch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247353749,"owners_count":20925329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["arch-linux","packer"],"created_at":"2024-08-02T01:04:44.680Z","updated_at":"2025-04-05T15:09:59.562Z","avatar_url":"https://github.com/elasticdog.png","language":"Shell","funding_links":[],"categories":["Shell","others"],"sub_categories":[],"readme":"Packer Arch\n===========\n\nPacker Arch is a bare bones [Packer](https://www.packer.io/) template and\ninstallation script that can be used to generate a [Vagrant](https://www.vagrantup.com/)\nbase box for [Arch Linux](https://www.archlinux.org/). The template works\nwith the default VirtualBox provider as well as with\n[VMware](https://www.vagrantup.com/vmware), [Parallels](https://github.com/Parallels/vagrant-parallels)\nand [libvirt](https://github.com/vagrant-libvirt/vagrant-libvirt) providers.\n\nOverview\n--------\n\nMy goal was to roughly duplicate the attributes from a\n[DigitalOcean](https://www.digitalocean.com/) Arch Linux droplet:\n\n* 64-bit\n* 20 GB disk\n* 512 MB memory\n* Only a single /root partition (ext4)\n* No swap\n* Includes the `base` meta package and `base-devel` group\n* OpenSSH is also installed and enabled on boot\n\nThe installation script follows the\n[official installation guide](https://wiki.archlinux.org/index.php/Installation_Guide)\npretty closely, with a few tweaks to ensure functionality within a VM. Beyond\nthat, the only customizations to the machine are related to the vagrant user\nand the steps recommended for any base box.\n\nUsage\n-----\n\n### VirtualBox Provider\n\nAssuming that you already have Packer,\n[VirtualBox](https://www.virtualbox.org/), and Vagrant installed, you\nshould be good to clone this repo and go:\n\n    $ git clone https://github.com/elasticdog/packer-arch.git\n    $ cd packer-arch/\n    $ packer build -only=virtualbox-iso arch-template.json\n\nThen you can import the generated box into Vagrant:\n\n    $ vagrant box add arch output/packer_arch_virtualbox.box\n\n### VMware Provider\n\nAssuming that you already have Packer,\n[VMware Fusion](https://www.vmware.com/products/fusion/) (or\n[VMware Workstation](https://www.vmware.com/products/workstation/)), and\nVagrant with the VMware provider installed, you should be good to clone\nthis repo and go:\n\n    $ git clone https://github.com/elasticdog/packer-arch.git\n    $ cd packer-arch/\n    $ packer build -only=vmware-iso arch-template.json\n\nThen you can import the generated box into Vagrant:\n\n    $ vagrant box add arch output/packer_arch_vmware.box\n\n### Parallels Provider\n\nAssuming that you already have Packer,\n[Parallels](http://www.parallels.com/), [Parallels SDK](http://www.parallels.com/eu/products/desktop/download/) and\nVagrant with the Parallels provider installed, you should be good to clone\nthis repo and go:\n\n    $ git clone https://github.com/elasticdog/packer-arch.git\n    $ cd packer-arch/\n    $ packer build -only=parallels-iso arch-template.json\n\nThen you can import the generated box into Vagrant:\n\n    $ vagrant box add arch output/packer_arch_parallels.box\n\n### libvirt Provider\n\nAssuming that you already have Packer, Vagrant with the\n[vagrant-libvirt](https://github.com/vagrant-libvirt/vagrant-libvirt)\nplugin installed, you should be good to clone\nthis repo and go:\n\n    $ git clone https://github.com/elasticdog/packer-arch.git\n    $ cd packer-arch/\n    $ packer build -only=qemu arch-template.json\n\nThen you can import the generated box into Vagrant:\n\n    $ vagrant box add arch output/packer_arch_libvirt.box\n\nNOTE: libvirt support is limited to QEMU/KVM only.\n\n### wrapacker\n\nFor convenience, there is a wrapper script named `wrapacker` that will run the\nappropriate `packer build` command for you that will also automatically ensure\nthe latest ISO download URL and optionally use a mirror from a provided country\ncode in order to build the final box.\n\n    $ wrapacker --country US --dry-run\n\nFor debugging purposes, execute:\n\n    $ PACKER_LOG=1 ./wrapacker --country=US --provider=virtualbox --on-error=ask --force\n\nSee the `--help` flag for additional details.\n\nKnown Issues\n------------\n\n### VMware Tools\n\nThe official VMware Tools do not currently support Arch Linux, and the\n[Open Virtual Machine Tools](https://github.com/vmware/open-vm-tools)\n(open-vm-tools) require extensive patching in order to compile correctly\nwith a Linux 3.11 series kernel. So for the time being, I have not\nincluded support for the tools.\n\nNo tools means that the shared folder feature will not work, and when you\nrun `vagrant up` to launch a VM based on the VMware box, you will see the\nfollowing error message:\n\n\u003e The HGFS kernel module was not found on the running virtual machine.\n\u003e This must be installed for shared folders to work properly. Please\n\u003e install the VMware tools within the guest and try again. Note that\n\u003e the VMware tools installation will succeed even if HGFS fails\n\u003e to properly install. Carefully read the output of the VMware tools\n\u003e installation to verify the HGFS kernel modules were installed properly.\n\nNote that _this issue does not apply to VirtualBox_, as their official\nguest additions work just fine.\n\n### Vagrant Provisioners\n\nThe box purposefully does not include Puppet, Chef or Ansible for automatic Vagrant\nprovisioning. My intention was to duplicate a DigitalOcean VPS and\nfurthermore use the VM for testing [Ansible](http://www.ansible.com/)\nplaybooks for configuration management.\n\nLicense\n-------\n\nPacker Arch is provided under the terms of the\n[ISC License](https://en.wikipedia.org/wiki/ISC_license).\n\nCopyright \u0026copy; 2013\u0026#8211;2017, [Aaron Bull Schaefer](mailto:aaron@elasticdog.com).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felasticdog%2Fpacker-arch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felasticdog%2Fpacker-arch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felasticdog%2Fpacker-arch/lists"}