Skip to content

Commit ac0fcbe

Browse files
committed
post: improve clarity and simplify Arch Linux ISO customization guide
1 parent 309adc6 commit ac0fcbe

File tree

1 file changed

+55
-185
lines changed
  • Linux/Distribution/Archlinux/Archlinux-build-your-own-kernel-archlinux_iso

1 file changed

+55
-185
lines changed

Linux/Distribution/Archlinux/Archlinux-build-your-own-kernel-archlinux_iso/index.md

Lines changed: 55 additions & 185 deletions
Original file line numberDiff line numberDiff line change
@@ -5,248 +5,118 @@ description: "Explore the process of creating a personalized Arch Linux ISO usin
55
tags: ["Arch Linux"]
66
date: 2023-08-27T18:54:30+0800
77
thumbnail: https://opengraph.githubassets.com/0cb167023d20d8a4151b99b82aee96c66944008f8328ecc071a7a1b39bfa2263/archlinux/archiso
8-
lastmod: 2023-12-10T19:45:20+0800
8+
lastmod: 2025-02-04T14:59:40+0800
99
---
1010

1111
## What is Archiso?
1212

13-
Archiso is the official tool used to build the Arch Linux live CD/USB ISO images. It's a versatile utility that allows you to construct bootable ISO images that can be used for various purposes, from system recovery to creating your own personalized Arch Linux distribution.
13+
Archiso is the official tool used to build the Arch Linux live CD/USB ISO images. It's a versatile utility that allows you to construct bootable ISO images that can be used for various purposes, from system recovery to creating your own personalized Arch Linux distribution or even your own Arch based Distribution.
1414

1515
## Why Archiso?
1616

1717
Have you ever wanted to create your own custom Arch Linux ISO image, tailored to your specific needs and preferences? With Archiso, a powerful and highly customizable tool, you can do just that. Whether you're building a rescue system, a Linux installer, or a specialized distribution, Archiso provides the framework to create ISO images that perfectly suit your requirements.
1818

19-
## Install Archiso
19+
### Install Archiso
2020

21-
To start using Archiso, you need to install the package first. Here's how you can do it:
21+
To start using Archiso, you need to install the package first.
2222

23-
1. **Install Archiso:**
24-
25-
Begin by installing the Archiso package using the package manager of your choice. Open a terminal and enter the following command:
26-
27-
```shell
28-
sudo pacman -S archiso
29-
```
30-
31-
This command installs Archiso on your system, giving you access to the tools you need for creating your custom Arch Linux ISO.
32-
33-
### 1. Customize Your ISO
34-
35-
Creating a personalized Arch Linux ISO begins with Archiso installed on your system. This versatile tool allows you to construct bootable ISO images tailored to your preferences and requirements. Here are the initial steps to get you started on crafting your own custom Arch Linux ISO:
36-
37-
1. **Create a Working Directory:**
38-
39-
Begin by opening your terminal and creating a dedicated directory where you'll carry out the customization process:
40-
41-
```shell
42-
mkdir archlive
43-
```
44-
45-
2. **Copy Archiso Configuration Files:**
46-
47-
Archiso provides a range of configuration profiles that serve as solid starting points for crafting your own ISO. Copy the default `releng` profile files into your working directory:
48-
49-
```shell
50-
cp -r /usr/share/archiso/configs/releng/ archlive
51-
```
52-
53-
3. **Customize Packages:**
54-
55-
Open the `packages.x86_64` file using a text editor such as `nano` to define the packages you want to include by default:
56-
57-
```shell
58-
nvim archlive/releng/packages.x86_64
59-
```
60-
61-
Edit the list of packages to align with your ISO's intended purpose. Whether you require specific tools, applications, or libraries, you can curate the package list to create an environment tailored to your needs.
62-
63-
### 2. Build Your Custom Arch Linux ISO
64-
65-
After refining your custom Arch Linux environment, it's time to transform it into a final product—an Arch Linux ISO that encapsulates your modifications and configurations. The following steps outline how to build your custom ISO using the `mkarchiso` tool:
23+
```shell
24+
sudo pacman -S archiso
25+
```
6626

67-
1. **Create an Output Directory:**
27+
### Create Working Directory
6828

69-
To accommodate the generated ISO image, establish a fresh directory named "output" using the command:
29+
You will need a working directory to store your customizations and configurations. Create a dedicated directory where you'll carry out the customization process:
7030

71-
```shell
72-
mkdir output
73-
```
31+
```shell
32+
mkdir archlive
33+
```
7434

75-
2. **Create a Work Directory:**
35+
### Copy Your Configuration Files
7636

77-
After a successful build, your current directory can become cluttered with various files and outputs. To maintain a clean workspace, it's recommended to create a dedicated work directory. This directory will house your project files and outputs:
37+
To create a custom Arch Linux ISO, you'll need to copy the configuration files from the `/usr/share/archiso/configs/releng/` directory to your working directory. These files serve as the foundation for your custom ISO and contain essential settings and configurations. So that why you will need one arch linux system to copy the configuration files.
7838

79-
```shell
80-
mkdir work
81-
```
39+
```shell
40+
cp -r /usr/share/archiso/configs/releng/ archlive
41+
```
8242

83-
3. **Navigate to the directory:**
43+
### Building Arch Linux ISO
8444

85-
```shell
86-
cd archlive
87-
```
45+
You can now start building your custom Arch Linux ISO by running the `mkarchiso` command. This command will generate the ISO image based on the configurations and settings you've defined in the `releng` directory.
8846

89-
### 3. Initiate the ISO Build Process
47+
To build your own Arch Linux ISO, create an `output` directory for the final image and a `work` directory for temporary files, then run `mkarchiso -v -o output work`, and if you need to rebuild, just delete the `work` directory and start the process again.
9048

91-
With your customizations in place, it's time to bring your custom Arch Linux ISO to life. You'll utilize the `mkarchiso` command to create the ISO based on the `releng` profile. This command comes with a set of options that dictate the build process:
49+
```shell
50+
cd archlive
51+
mkdir output work
52+
```
9253

93-
>**Tip:** You don't need to manually create the "output" or "work" directories. The `mkarchiso` command will handle that for you, so you can focus on the customization process without the need for additional directory setup.
54+
And now you can start building the ISO by using the `mkarchiso` command.
9455

9556
```shell
9657
sudo mkarchiso -v -w work -o output releng
9758
```
9859

99-
Here's what each part of the command accomplishes:
100-
101-
- `-v`: Enables verbose output, providing you with detailed progress updates during the build process.
102-
- `-w work`: Specifies the working directory. This is where the magic happens, and it ensures that your customizations are applied correctly to the ISO.
103-
- `-o output`: Specifies the output directory for the resulting ISO image. This is where the final ISO will be stored once the build process is complete.
104-
- `releng`: Refers to the profile used for ISO creation. This profile incorporates default configurations optimized for shaping a release ISO.
105-
106-
4. **Monitor the Build Progress:**
60+
### Monitor the Build Progress
10761

108-
During the ISO creation journey, you'll observe progress messages illuminating the various stages completed. These encompass tasks such as installing packages and copying files.
62+
During the ISO creation process, you'll see various messages indicating the progress of the build. These messages provide insights into the different stages being completed, such as package installation, file copying, and ISO generation.
10963

110-
5. **Completion and Success:**
64+
The result will be like:
11165

112-
As the build process wraps up, you'll be met with a message confirming the triumph of ISO creation. The message could resemble the following:
113-
114-
```shell
115-
Written to medium : 408230 sectors at LBA 0
116-
Writing to 'stdio:/home/username/your/path/here/archlive/output/archlinux-2023.08.27-x86_64.iso' completed successfully.
117-
[mkarchiso] INFO: Done!
118-
798M /home/username/your/path/here/archlive/output/archlinux-2023.08.27-x86_64.iso
119-
```
120-
121-
### 3. Test Your Custom ISO
122-
123-
Congratulations on successfully crafting your custom Arch Linux ISO! The next step is to test your creation to ensure that it functions as intended. This testing phase allows you to identify any issues or discrepancies that may arise when booting the ISO on various systems. To facilitate this testing, you'll need to use the QEMU program along with the `qemu-desktop` package and the `edk2-ovmf` package for UEFI support (Firmware for Virtual Machines). Here's how to set up and perform the testing:
66+
```shell
67+
Written to medium : 408230 sectors at LBA 0
68+
Writing to 'stdio:/home/username/your/path/here/archlive/output/archlinux-2023.08.27-x86_64.iso' completed successfully.
69+
[mkarchiso] INFO: Done!
70+
798M /home/username/your/path/here/archlive/output/archlinux-2023.08.27-x86_64.iso
71+
```
12472

125-
#### Install Required Packages
73+
### Testing Your Custom Arch Linux ISO
12674

127-
Before you start testing, you need to install the necessary packages for QEMU and UEFI support:
75+
The next step is to test your creation to ensure that it functions as intended. This testing phase allows you to identify any issues or discrepancies that may arise when booting the ISO on various systems. To facilitate this testing, you'll need to use the QEMU program along with the `qemu-desktop` package and the `edk2-ovmf` package for UEFI support (Firmware for Virtual Machines). install the required packages by executing the following command:
12876

129-
1. Install the `qemu-desktop` package and the `edk2-ovmf` package by executing the following command:
77+
The testing environment can be form BIOS to UEFI mode, so you can test your ISO in both modes. To test your custom Arch Linux ISO in UEFI mode, follow these steps:
13078

131-
```shell
132-
sudo pacman -S qemu-desktop edk2-ovmf
133-
```
79+
```shell
80+
sudo pacman -S qemu-desktop edk2-ovmf
81+
```
13482

13583
#### UEFI Mode Testing
13684

137-
For testing your ISO on a UEFI-based system, follow these steps:
138-
139-
1. Run the following command, replacing `archlinux-2023.08.27-x86_64.iso` with the actual filename of your custom ISO:
85+
To test your custom Arch Linux ISO in UEFI mode, use the following command:
14086

141-
```shell
142-
run_archiso -u -i archlinux-2023.08.27-x86_64.iso
143-
```
144-
145-
This command launches the Archiso environment in UEFI mode using the specified ISO.
146-
147-
2. Observe the boot process and interact with the live environment to ensure that everything is working as expected. Test various functionalities, applications, and configurations.
148-
149-
Your terminal output should resemble the following:
87+
```shell
88+
run_archiso -u -i archlinux-2023.08.27-x86_64.iso
89+
```
15090

15191
![UEFI Mode](./UEFI_test.png)
15292

15393
#### BIOS (Non-UEFI) Mode Testing
15494

155-
For testing on systems that use BIOS (non-UEFI), follow these instructions:
156-
157-
1. Run the following command, replacing `archlinux-2023.08.27-x86_64.iso` with the actual filename of your custom ISO:
95+
To test your custom Arch Linux ISO in BIOS mode, use the following command:
15896

159-
```shell
160-
run_archiso -i archlinux-2023.08.27-x86_64.iso
161-
```
162-
163-
This command initiates the Archiso environment in BIOS mode using the provided ISO.
164-
165-
3. Carefully observe the boot process and interact with the live environment to verify its functionality and behavior. Test different features, applications, and customizations.
166-
167-
Your terminal output should resemble the following:
97+
```shell
98+
run_archiso -i archlinux-2023.08.27-x86_64.iso
99+
```
168100

169101
![BIOS Mode](./BIOS_test.png)
170102

171-
#### Test and Validate
172-
173-
While testing, pay attention to the following aspects:
174-
175-
- Booting: Ensure that the ISO boots properly in both UEFI and BIOS modes.
176-
- Graphical Environment: Check if the graphical environment loads correctly and displays properly.
177-
- Applications: Test various pre-installed applications to confirm their functionality.
178-
- Hardware Compatibility: Verify that hardware components such as networking, sound, and graphics work seamlessly.
179-
- Customizations: Confirm that any customizations you made to the ISO are accurately reflected.
180-
181-
By thoroughly testing your custom Arch Linux ISO using QEMU, you can address any potential issues before distributing it to others or using it for your intended purposes.
182-
183-
### [Optional]: Rebuild Your ISO and Periodically Update Configuration
184-
185-
To rebuild the Arch Linux ISO and keep it aligned with the latest changes in the official Arch Linux installation media, follow these steps:
186-
187-
1. **Delete the "work" Directory:**
188-
189-
Begin by removing the "work" directory, which contains temporary files used during the ISO creation process. This step ensures a clean slate for your next build:
190-
191-
```shell
192-
sudo rm -rfv work
193-
```
194103

195-
2. **Update Your System:**
104+
### Customizing Your Arch Linux ISO Packages
196105

197-
Before updating the ISO, update your local system to have the latest package information:
106+
One of the key benefits of creating a custom Arch Linux ISO is the ability to include specific packages that align with your needs and preferences. You can customize the list of packages included in your ISO by editing the `packages.x86_64` file located in the `releng` directory. This file contains a list of packages that will be installed on the ISO image.
198107

199-
```shell
200-
sudo pacman -Syuv
201-
```
202-
203-
3. **Update Configuration Files:**
204-
205-
Navigate to your "archlive" directory where you've copied the configuration files from `/usr/share/archiso/configs/releng/`. Use the following command to copy the latest configuration files from the official Arch Linux installation media:
206-
207-
```shell
208-
sudo cp -r /usr/share/archiso/configs/releng/ archlive
209-
```
210-
211-
This step ensures that your custom ISO's configurations are up-to-date.
212-
213-
4. **Initiate the ISO Build Process:**
214-
215-
With a fresh configuration and updated system information, initiate the ISO build process as before. The `mkarchiso` command will handle directory creation for you:
216-
217-
```shell
218-
sudo mkarchiso -v -w work -o output releng
219-
```
220-
221-
5. **Monitor the Build Progress:**
222-
223-
During the ISO creation journey, you'll witness progress messages detailing the various stages being completed.
224-
225-
6. **Completion and Success:**
226-
227-
Once the build process concludes, you'll receive a message indicating the success of the ISO creation. The message might resemble the following:
228-
229-
```shell
230-
Written to medium : 408230 sectors at LBA 0
231-
Writing to 'stdio:/home/username/your/path/here/archlive/output/archlinux-2023.08.27-x86_64.iso' completed successfully.
232-
[mkarchiso] INFO: Done!
233-
798M /home/username/your/path/here/archlive/output/archlinux-2023.08.27-x86_64.iso
234-
```
235-
236-
By periodically updating the configuration files in your "archlive" directory, you ensure that your custom Arch Linux ISO remains current and consistent with the latest changes made to the official Arch Linux system. This practice helps provide users with an up-to-date experience when using your custom ISO.
108+
```shell
109+
nvim releng/packages.x86_64
110+
```
237111

238112
## Conclusion
239113

240114
In this guide, you've learned how to build your own custom Arch Linux ISO using the powerful `mkarchiso` tool. By following the steps outlined in this tutorial, you've gained the ability to create an ISO image that perfectly aligns with your needs and preferences. This process empowers you to customize the Arch Linux experience to a level that the official ISOs might not offer.
241115

242-
By creating a working directory, copying the Archiso configuration files, and customizing the list of packages, you've set the foundation for your custom Arch Linux environment. The `mkarchiso` command then allows you to bring your customizations to life, building an ISO image that encapsulates all your modifications and configurations.
243-
244-
One of the key advantages of creating a custom ISO is the flexibility to install additional packages, including desktop environments. While the official Arch Linux ISOs provide a minimal environment, your custom ISO can include a desktop environment of your choice, giving you a more user-friendly and feature-rich system.
245-
246-
With your own custom Arch Linux ISO in hand, you have the power to deploy a personalized distribution that reflects your workflow and preferences. Whether you're creating a rescue system, a Linux installer, or a specialized distribution, the possibilities are endless. So go ahead, happy customizing your Arch Linux ISO!
116+
This also is a great way to start creating your very own Arch-based distribution, tailored to your specific requirements. Whether you're building a specialized system, a rescue disk, or a Linux installer, Archiso provides the flexibility and control you need to create a custom Arch Linux ISO that meets your unique needs.
247117

248118
## Resources
249119

250120
- [Archiso](https://wiki.archlinux.org/title/archiso)
251121
- [Arch Linux: Create Your Own Installer](https://www.youtube.com/watch?v=-yPhW5o1hNM)
252-
- [Build Your Own Distro With Archiso](https://www.youtube.com/watch?v=tSGGBbJBgvk)
122+
- [Build Your Own Distro With Archiso](https://www.youtube.com/watch?v=tSGGBbJBgvk)

0 commit comments

Comments
 (0)