https://wiki.archlinux.org/api.php?action=feedcontributions&user=SHyLoCk&feedformat=atomArchWiki - User contributions [en]2024-03-29T08:01:03ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Dell_Inspiron_1564&diff=104427Dell Inspiron 15642010-04-22T15:57:03Z<p>SHyLoCk: /* Hardware Details */</p>
<hr />
<div>[[Category:Dell (English)]]<br />
This is a page about my experiences on a Dell Inspiron 1564.<br />
<br />
= System Specs =<br />
There are several configurations of this machine. It runs both x86_64 and i686. Mine is as follows:<br />
<br />
'''CPU:''' Intel® CoreTM i5 520M (2x2.4GHz, 32nm, 3MB L3, Turbo to 2.83GHz, 35W)<br />
<br />
'''Chipset:''' Intel® GMA<br />
<br />
'''RAM:''' 4GB 1066MHz DDR3 SDRAM<br />
<br />
'''Disk:''' 320GB 5400RPM HDD<br />
<br />
'''LCD:''' 15.6" High Definition (720p) WLED Display with TrueLifeTM <br />
<br />
'''Video:''' 512 MB ATI Mobility Radeon HD 4330<br />
<br />
'''WLAN:''' <strike>Dell 1397 Mini (a/b/g) (Broadcom BCM4312 chipset)</strike> '''Upgraded with Intel 5100 a/b/g/n'''<br />
<br />
'''Camera:''' 1.3MP Integrated Webcam with Integrated Microphone<br />
<br />
'''Wi-fi:''' Dell Wireless 1397 802.11g Mini-Card / Dell Wireless 1520 Wireless-N Mini-Card<br />
<br />
= Hardware Details =<br />
<br />
lspci output:<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 12)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 12)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 06)<br />
02:00.0 VGA compatible controller: ATI Technologies Inc M92 LP [Mobility Radeon HD 4300 Series]<br />
02:00.1 Audio device: ATI Technologies Inc RV710/730<br />
04:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)<br />
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02) <br />
<br />
lsusb output:<br />
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub<br />
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
Bus 001 Device 008: ID 413c:8162 Dell Computer Corp. <br />
Bus 001 Device 007: ID 413c:8161 Dell Computer Corp. <br />
Bus 001 Device 006: ID 0c45:6480 Microdia <br />
Bus 001 Device 005: ID 0bda:0158 Realtek Semiconductor Corp. Mass Storage Device<br />
Bus 001 Device 003: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)<br />
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub<br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
= What Works =<br />
<br />
CPU frequency scaling<br />
<br />
Function keys<br />
<br />
Using the xf86-video-ati-git driver in AUR (other drivers aren't tested) the following works:<br />
<br />
Suspend and hibernate<br />
<br />
3D acceleration<br />
<br />
Smooth video playback<br />
<br />
= What Doesn't Work =<br />
<br />
Some windows are "blacked out" sometimes. (See http://bbs.archlinux.org/viewtopic.php?id=90392)<br />
<br />
Some 3D features<br />
<br />
= What's Not Tested =<br />
<br />
<strike> Bluetooth </strike> '''Works fine'''! Tested with [http://www.motorola.com/motoinfo/product/details.jsp?globalObjectId=200 Motorola Razr2 V8] and [http://accessories.us.dell.com/sna/productdetail.aspx?c=us&l=en&s=gen&sku=310-9157 Dell Travel Mouse]<br />
<br />
HDMI <br />
<br />
Card Reader</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_1564&diff=104405Dell Inspiron 15642010-04-22T09:05:56Z<p>SHyLoCk: /* What's Not Tested */</p>
<hr />
<div>[[Category:Dell (English)]]<br />
This is a page about my experiences on a Dell Inspiron 1564.<br />
<br />
= System Specs =<br />
There are several configurations of this machine. It runs both x86_64 and i686. Mine is as follows:<br />
<br />
'''CPU:''' Intel® CoreTM i5 520M (2x2.4GHz, 32nm, 3MB L3, Turbo to 2.83GHz, 35W)<br />
<br />
'''Chipset:''' Intel® GMA<br />
<br />
'''RAM:''' 4GB 1066MHz DDR3 SDRAM<br />
<br />
'''Disk:''' 320GB 5400RPM HDD<br />
<br />
'''LCD:''' 15.6" High Definition (720p) WLED Display with TrueLifeTM <br />
<br />
'''Video:''' 512 MB ATI Mobility Radeon HD 4330<br />
<br />
'''WLAN:''' <strike>Dell 1397 Mini (a/b/g) (Broadcom BCM4312 chipset)</strike> '''Upgraded with Intel 5100 a/b/g/n'''<br />
<br />
'''Camera:''' 1.3MP Integrated Webcam with Integrated Microphone<br />
<br />
'''Wi-fi:''' Dell Wireless 1397 802.11g Mini-Card / Dell Wireless 1520 Wireless-N Mini-Card<br />
<br />
= Hardware Details =<br />
<br />
lspci output:<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 12)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 12)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
02:00.0 VGA compatible controller: ATI Technologies Inc M92 LP [Mobility Radeon HD 4300 Series]<br />
02:00.1 Audio device: ATI Technologies Inc RV710/730<br />
04:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)<br />
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)<br />
lsusb output:<br />
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub<br />
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
Bus 001 Device 008: ID 413c:8162 Dell Computer Corp. <br />
Bus 001 Device 007: ID 413c:8161 Dell Computer Corp. <br />
Bus 001 Device 006: ID 0c45:6480 Microdia <br />
Bus 001 Device 005: ID 0bda:0158 Realtek Semiconductor Corp. Mass Storage Device<br />
Bus 001 Device 003: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)<br />
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub<br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
= What Works =<br />
<br />
CPU frequency scaling<br />
<br />
Function keys<br />
<br />
Using the xf86-video-ati-git driver in AUR (other drivers aren't tested) the following works:<br />
<br />
Suspend and hibernate<br />
<br />
3D acceleration<br />
<br />
Smooth video playback<br />
<br />
= What Doesn't Work =<br />
<br />
Some windows are "blacked out" sometimes. (See http://bbs.archlinux.org/viewtopic.php?id=90392)<br />
<br />
Some 3D features<br />
<br />
= What's Not Tested =<br />
<br />
<strike> Bluetooth </strike> '''Works fine'''! Tested with [http://www.motorola.com/motoinfo/product/details.jsp?globalObjectId=200 Motorola Razr2 V8] and [http://accessories.us.dell.com/sna/productdetail.aspx?c=us&l=en&s=gen&sku=310-9157 Dell Travel Mouse]<br />
<br />
HDMI <br />
<br />
Card Reader</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_1564&diff=104400Dell Inspiron 15642010-04-22T08:58:28Z<p>SHyLoCk: </p>
<hr />
<div>[[Category:Dell (English)]]<br />
This is a page about my experiences on a Dell Inspiron 1564.<br />
<br />
= System Specs =<br />
There are several configurations of this machine. It runs both x86_64 and i686. Mine is as follows:<br />
<br />
'''CPU:''' Intel® CoreTM i5 520M (2x2.4GHz, 32nm, 3MB L3, Turbo to 2.83GHz, 35W)<br />
<br />
'''Chipset:''' Intel® GMA<br />
<br />
'''RAM:''' 4GB 1066MHz DDR3 SDRAM<br />
<br />
'''Disk:''' 320GB 5400RPM HDD<br />
<br />
'''LCD:''' 15.6" High Definition (720p) WLED Display with TrueLifeTM <br />
<br />
'''Video:''' 512 MB ATI Mobility Radeon HD 4330<br />
<br />
'''WLAN:''' <strike>Dell 1397 Mini (a/b/g) (Broadcom BCM4312 chipset)</strike> '''Upgraded with Intel 5100 a/b/g/n'''<br />
<br />
'''Camera:''' 1.3MP Integrated Webcam with Integrated Microphone<br />
<br />
'''Wi-fi:''' Dell Wireless 1397 802.11g Mini-Card / Dell Wireless 1520 Wireless-N Mini-Card<br />
<br />
= Hardware Details =<br />
<br />
lspci output:<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 12)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 12)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
02:00.0 VGA compatible controller: ATI Technologies Inc M92 LP [Mobility Radeon HD 4300 Series]<br />
02:00.1 Audio device: ATI Technologies Inc RV710/730<br />
04:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)<br />
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)<br />
lsusb output:<br />
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub<br />
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
Bus 001 Device 008: ID 413c:8162 Dell Computer Corp. <br />
Bus 001 Device 007: ID 413c:8161 Dell Computer Corp. <br />
Bus 001 Device 006: ID 0c45:6480 Microdia <br />
Bus 001 Device 005: ID 0bda:0158 Realtek Semiconductor Corp. Mass Storage Device<br />
Bus 001 Device 003: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)<br />
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub<br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
= What Works =<br />
<br />
CPU frequency scaling<br />
<br />
Function keys<br />
<br />
Using the xf86-video-ati-git driver in AUR (other drivers aren't tested) the following works:<br />
<br />
Suspend and hibernate<br />
<br />
3D acceleration<br />
<br />
Smooth video playback<br />
<br />
= What Doesn't Work =<br />
<br />
Some windows are "blacked out" sometimes. (See http://bbs.archlinux.org/viewtopic.php?id=90392)<br />
<br />
Some 3D features<br />
<br />
= What's Not Tested =<br />
<br />
Bluetooth<br />
<br />
HDMI<br />
<br />
Card Reader</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_1564&diff=104399Dell Inspiron 15642010-04-22T08:57:55Z<p>SHyLoCk: /* System Specs */</p>
<hr />
<div>[[Category:Dell (English)]]<br />
This is a page about my experiences on a Dell Inspiron 1564, using Arch i686.<br />
<br />
= System Specs =<br />
There are several configurations of this machine. It runs both x86_64 and i686. Mine is as follows:<br />
<br />
'''CPU:''' Intel® CoreTM i5 520M (2x2.4GHz, 32nm, 3MB L3, Turbo to 2.83GHz, 35W)<br />
<br />
'''Chipset:''' Intel® GMA<br />
<br />
'''RAM:''' 4GB 1066MHz DDR3 SDRAM<br />
<br />
'''Disk:''' 320GB 5400RPM HDD<br />
<br />
'''LCD:''' 15.6" High Definition (720p) WLED Display with TrueLifeTM <br />
<br />
'''Video:''' 512 MB ATI Mobility Radeon HD 4330<br />
<br />
'''WLAN:''' <strike>Dell 1397 Mini (a/b/g) (Broadcom BCM4312 chipset)</strike> '''Upgraded with Intel 5100 a/b/g/n'''<br />
<br />
'''Camera:''' 1.3MP Integrated Webcam with Integrated Microphone<br />
<br />
'''Wi-fi:''' Dell Wireless 1397 802.11g Mini-Card / Dell Wireless 1520 Wireless-N Mini-Card<br />
<br />
= Hardware Details =<br />
<br />
lspci output:<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 12)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 12)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
02:00.0 VGA compatible controller: ATI Technologies Inc M92 LP [Mobility Radeon HD 4300 Series]<br />
02:00.1 Audio device: ATI Technologies Inc RV710/730<br />
04:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)<br />
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)<br />
lsusb output:<br />
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub<br />
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
Bus 001 Device 008: ID 413c:8162 Dell Computer Corp. <br />
Bus 001 Device 007: ID 413c:8161 Dell Computer Corp. <br />
Bus 001 Device 006: ID 0c45:6480 Microdia <br />
Bus 001 Device 005: ID 0bda:0158 Realtek Semiconductor Corp. Mass Storage Device<br />
Bus 001 Device 003: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)<br />
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub<br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
= What Works =<br />
<br />
CPU frequency scaling<br />
<br />
Function keys<br />
<br />
Using the xf86-video-ati-git driver in AUR (other drivers aren't tested) the following works:<br />
<br />
Suspend and hibernate<br />
<br />
3D acceleration<br />
<br />
Smooth video playback<br />
<br />
= What Doesn't Work =<br />
<br />
Some windows are "blacked out" sometimes. (See http://bbs.archlinux.org/viewtopic.php?id=90392)<br />
<br />
Some 3D features<br />
<br />
= What's Not Tested =<br />
<br />
Bluetooth<br />
<br />
HDMI<br />
<br />
Card Reader</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Dell_Inspiron_1564&diff=104397Dell Inspiron 15642010-04-22T08:56:23Z<p>SHyLoCk: /* System Specs */</p>
<hr />
<div>[[Category:Dell (English)]]<br />
This is a page about my experiences on a Dell Inspiron 1564, using Arch i686.<br />
<br />
= System Specs =<br />
There are several configurations of this machine. Mine is as follows:<br />
<br />
'''CPU:''' Intel® CoreTM i5 520M (2x2.4GHz, 32nm, 3MB L3, Turbo to 2.83GHz, 35W)<br />
<br />
'''Chipset:''' Intel® GMA<br />
<br />
'''RAM:''' 4GB 1066MHz DDR3 SDRAM<br />
<br />
'''Disk:''' 320GB 5400RPM HDD<br />
<br />
'''LCD:''' 15.6" High Definition (720p) WLED Display with TrueLifeTM <br />
<br />
'''Video:''' 512 MB ATI Mobility Radeon HD 4330<br />
<br />
'''WLAN:''' <strike>Dell 1397 Mini (a/b/g) (Broadcom BCM4312 chipset)</strike> '''Upgraded with Intel 5100 a/b/g/n'''<br />
<br />
'''Camera:''' 1.3MP Integrated Webcam with Integrated Microphone<br />
<br />
'''Wi-fi:''' Dell Wireless 1397 802.11g Mini-Card / Dell Wireless 1520 Wireless-N Mini-Card<br />
<br />
= Hardware Details =<br />
<br />
lspci output:<br />
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 12)<br />
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 12)<br />
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)<br />
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)<br />
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)<br />
00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)<br />
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)<br />
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)<br />
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)<br />
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)<br />
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 06)<br />
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)<br />
02:00.0 VGA compatible controller: ATI Technologies Inc M92 LP [Mobility Radeon HD 4300 Series]<br />
02:00.1 Audio device: ATI Technologies Inc RV710/730<br />
04:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)<br />
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)<br />
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 02)<br />
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 02)<br />
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 02)<br />
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 02)<br />
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 02)<br />
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 02)<br />
lsusb output:<br />
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub<br />
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
Bus 001 Device 008: ID 413c:8162 Dell Computer Corp. <br />
Bus 001 Device 007: ID 413c:8161 Dell Computer Corp. <br />
Bus 001 Device 006: ID 0c45:6480 Microdia <br />
Bus 001 Device 005: ID 0bda:0158 Realtek Semiconductor Corp. Mass Storage Device<br />
Bus 001 Device 003: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)<br />
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub<br />
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<br />
<br />
= What Works =<br />
<br />
CPU frequency scaling<br />
<br />
Function keys<br />
<br />
Using the xf86-video-ati-git driver in AUR (other drivers aren't tested) the following works:<br />
<br />
Suspend and hibernate<br />
<br />
3D acceleration<br />
<br />
Smooth video playback<br />
<br />
= What Doesn't Work =<br />
<br />
Some windows are "blacked out" sometimes. (See http://bbs.archlinux.org/viewtopic.php?id=90392)<br />
<br />
Some 3D features<br />
<br />
= What's Not Tested =<br />
<br />
Bluetooth<br />
<br />
HDMI<br />
<br />
Card Reader</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Arch_Based_Distributions&diff=98621Arch Based Distributions2010-03-01T16:15:01Z<p>SHyLoCk: /* ArchBang */</p>
<hr />
<div>[[Category:About Arch (English)]][[Category:General (English)]]<br />
== Active Distributions ==<br />
<br />
=== ArchBang ===<br />
<br />
ArchBang[http://wiki.archlinux.org/index.php/ArchBang] LIVE CD = Arch Linux w/ OpenBox (inspired from #!) so ArchBang!!!<br />
<br />
*Forums: http://bbs.archlinux.org/viewtopic.php?id=89627<br />
*External Links: http://pdg86.wordpress.com/2010/02/02/release-archbang-1-03/<br />
*Screenshot: http://omploader.org/vM2g3ZA<br />
<br />
An installer is now available with version 2.00 onwards.<br />
<br />
=== Arch Linux Mobile ===<br />
<br />
Arch Linux Mobile provides an ARM optimised port to run on the OpenMoko Freerunner, an open-source smartphone. It is currently undergoing early but active development.<br />
<br />
*Homepage: http://www.archmobile.org/<br />
*Forums: http://bbs.archlinux.org/viewforum.php?id=35<br />
*Documentation: http://www.archmobile.org/trac/wiki<br />
*Screenshots: http://archmobile.org/trac/wiki/AFR/SuccessStories<br />
*DistroWatch Entry:<br />
<br />
=== ArchLinux PPC ===<br />
<br />
''"The goal of the Archlinux PPC porting project is to make our favourite distribution, Arch Linux, available for the PPC architecture. Our strong community is diverse and helpful, and we pride ourselves on the range of skillsets and uses for Arch that stem from it. Please check out the forums and mailing list to get your feet wet. Also glance through the wiki if you want to learn more about Arch."''<br><br />
:<small>Source: [http://archlinuxppc.org/ Arch Linux PPC]</small><br />
<br />
*Homepage: http://archlinuxppc.org/<br />
*Forums: http://bbs.archlinux.org/<br />
*Documentation: http://wiki.archlinux.org/index.php/Main_Page<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== ArchPwn ===<br />
<br />
ArchPwn is a security based Linux Live CD/DVD system that aims to be a fully working swiss army knife for pentesting purpose. It is based on the Arch Linux distribution, and follows the Arch philosophy. It keeps the original system intact, and creates on top of it a package repository with all tools that a pentester needs.<br />
<br />
*Homepage: http://www.archpwn.org/index.php/Main_Page<br />
*Forums: <br />
*Documentation: http://www.archpwn.org/index.php/Main_Page<br />
*Screenshots: http://www.archpwn.org/index.php/Screenshots<br />
*DistroWatch Entry:<br />
<br />
=== ArchServer ===<br />
<br />
ArchServer is a derivative work of Arch Linux designed to be more stable in order to be suitable for server use.<br />
<br />
*Homepage: http://www.archserver.org<br />
*Forums: http://bbs.archserver.org<br />
*Documentation: http://docs.archserver.org<br />
*Screenshots: TBA<br />
*DistroWatch Entry: TBA<br />
<br />
=== archboot ===<br />
<br />
Archboot is designed for installation or rescue operations. It provides both the i686 and x86_64 architectures on one CD. It uses hwdetect and a different install script from the official Arch Linux install images. It runs in RAM using iniramfs, without any special filesystems like squashfs,<br />
thus it is limited to the RAM which is installed in your system.<br />
<br />
*Homepage: http://projects.archlinux.org/?p=archboot.git;a=summary<br />
*Forums: http://bbs.archlinux.org/<br />
*Documentation: ftp://ftp.archlinux.org/iso/archboot/Readme.txt<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== archlive ===<br />
<br />
Archlive is a Simple-Chinese live system based on Arch GNU/Linux. It is distinct from the Arch Live! distribution, adding Chinese language software and packages, but it is based upon Arch Live!<br />
<br />
*Homepage: http://code.google.com/p/archlive/<br />
*Forums: http://bbs.linuxeye.cn/forum-70-1.html<br />
*Documentation: http://code.google.com/p/archlive/w/list<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== Chakra ===<br />
<br />
"''Our goal with Chakra is to provide an operating system for desktops that is easy to use, but still has all the functionality, clarity, power and speediness of a KISS operating system. In the long term, we want to build an operating system based on Arch Linux that meets most requirements desktop users have today, like easy installation of software, graphical system administration, configuring power management on mobile devices, or sharing an internet connection.''"<br><br />
:<small>Source: [http://chakra-project.org/about.html The Chakra Project - About]</small><br />
<br />
The creators of the [[KDEmod]] project have created Chakra, based on Arch and KDEMod (of course). Tools like [http://chakra-project.org/tools-shaman.html Shaman] and [http://chakra-project.org/tools-arxin.html Arxin] show the gradual shift towards a more graphical UI oriented Arch derivative. Nonetheless, the project maintains the KISS principle of Arch, even though the [http://chakra-project.org/tools-tribe.html Tribe installer] on the Live CD provides more of the 'you don't have to know what's inside' philosophy. The installed system however is a pure Arch Linux + KDE4 + Shaman, with some artistic touches.<br />
<br />
*Homepage: http://chakra-project.org/<br />
*Forums: http://chakra-project.org/bbs/<br />
*Documentation: http://chakra-project.org/wiki/index.php/Main_Page<br />
*Screenshots: http://chakra-project.org/about-screenshots.html<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=chakra<br />
<br />
=== Chaox ===<br />
<br />
''"Chaox is a live environment based on Arch Linux focusing on pentesting and forensics. We feature current snapshots of aircrack-ng, the dedected toolkit and forensic applications such as testdisk or foremost, along with the usual tools."''<br><br />
:<small>Source: [http://blag.chaox.net/ chaox]</small><br />
*Homepage: http://blag.chaox.net/<br />
*Forums: http://forum.aircrack-ng.org/index.php?board=23.0<br />
*Documentation: <br />
*Screenshots: http://blag.chaox.net/screenshots/<br />
*DistroWatch Entry:<br />
<br />
=== CTKarchLive ===<br />
<br />
''"Un seul mot d'ordre : simple & léger. (et complet, dans la mesure du possible)<br />
Il est désormais installable !"''<br><br />
:<small>Source: [http://calimeroteknik.free.fr/ CTKarchLive]</small><br><br />
A lightweight distro using c²DE (openbox). It´s entirely in french for the time beeing.<br />
*Homepage: http://calimeroteknik.free.fr/<br />
*Forums: <br />
*Documentation: http://calimeroteknik.free.fr/arch-guide/<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== Kahel OS ===<br />
<br />
''"Kahel OS is the first and remains to be the only Filipino Linux Distro with the rolling release model on Arch Linux + GNOME. In the community, it is the first to release (non-beta) such Linux OS on Arch Linux + GNOME."''<br><br />
:<small>Source: [http://www.kahelos.org/ Kahel OS]</small><br />
*Homepage: http://www.kahelos.org/<br />
*Forums: http://http://forum.kahelos.org/<br />
*Documentation: http://wiki.kahelos.org/index.php?title=Main_Page<br />
*Screenshots: http://www.kahelos.org/gallery.php<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=kahelos<br />
<br />
=== LinHES ===<br />
<br />
LinHES ('''Lin'''ux '''H'''ome '''E'''ntertainment '''S'''ystem) is a distro based heavily on Arch and centered around [http://mythtv.org MythTV], with the expressed goal of being a HES-appliance. Utilizing open source software and off the shelf hardware, you'll be able to assemble a box that can serve as a PVR, Jukebox, Image Viewer, and Game Station. Users can go from a blank hard drive to fully functional MythTV system in literally 15-20 min. For more information, please see the [[LinHES]] wikipage.<br />
<br />
*Homepage: http://www.linhes.org/<br />
*Forums: http://www.linhes.org/phpBB2<br />
*Documentation: http://mysettopbox.tv/pamphlet.html<br />
*Screenshots: http://www.thecodingstudio.com/opensource/linux/screenshots/index.php?linux_distribution_sm=<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=knoppmyth<br />
<br />
=== live.linuX-gamers.net ===<br />
<br />
The linuX-gamers Live DVD is a bootable medium with a collection of popular 3D games. It contains both the NVIDIA and ATI proprietary Linux drivers and includes the following games: BzFLag, Enemy Territory, Glest, Nexuiz, Sauerbraten, Torcs, Tremulous, True Combat: Elite, Warsow and World of Padman. Although the live DVD is based on Arch Linux, it does not offer any desktop Linux functionality except gaming.<br />
<br />
*Homepage: http://live.linux-gamers.net/<br />
*Forums: http://www.linux-gamers.net/modules/newbb/viewforum.php?forum=49<br />
*Documentation: http://www.linux-gamers.net/modules/wiwimod/<br />
*Screenshots: http://live.linux-gamers.net/content/home_images/dvd-shot.png<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=linuxgamers<br />
<br />
=== Maryan Linux 2 ===<br />
<br />
The Maryan Linux 2 Project is designed to enable older hardware to run a fast and beautiful dekstop. For this reason, Maryan uses Enlightenment 17, which is a lightweight and very visually appealing desktop environment. The Maryan Linux developers strongly believe that this desktop environment is mature, stable (most of the time), and one of the most efficient for minimal computer resources usage.<br />
<br />
*Homepage: http://www.maryanlinux.com/<br />
*Forums: http://en.maryanlinux.com/component/option,com_wrapper/Itemid,45/<br />
*Documentation: http://documentation.maryanlinux.com/dokuwiki/ml2:start<br />
*Screenshots:<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=maryan<br />
<br />
=== Mesk Linux ===<br />
<br />
Mesk Linux is a project aiming at showcasing Arch to Arabic-speaking users . The project is also working on localizing Arch tools and documentation .<br />
<br />
*Homepage: http://www.mesklinux.org/<br />
*Forums: http://www.mesklinux.org/<br />
*Documentation: http://www.wiki.mesklinux.org/<br />
*Screenshots: http://www.fajjralislam.com/linux/index.php/photos/album/1.html<br />
*DistroWatch Entry:<br />
<br />
=== Uzume Linux ===<br />
<br />
Uzume Linux is a remix built upon Arch that features releases designed for specific platforms for users that are newer to linux, or just don't want to bother with all the pre-configuration of arch, but still want the speed and flexibility arch provides, along with the support of its community.<br />
<br />
*Homepage: http://uzumelinux.net<br />
*Forums: http://bbs.uzumelinux.net<br />
*Documentation: http://uzumelinux.net/wiki:start<br />
<br />
== Meta Distributions ==<br />
<br />
=== archiso ===<br />
<br />
[[archiso]] is a very simple set of bash scripts that allow for building live bootable CD/DVD/USB images based on Arch Linux. It uses a small uncomplicated code base and is actively developed. archiso is the tool used by Arch Linux to generate the official CD/USB images. It is a very generic tool, so it could potentially be used to generate anything from rescue systems, to install disks, to special interest live systems, and who knows what else. Simply put, if it involves Arch on a shiny coaster, it can do it. <br />
<br />
*Homepage: http://projects.archlinux.org/?p=archiso.git;a=summary<br />
*Forums http://bbs.archlinux.org/viewtopic.php?id=73878<br />
*Documentation: [[archiso|wiki article on archlinux.org]]<br />
*Screenshots:<br />
*DistroWatch Entry:<br />
<br />
=== Archiso-live ===<br />
<br />
Archiso-live is a fork of archiso that has since gained a fair bit of complexity in its development. Archiso-live undergoes rapid development with fresh releases posted on the dev blog found on its homepage. It uses a modular design approach based on slax. It even uses the slax initrd as a base module to get the system going. This allows archiso-live to be used in an everyday fashion since it has a full xfce desktop. It can also be greatly customized since it uses modules.<br />
<br />
*Homepage: http://godane.wordpress.com/ (GIT: http://github.com/godane/archiso-live/tree/master)<br />
*Forums: http://arch-live.2kool4u.net/forum/index.php<br />
*Documentation: http://arch-live.2kool4u.net/articles.php<br />
*Screenshots: http://arch-live.2kool4u.net/photogallery.php?album_id=1<br />
*DistroWatch Entry:<br />
<br />
=== larch ===<br />
<br />
larch is a collection of scripts used to create live CD/DVD/USB-stick versions of Arch Linux. One design aim is easy customization, so that even relatively inexperienced users can build personalized live CDs, containing whatever packages they want and with their own personal configurations. The resulting medium should also be usable for installation purposes, so that one has a customized Arch Linux installation/rescue medium. As the content can be chosen freely, a comfortable working environment is possible, in contrast to the rather Spartan standard Arch installation CD.<br />
<br />
*Homepage: http://larch.berlios.de/<br />
*Forums: <br />
*Documentation: http://larch.berlios.de/doc/index.html<br />
*Screenshots:<br />
*DistroWatch Entry:<br />
<br />
== Arch Influenced Distros ==<br />
<br />
===Alpine Linux===<br />
<br />
Alpine Linux is a run-from-RAM linux distribution. Its original target was small appliances like routers, VPN gateways, or embedded x86 devices. However, it supports hosting other Linux guest OSes under VServer control, making it an attractive hosting solution as well. Though Alpine Linux may not actually be based on Arch, its [http://git.alpinelinux.org/cgit/aports/tree/core/abuild/APKBUILD build system] [http://dev.alpinelinux.org/cgit/aports/tree/ 1]is undoubtably inspired by Arch. [http://lists.busybox.net/pipermail/busybox/2009-January/068280.html 2][http://wiki.alpinelinux.org/w/index.php?title=Creating_an_Alpine_package&oldid=2701#depends_.26_makedepends 3]<br />
<br />
*Homepage: http://alpinelinux.org<br />
*Forums:<br />
*Documentation: http://wiki.alpinelinux.org/w/index.php?title=Documentation<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== Enlisy ===<br />
<br />
Enlisy is an i686 optimized Linux distribution for Pentium 2 based processors and higher. It is also as simple as possible when it comes to the construction of its underlying core. Enlisy uses its own package manager Apport, which is is based on Libpysrc and Libpypac, which are inspired by Arch's package manager Pacman. Enlisy also uses InitNG for the init system.<br />
<br />
*Homepage: http://enlisy.com/<br />
*Forums: http://enlisy.com/en/forum/<br />
*Documentation: http://enlisy.org/ewiki/Documentation<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== Frugalware ===<br />
<br />
''"Frugalware Linux is a general-purpose Linux distribution designed for intermediate users who are familiar with command-line operations. It is based on Slackware, but uses a different package management system, Pacman."''<br><br />
:<small>Source: [[Wikipedia:Frugalware|Wikipedia]]</small><br />
<br />
*Homepage: http://frugalware.org<br />
*Forums: http://forums.frugalware.org<br />
*Documentation: http://frugalware.org/docs<br />
*Screenshots: http://frugalware.org/screenshots<br />
*DistroWatch Entry: http://distrowatch.com/frugalware<br />
<br />
== Discontinued Distributions ==<br />
<br />
=== Aegis Project ===<br />
<br />
The goal of the Arch Environmental/Geographical Information Systems (Arch EGIS) project was to increase awareness of and accessibility to the very latest, free, open-source GIS applications, sample data and other useful geographical and statistical tools, through the development of an Open Source GIS toolkit.<br />
<br />
*Homepage: http://arch-egis.berlios.de/news.php<br />
*Forums: http://arch-egis.berlios.de/forum.php<br />
*Documentation: http://arch-egis.berlios.de/e107_plugins/faq/faq.php<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== Archie ===<br />
<br />
Archie was a complete live Arch linux system run from a CD/USB-stick, built with the KISS philosophy in mind. It provided a full Arch linux system, yet it delivered fast performance without extensive bloating. Archie used its own hw-detection tool, lshwd, to support a wide range of hardware with fast detection time. Archie also provided extended features such as multiple languages, nesting capabilities, and hd-install.<br />
<br />
*Homepage: http://archie.dotsrc.org/<br />
*Forums:<br />
*Documentation: http://archie.sunsite.dk/wiki/doku.php<br />
*Screenshots:<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=archie<br />
<br />
=== archlive-i586 ===<br />
<br />
Arch Linux is an i686 optimized distribution, but sometimes members of the community ask how to install it on VIA C3 (mini-itx systems) or AMD Geode based systems. Since these CPUs are not fully i686 compatible, there is the need for an i586 port. There have been some past attempts to create an i586 port of Arch Linux. Some were successful, but they are not maintained anymore. The goal of archlive-i586 is to have an up to date i586 installation CD, with a reasonably sized package repository with at least 4-5 mirrors.<br />
<br />
*Homepage: http://code.google.com/p/archlinux-i586/<br />
*Forums: http://bbs.archlinux.org/viewforum.php?id=35<br />
*Documentation: http://code.google.com/p/archlinux-i586/w/list<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== Arch Linux Modified ===<br />
<br />
''"Goal:To make a light-weight version of Arch Linux that will accomodate most users without the need to download and configure packages.''"<br><br />
:<small>Source: [http://rusher.webhop.org/wordpress/?page_id=143 Arch Linux Modified]</small><br />
*Homepage: http://rusher.webhop.org/wordpress/?page_id=143<br />
*Forums: <br />
*Documentation: <br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== Borderless Linux ===<br />
<br />
"''I'm the founder of Borderless Linux. I am pleased to announce that we in fact are merging into what is currently the Chakra Project. We will be creating a LiveCD based upon Chakra's configurations and optimizations, but with a GNOME GUI. We will be using Larch to build the CD and hope to provide all the same functionality as Chakra, except using GNOME.''"<br><br />
:<small>Source: [http://www.borderlesslinux.org/ Borderless Linux]</small><br />
<br />
*Homepage: http://www.borderlesslinux.org/<br />
*Forums: http://chakra-project.org/bbs/<br />
*Documentation:<br />
*Screenshots:<br />
*DistroWatch Entry:<br />
<br />
=== FaunOS ===<br />
<br />
FaunOS was a portable, fully integrated Linux operating system with over 600 pre-installed packages. Based on Arch Linux, it was specifically designed to run from a portable USB memory device (such as a USB Flash drive). It could also be configured to boot from other media, such as DVD, and even the internal hard drive. FaunOS was a live desktop system designed to run without setup on most modern x86-based systems.<br />
<br />
*Homepage: http://www.faunos.com/<br />
*Forums: http://forum.faunos.com/<br />
*Documentation: http://wiki.faunos.com/<br />
*Screenshots: http://www.faunos.com/screenshots.html<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=faunos<br />
<br />
=== Firefly Linux ===<br />
<br />
Firefly Linux is a lightweight operating system designed with netbooks in mind. Firefly Linux Float, the main edition of Firefly, comes with the small and fast LXDE desktop environment. It also includes many popular applications to help the user get the most out of a netbook. Firefly Linux is powerful and is not limited to a "netbook-oriented" interface. Being relatively lightweight, Firefly can also be used for low-end systems. <br />
<br />
*Homepage: http://fireflylinux.com/<br />
*Forums: http://fireflylinux.com/forum/index.php<br />
*Documentation: <br />
*Screenshots: http://fireflylinux.com/screenshots/<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=firefly<br />
<br />
=== March Linux ===<br />
<br />
March Linux aimed to be a simple, lean and fast GNU/Linux distribution for the desktop, which urged the users to learn Linux instead of holding their hands at every step. At the same time, it was usable and fully functional with a generous package choices. While it was heavily based on Arch Linux, the author prefered to call March an Arch "distrolet". The default desktop environment in March Linux was [[Fluxbox]].<br />
<br />
*Homepage: http://marchlinux.wikidot.com/<br />
*Forums:<br />
*Documentation: http://marchlinux.wikidot.com/faqs<br />
*Screenshots: http://marchlinux.wikidot.com/screenshots<br />
*DistroWatch Entry:<br />
<br />
=== Shift Linux ===<br />
<br />
Shift Linux was a work in progress that aimed to be a desktop distro based on a solid Arch foundation. As of May 8th, 2009, development ceased. Read more about it here: http://shiftlinux.net/news/item/shift-placed-on-indefinite-hold<br />
<br />
"''Anyone interested in developing a Linux distro should consider helping out Firefly Linux. It's a great project that spawned from Shift.''"<br />
:<small>Source: Simon, [http://shiftlinux.net Shift Linux]</small><br />
<br />
*Homepage: http://shiftlinux.net/<br />
*Forums: http://www.neowin.net/forum/index.php?showforum=182<br />
*Documentation: http://shiftlinux.net/wiki/index.php/Main_Page<br />
*Screenshots: http://shiftlinux.net/art/<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=shift<br />
<br />
=== Underground Desktop ===<br />
<br />
Underground Desktop was a GNU/Linux distribution targeted at the desktop user. It was based on Arch Linux. Its main features were ease of installation, kernel optimisation for modern processors (i686), and the KDE desktop.<br />
<br />
*Homepage:<br />
*Forums:<br />
*Documentation: <br />
*Screenshots:<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=underground<br />
<br />
=== Miscellaneous Distributions ===<br />
<br />
These distributions lack sufficient information or available history to merit their own entry, so they are listed here in abbreviated form.<br />
<br />
*[http://www.datavibe.net/~essiene/ale/ ALE]<br />
:The Arch Linux Embedded Project<br />
<br />
*[http://sourceforge.net/projects/freshmeat_lowarch/ Lowarch]<br />
:A Linux distribution based on Arch Linux and aimed at low-end systems<br />
<br />
*[http://bbs.archlinux.org/viewtopic.php?id=18424 Minimax]<br />
:30 MB micro-LiveCD<br />
<br />
*[http://code.google.com/p/uarch/ uArch]<br />
:The goal of the uArch project was to build super lightweight, scalable and stable micro packages. Suitable for use on Desktops, Laptops, Routers, PDA and Cellphones</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Archiso&diff=97860Archiso2010-02-22T15:54:23Z<p>SHyLoCk: /* Install Archiso */</p>
<hr />
<div>[[Category:Live_Arch_systems_(English)]]<br />
[[Category:HOWTOs (English)]]<br />
== What is it? ==<br />
'''Archiso''' is a small set of bash scripts that is capable of building fully functional '''Arch Linux based live CD/DVD and USB images'''. It is a very generic tool, so it could potentially be used to generate anything from rescue systems, to install disks, to special interest live CD/DVD/USB systems, and who knows what else. Simply put, if it involves Arch on a shiny coaster, it can do it.<br />
The heart and soul of Archiso is '''mkarchiso'''. All of its options are documented in its usage output, so its direct usage wont be covered here. Instead, this wiki article will act as a guide for rolling your own live mediums in no time!<br />
<br />
Due to recent changes, '''Archiso''' will now automatically create ISO images that are also USB images! Separate CD/USB targets are therefore no longer necessary.<br />
<br />
== Install Archiso ==<br />
<br />
You have two options to get Archiso:<br />
<br />
*Get the [http://aur.archlinux.org/packages.php?ID=25996 archiso-git AUR package] (recommended)<br />
*Get it from the Git repo yourself:<br />
$ git clone git://projects.archlinux.org/archiso.git<br />
$ cd archiso/archiso<br />
$ sudo make install<br />
$ sudo pacman -S mkinitcpio cdrkit squashfs-tools devtools aufs2-util syslinux<br />
<br />
{{Note| Due, to recent mkinitcpio update, the current archiso-git will not work! You should reset the git to commit 22f91073, or just download and use [http://http://projects.archlinux.org/archiso.git/snapshot/archiso-22f910736da3b225f46840bc7ad1ec41fefddece.tar.gz this package].<br />
<br />
Also, note that archiso.git works, but require mkinitcpio 0.6.3 (now in [testing]) and has necessary modifications to make it compatible with mount hooks.<br />
<br />
As of the current date, the archiso in [[Official_Repositories|extra]] is not up-to-date enough to follow this guide and its usage is therefore not recommended.}}<br />
<br />
== Configure our live medium ==<br />
<br />
=== Makefile ===<br />
The very first thing you should do is creating a directory to work in, and cd to it. This'll help keep things organized. <br />
$ mkdir myarch && cd myarch<br />
Next, you'll want to create a Makefile and put our building instructions in there. The Makefile will define all actions that mkarchiso is going to execute. You could say it is our project file.<br />
$ vim Makefile<br />
Below you will find a sample Makefile that should work for most stuff you want and that works with everything described in this article.<br />
<br />
{{Warning | All indents within the makefile are with tabs. Using spaces gives a missing separator error}}<br />
<br />
{{Warning | Earlier versions of this makefile worked with "mkinitcpio -c mkinitcpio.conf..." however (possibly due to recent updates?) this may no longer work. If you see a warning regarding not being able to find the mkinitcpio.conf file, use the full path to the file, or "./". Otherwise you may get an empty initcpio, which will render the system unbootable (VFS error, kernel panic)}}<br />
<br />
<code><br />
#### Change these settings to modify how this ISO is built.<br />
# The directory that you'll be using for the actual build process.<br />
'''WORKDIR=work'''<br />
# A list of packages to install, either space separated in a string or line separated in a file. Can include groups.<br />
'''PACKAGES="$(shell cat packages.list) syslinux"'''<br />
# The name of our ISO. Does not specify the architecture!<br />
'''NAME=myarch'''<br />
# Version will be appended to the ISO.<br />
'''VER=1.00'''<br />
# Kernel version. You'll need this.<br />
'''KVER=2.6.32-ARCH'''<br />
# Architecture will also be appended to the ISO name.<br />
'''ARCH?=$(shell uname -m)'''<br />
# Current working directory<br />
'''PWD:=$(shell pwd)'''<br />
# This is going to be the full name the final iso/img will carry<br />
'''FULLNAME="$(PWD)"/$(NAME)-$(VER)-$(ARCH)'''<br />
<br />
# Default make instruction to build everything.<br />
'''all: myarch'''<br />
<br />
# The following will first run the ''base-fs'' routine before creating the final iso image.<br />
'''myarch: base-fs'''<br />
'''mkarchiso -p syslinux iso "$(WORKDIR)" "$(FULLNAME)".iso'''<br />
<br />
# This is the main rule for make the working filesystem. It will run routines from left to right. <br />
# Thus, ''root-image'' is called first and ''syslinux'' is called last.<br />
'''base-fs: root-image boot-files initcpio overlay iso-mounts syslinux'''<br />
<br />
# The ''root-image'' routine is always executed first. <br />
# It only downloads and installs all packages into the ''$WORKDIR'', giving you a basic system to use as a base.<br />
'''root-image: "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''"$(WORKDIR)"/root-image/.arch-chroot:'''<br />
'''root-image:'''<br />
'''mkarchiso -p $(PACKAGES) create "$(WORKDIR)"'''<br />
<br />
# Rule for make /boot<br />
'''boot-files: root-image'''<br />
'''cp -r "$(WORKDIR)"/root-image/boot "$(WORKDIR)"/iso/'''<br />
'''cp -r boot-files/* "$(WORKDIR)"/iso/boot/'''<br />
<br />
# Rules for initcpio images<br />
'''initcpio: "$(WORKDIR)"/iso/boot/myarch.img'''<br />
'''"$(WORKDIR)"/iso/boot/myarch.img: mkinitcpio.conf "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''mkdir -p "$(WORKDIR)"/iso/boot'''<br />
'''mkinitcpio -c ./mkinitcpio.conf -b "$(WORKDIR)"/root-image -k $(KVER) -g $@'''<br />
<br />
# See: [[#overlay|Overlay]]<br />
'''overlay:'''<br />
'''mkdir -p "$(WORKDIR)"/overlay/etc/pacman.d'''<br />
'''cp -r overlay "$(WORKDIR)"/'''<br />
'''wget -O "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist http://www.archlinux.org/mirrorlist/$(ARCH)/all/'''<br />
'''sed -i "s/#Server/Server/g" "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist'''<br />
<br />
# Rule to process isomounts file.'''<br />
'''iso-mounts: "$(WORKDIR)"/isomounts'''<br />
'''"$(WORKDIR)"/isomounts: isomounts root-image'''<br />
'''sed "s|@ARCH@|$(ARCH)|g" isomounts > $@'''<br />
<br />
# This routine is always executed just before generating the actual image. <br />
'''syslinux: root-image'''<br />
'''mkdir -p $(WORKDIR)/iso/boot/isolinux'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/boot/isolinux/'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/boot/isolinux/'''<br />
<br />
# In case "make clean" is called, the following routine gets rid of all files created by this Makefile.<br />
'''clean:'''<br />
'''rm -rf "$(WORKDIR)" "$(FULLNAME)".img "$(FULLNAME)".iso'''<br />
<br />
.PHONY: all myarch<br />
.PHONY: base-fs<br />
.PHONY: root-image boot-files initcpio overlay iso-mounts<br />
.PHONY: syslinux<br />
.PHONY: clean<br />
<br />
So if "make myarch" is called (as '''root'''!), the following is what effectively happens:<br />
*'''root-image''' downloads and installs all chosen packages into ''$WORKDIR''<br />
*'''boot-files''' prepares generic bootloader files and then copies our custom bootloader settings<br />
*'''initcpio''' takes care of an ''initcpio'' for us<br />
*'''overlay''' copies our custom overlay files into the ''root-image'' in ''$WORKDIR'' <br />
*'''iso-mounts''' just a little sed magic so AUFS will be able to find its mount points at boot time<br />
*'''syslinux''' copies over our actual bootloader<br />
*'''myarch''' finally creates our bootable .iso file, ready for burning onto a CD/DVD or writing to a USB device<br />
</code><br />
<br />
A Makefile itself won't suffice, so you'll need to create some additional files which will be covered below.<br />
<br />
=== mkinitcpio.conf ===<br />
<br />
An ''initcpio'' is necessary for creating a system that is able to "wake-up" from a CD/DVD/USB.<br />
<br />
Therefore, you should create a mkinitcpio.conf that holds a list of our hooks:<br />
$ vim mkinitcpio.conf<br />
A typical set of hooks for archiso looks something like this:<br />
HOOKS="base archiso_early udev archiso pata scsi sata usb fw filesystems usbinput"<br />
<br />
{{Note| If you are using commit 22f91073 instead, the hook should be renamed to archiso-early and not archiso_early!}}<br />
<br />
This list will get you a system that can be booted off a CD/DVD or a USB device. It's worth mentioning that hardware auto-detection and things of that nature do not belong here. Only what's necessary to get the system on its feet, and out of the ''initcpio'' really belong here, fancier stuff can be done on the booted system anyway.<br />
<br />
=== packages.list ===<br />
<br />
You'll also want to create a list of packages you want installed on your live CD system. A file full of package names, one-per-line, is the format for this. Typically you'll want '''base''' and '''kernel26''' as a bare minimum, but you're free to install whatever else you want. This is '''''great''''' for special interest live CDs, just specify packages you want and bake the image.<br />
<br />
{{Note|'''mkarchiso''' will use your local build machine's ''/etc/pacman.conf'' for sources. If you have activated [testing] in there, it will also be used for grabbing the packages for the live medium. If you want to use another ''pacman.conf'', you can copy it to the local project folder and use '''mkarchiso -c pacman.conf''' to use your local ''pacman.conf''. For this to work when building the ISO, you will have to add '''-c pacman.conf''' to all calls to '''mkarchiso''' in the Makefile.}}<br />
$ vim packages.list<br />
You may want to put at least the following into there:<br />
aufs2<br />
aufs2-util<br />
base<br />
bash<br />
coreutils<br />
cpio<br />
dhcpcd<br />
dnsutils<br />
file<br />
fuse<br />
kernel26<br />
syslinux<br />
nano<br />
<br />
This should already get you a booting system without much else. Be aware, though, that it lacks quite a lot drivers that aren't directly included in the kernel, notably wireless and graphics drivers and of course special purpose devices. Just add in driver packages as desired. A lot of hardware should run anyway, though. For some suggestions for different configurations, see the included examples for Archiso.<br />
<br />
{{Tip|You can also create a '''[[custom local repository]]''' for the purpose of preparing custom packages or packages from [[AUR]]/[[ABS]]. Just add your local repository at the first position (for top priority) of your build machine's '''pacman.conf''' and you are good to go!}}<br />
<br />
=== isomounts ===<br />
<br />
You will need a small file that holds information about the file systems that are going to be mounted once the live medium boots.<br />
$ vim isomounts<br />
A sample ''isomounts'' for your convenience:<br />
# archiso isomounts file<br />
# img - location of image/directory to mount relative to addons directory<br />
# arch - architecture of this image<br />
# mount point - absolute location on the post-initrd root<br />
# type - either 'bind' or 'squashfs' for now<br />
# syntax: <img> <arch> <mount point> <type><br />
# ORDER MATTERS! Files take top-down precedence. Be careful<br />
overlay.sqfs @ARCH@ / squashfs<br />
root-image.sqfs @ARCH@ / squashfs<br />
<br />
{{warning| There should be an enter [empty line] which represents EOF [end of file] at the end of isomounts file or else expect kernel panic!}}<br />
<br />
=== boot-files ===<br />
<br />
You will add least need a "boot-files" directory and and a subdirectory "isolinux/" containing a "isolinux.cfg".<br />
<br />
{{warning|Due to recent changes, support for [[grub]] as a boot manager for Archiso live medium creation has been dropped. Please do not attempt to use grub. Instead, you will have to use syslinux's isolinux which will get you an iso that will double as a usb image for free.}}<br />
<br />
==== Using isolinux ====<br />
Using ''isolinux'' is easy:<br />
$ mkdir -p boot-files/isolinux/<br />
$ vim boot-files/isolinux/isolinux.cfg<br />
<br />
Sample contents:<br />
prompt 1<br />
timeout 0<br />
display myarch.msg<br />
DEFAULT myarch<br />
<br />
LABEL myarch<br />
KERNEL /boot/vmlinuz26<br />
APPEND lang=en locale=en_US.UTF-8 usbdelay=5 ramdisk_size=75% initrd=/boot/myarch.img archisolabel=XXX<br />
<br />
LABEL memtest86+<br />
KERNEL /boot/memtest86+-2.10.bin<br />
<br />
Additionally, you may want a message to be shown above the boot line:<br />
$ vim boot-files/isolinux/myarch.msg<br />
<br />
This can be any arbitrary message in ASCII:<br />
<br />
HI GENTLEMEN LOL<br />
WELCOME TO MY DISTRO<br />
I HOPE U ENJOY MAKE UR TIME<br />
HA-HA-HA<br />
<br />
Please do note that you will first have to manually get the memtest*.bin from somewhere first because it won't be put there for you. If you do not want to use it, please comment it out.<br />
<br />
Due to the modular nature of isolinux, you are able to use lots of addons since all *.c32 files are copied and available to you. Take a look at the [http://syslinux.zytor.com/wiki/index.php/SYSLINUX official syslinux site] and the [http://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files archiso git repo]. Using said addons, it is possible to make visually attractive and complex menus. See [http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32 here].<br />
<br />
=== overlay ===<br />
The last item of importance is the '''overlay'''. Basically this means any other stuff you might want to include on your live medium, including binary package repositories, special configurations, random files, anything you can think of. ''mkarchiso'' expects them all to be put in a single directory. The ''overlay'' will, as the name implies, be layered on top the base system at boot time using ''AUFS''. The structure inside the overlay is that of a root filesystem. <br />
<br />
All non-existing files and directories which are included in the overlay but do not exist in the base system will be created. <br />
All existing files and directories which do exist in the base system are overwritten with the files from the overlay.<br />
<br />
Next, create the ''overlay'':<br />
$ mkdir overlay && cd overlay/<br />
<br />
Woah, that was easy! Now, you still need to add some useful stuff in there. A couple of examples: <br />
<br />
'''''Note:''' It is important that all files in the overlay carry the proper permissions. You are therefore advised to use the root account to commit changes to this directory. Remember, it is an actual root filesystem layer.''<br />
<br />
==== Adding a fstab ====<br />
It is required to add a '''fstab''' file in /etc:<br />
$ mkdir etc<br />
$ vim etc/fstab<br />
<br />
aufs / aufs noauto 0 0<br />
none /dev/pts devpts defaults 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
/dev/cdrom /bootcd iso9660 ro,user,noauto 0 0<br />
<br />
==== Adding a predefined user ====<br />
<br />
===== Manually =====<br />
You will want a user in your live session. There are many ways to do that. One way to do it is to manually add the user and all groups you may want as files in etc/, without calling any commands. This can be accomplished by using your host system's /etc files and modifying them to make them fit the purpose:<br />
<br />
$ cp /etc/group etc/group<br />
$ cp /etc/passwd etc/passwd<br />
$ cp /etc/shadow etc/shadow<br />
<br />
'''''Note:''' Be very careful not to leave your encrypted passwords in the passwd or shadow file! Your password is at the second position (after the first ':'). You must not leave it in there!''<br />
<br />
To make a password-less user, simply clear the second position like so: <br />
root::99999::::::<br />
<br />
Additionally, the user will need a home directory or many things will fail (remember to change the home directory correctly in ''passwd''). You will want to use rc.local to create a home directory at boot time and fill it with /etc/skel. If you don't know about /etc/skel, you should read up on that.<br />
$ vim etc/rc.local<br />
mkdir /home/archie && chown archie:archie /home/archie<br />
su -c "cp -r /etc/skel/.[a-zA-Z0-9]* /home/archie/" archie<br />
<br />
===== Using useradd =====<br />
Another way of adding the user is using ''etc/rc.local'' to create the user at boot time:<br />
$ vim etc/rc.local<br />
<br />
useradd -u 1000 -g users -G storage,floppy,optical,audio,video,network,games,wheel,disk -d /home/archie archie<br />
<br />
This should take care of the user and his home directory.<br />
<br />
==== Putting stuff into the user's home directory at boot time ====<br />
It might be desirable to put some pre-defined user settings in place when the live user enters his session. Luckily, there is a directory which automatically copies itself into each new user's home directory: /etc/skel.<br />
<br />
You will need to create that directory and then put your stuff in there:<br />
$ mkdir etc/skel<br />
<br />
And for example:<br />
$ vim etc/skel/.bashrc <br />
<br />
alias ls='ls --color=auto'<br />
PS1='[\u@\h \W]\$ '<br />
<br />
Covering all the magic that could be done to a user at boot time is vastly beyond this article's scope.<br />
<br />
'''''Note:''' You may NOT directly create any user's home directory directly in the overlay by putting stuff into /home/user/, it will break permissions in the guest system! Use /etc/skel/.''<br />
<br />
==== Finishing the overlay ====<br />
Some tips that will not be covered in this article because there are other articles on this wiki that already do:<br />
*Configure an ''inittab'' to start into X at boot time<br />
*Configure the ''hosts'' file<br />
*Configure ''rc.conf'' (no fancy modules required here)<br />
*Configure ''sudoers''<br />
*Configure ''rc.local''<br />
*Put more stuff into etc/skel<br />
*Put additional artworks onto the medium <br />
*Put arbitrary binary stuff into opt/<br />
<br />
== Generate your live medium ==<br />
After so much time spent on configuring, here comes the fun part: Baking the image.<br />
<br />
It's quite easy, too: As root (important!) execute the following in your project directory (where your ''Makefile'' is located):<br />
$ make all<br />
You will receive a .iso, ready for burning onto a CD/DVD or for dd'ing onto a USB key: <br />
dd if=my-image.iso of=/dev/some-usb-drive bs=8M<br />
Enjoy!<br />
{{warning|Careful with <tt>dd</tt>! If you use it on the wrong drive, a lot of precious data may be lost. Use with caution.}}<br />
<br />
== Links ==<br />
[http://projects.archlinux.org/?p=archiso.git;a=summary Archiso project page]</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Archiso&diff=97834Archiso2010-02-22T05:39:49Z<p>SHyLoCk: /* mkinitcpio.conf */</p>
<hr />
<div>[[Category:Live_Arch_systems_(English)]]<br />
[[Category:HOWTOs (English)]]<br />
== What is it? ==<br />
'''Archiso''' is a small set of bash scripts that is capable of building fully functional '''Arch Linux based live CD/DVD and USB images'''. It is a very generic tool, so it could potentially be used to generate anything from rescue systems, to install disks, to special interest live CD/DVD/USB systems, and who knows what else. Simply put, if it involves Arch on a shiny coaster, it can do it.<br />
The heart and soul of Archiso is '''mkarchiso'''. All of its options are documented in its usage output, so its direct usage wont be covered here. Instead, this wiki article will act as a guide for rolling your own live mediums in no time!<br />
<br />
Due to recent changes, '''Archiso''' will now automatically create ISO images that are also USB images! Separate CD/USB targets are therefore no longer necessary.<br />
<br />
== Install Archiso ==<br />
<br />
You have two options to get Archiso:<br />
<br />
*Get the [http://aur.archlinux.org/packages.php?ID=25996 archiso-git AUR package] (recommended)<br />
*Get it from the Git repo yourself:<br />
$ git clone git://projects.archlinux.org/archiso.git<br />
$ cd archiso/archiso<br />
$ sudo make install<br />
$ sudo pacman -S mkinitcpio cdrkit squashfs-tools devtools aufs2-util syslinux<br />
<br />
{{Note| Due, to recent mkinitcpio update, the current archiso-git will not work! You should reset the git to commit 22f91073, or just download and use [http://http://projects.archlinux.org/archiso.git/snapshot/archiso-22f910736da3b225f46840bc7ad1ec41fefddece.tar.gz this package].<br />
<br />
As of the current date, the archiso in [[Official_Repositories|extra]] is not up-to-date enough to follow this guide and its usage is therefore not recommended.}}<br />
<br />
== Configure our live medium ==<br />
<br />
=== Makefile ===<br />
The very first thing you should do is creating a directory to work in, and cd to it. This'll help keep things organized. <br />
$ mkdir myarch && cd myarch<br />
Next, you'll want to create a Makefile and put our building instructions in there. The Makefile will define all actions that mkarchiso is going to execute. You could say it is our project file.<br />
$ vim Makefile<br />
Below you will find a sample Makefile that should work for most stuff you want and that works with everything described in this article.<br />
<br />
{{Warning | All indents within the makefile are with tabs. Using spaces gives a missing separator error}}<br />
<br />
{{Warning | Earlier versions of this makefile worked with "mkinitcpio -c mkinitcpio.conf..." however (possibly due to recent updates?) this may no longer work. If you see a warning regarding not being able to find the mkinitcpio.conf file, use the full path to the file, or "./". Otherwise you may get an empty initcpio, which will render the system unbootable (VFS error, kernel panic)}}<br />
<br />
<code><br />
#### Change these settings to modify how this ISO is built.<br />
# The directory that you'll be using for the actual build process.<br />
'''WORKDIR=work'''<br />
# A list of packages to install, either space separated in a string or line separated in a file. Can include groups.<br />
'''PACKAGES="$(shell cat packages.list) syslinux"'''<br />
# The name of our ISO. Does not specify the architecture!<br />
'''NAME=myarch'''<br />
# Version will be appended to the ISO.<br />
'''VER=1.00'''<br />
# Kernel version. You'll need this.<br />
'''KVER=2.6.32-ARCH'''<br />
# Architecture will also be appended to the ISO name.<br />
'''ARCH?=$(shell uname -m)'''<br />
# Current working directory<br />
'''PWD:=$(shell pwd)'''<br />
# This is going to be the full name the final iso/img will carry<br />
'''FULLNAME="$(PWD)"/$(NAME)-$(VER)-$(ARCH)'''<br />
<br />
# Default make instruction to build everything.<br />
'''all: myarch'''<br />
<br />
# The following will first run the ''base-fs'' routine before creating the final iso image.<br />
'''myarch: base-fs'''<br />
'''mkarchiso -p syslinux iso "$(WORKDIR)" "$(FULLNAME)".iso'''<br />
<br />
# This is the main rule for make the working filesystem. It will run routines from left to right. <br />
# Thus, ''root-image'' is called first and ''syslinux'' is called last.<br />
'''base-fs: root-image boot-files initcpio overlay iso-mounts syslinux'''<br />
<br />
# The ''root-image'' routine is always executed first. <br />
# It only downloads and installs all packages into the ''$WORKDIR'', giving you a basic system to use as a base.<br />
'''root-image: "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''"$(WORKDIR)"/root-image/.arch-chroot:'''<br />
'''root-image:'''<br />
'''mkarchiso -p $(PACKAGES) create "$(WORKDIR)"'''<br />
<br />
# Rule for make /boot<br />
'''boot-files: root-image'''<br />
'''cp -r "$(WORKDIR)"/root-image/boot "$(WORKDIR)"/iso/'''<br />
'''cp -r boot-files/* "$(WORKDIR)"/iso/boot/'''<br />
<br />
# Rules for initcpio images<br />
'''initcpio: "$(WORKDIR)"/iso/boot/myarch.img'''<br />
'''"$(WORKDIR)"/iso/boot/myarch.img: mkinitcpio.conf "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''mkdir -p "$(WORKDIR)"/iso/boot'''<br />
'''mkinitcpio -c ./mkinitcpio.conf -b "$(WORKDIR)"/root-image -k $(KVER) -g $@'''<br />
<br />
# See: [[#overlay|Overlay]]<br />
'''overlay:'''<br />
'''mkdir -p "$(WORKDIR)"/overlay/etc/pacman.d'''<br />
'''cp -r overlay "$(WORKDIR)"/'''<br />
'''wget -O "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist http://www.archlinux.org/mirrorlist/$(ARCH)/all/'''<br />
'''sed -i "s/#Server/Server/g" "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist'''<br />
<br />
# Rule to process isomounts file.'''<br />
'''iso-mounts: "$(WORKDIR)"/isomounts'''<br />
'''"$(WORKDIR)"/isomounts: isomounts root-image'''<br />
'''sed "s|@ARCH@|$(ARCH)|g" isomounts > $@'''<br />
<br />
# This routine is always executed just before generating the actual image. <br />
'''syslinux: root-image'''<br />
'''mkdir -p $(WORKDIR)/iso/boot/isolinux'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/boot/isolinux/'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/boot/isolinux/'''<br />
<br />
# In case "make clean" is called, the following routine gets rid of all files created by this Makefile.<br />
'''clean:'''<br />
'''rm -rf "$(WORKDIR)" "$(FULLNAME)".img "$(FULLNAME)".iso'''<br />
<br />
.PHONY: all myarch<br />
.PHONY: base-fs<br />
.PHONY: root-image boot-files initcpio overlay iso-mounts<br />
.PHONY: syslinux<br />
.PHONY: clean<br />
<br />
So if "make myarch" is called (as '''root'''!), the following is what effectively happens:<br />
*'''root-image''' downloads and installs all chosen packages into ''$WORKDIR''<br />
*'''boot-files''' prepares generic bootloader files and then copies our custom bootloader settings<br />
*'''initcpio''' takes care of an ''initcpio'' for us<br />
*'''overlay''' copies our custom overlay files into the ''root-image'' in ''$WORKDIR'' <br />
*'''iso-mounts''' just a little sed magic so AUFS will be able to find its mount points at boot time<br />
*'''syslinux''' copies over our actual bootloader<br />
*'''myarch''' finally creates our bootable .iso file, ready for burning onto a CD/DVD or writing to a USB device<br />
</code><br />
<br />
A Makefile itself won't suffice, so you'll need to create some additional files which will be covered below.<br />
<br />
=== mkinitcpio.conf ===<br />
<br />
An ''initcpio'' is necessary for creating a system that is able to "wake-up" from a CD/DVD/USB.<br />
<br />
Therefore, you should create a mkinitcpio.conf that holds a list of our hooks:<br />
$ vim mkinitcpio.conf<br />
A typical set of hooks for archiso looks something like this:<br />
HOOKS="base archiso_early udev archiso pata scsi sata usb fw filesystems usbinput"<br />
<br />
{{Note| If you are using commit 22f91073 instead, the hook should be renamed to archiso-early and not archiso_early!}}<br />
<br />
This list will get you a system that can be booted off a CD/DVD or a USB device. It's worth mentioning that hardware auto-detection and things of that nature do not belong here. Only what's necessary to get the system on its feet, and out of the ''initcpio'' really belong here, fancier stuff can be done on the booted system anyway.<br />
<br />
=== packages.list ===<br />
<br />
You'll also want to create a list of packages you want installed on your live CD system. A file full of package names, one-per-line, is the format for this. Typically you'll want '''base''' and '''kernel26''' as a bare minimum, but you're free to install whatever else you want. This is '''''great''''' for special interest live CDs, just specify packages you want and bake the image.<br />
<br />
{{Note|'''mkarchiso''' will use your local build machine's ''/etc/pacman.conf'' for sources. If you have activated [testing] in there, it will also be used for grabbing the packages for the live medium. If you want to use another ''pacman.conf'', you can copy it to the local project folder and use '''mkarchiso -c pacman.conf''' to use your local ''pacman.conf''. For this to work when building the ISO, you will have to add '''-c pacman.conf''' to all calls to '''mkarchiso''' in the Makefile.}}<br />
$ vim packages.list<br />
You may want to put at least the following into there:<br />
aufs2<br />
aufs2-util<br />
base<br />
bash<br />
coreutils<br />
cpio<br />
dhcpcd<br />
dnsutils<br />
file<br />
fuse<br />
kernel26<br />
syslinux<br />
nano<br />
<br />
This should already get you a booting system without much else. Be aware, though, that it lacks quite a lot drivers that aren't directly included in the kernel, notably wireless and graphics drivers and of course special purpose devices. Just add in driver packages as desired. A lot of hardware should run anyway, though. For some suggestions for different configurations, see the included examples for Archiso.<br />
<br />
{{Tip|You can also create a '''[[custom local repository]]''' for the purpose of preparing custom packages or packages from [[AUR]]/[[ABS]]. Just add your local repository at the first position (for top priority) of your build machine's '''pacman.conf''' and you are good to go!}}<br />
<br />
=== isomounts ===<br />
<br />
You will need a small file that holds information about the file systems that are going to be mounted once the live medium boots.<br />
$ vim isomounts<br />
A sample ''isomounts'' for your convenience:<br />
# archiso isomounts file<br />
# img - location of image/directory to mount relative to addons directory<br />
# arch - architecture of this image<br />
# mount point - absolute location on the post-initrd root<br />
# type - either 'bind' or 'squashfs' for now<br />
# syntax: <img> <arch> <mount point> <type><br />
# ORDER MATTERS! Files take top-down precedence. Be careful<br />
overlay.sqfs @ARCH@ / squashfs<br />
root-image.sqfs @ARCH@ / squashfs<br />
<br />
{{warning| There should be an enter [empty line] which represents EOF [end of file] at the end of isomounts file or else expect kernel panic!}}<br />
<br />
=== boot-files ===<br />
<br />
You will add least need a "boot-files" directory and and a subdirectory "isolinux/" containing a "isolinux.cfg".<br />
<br />
{{warning|Due to recent changes, support for [[grub]] as a boot manager for Archiso live medium creation has been dropped. Please do not attempt to use grub. Instead, you will have to use syslinux's isolinux which will get you an iso that will double as a usb image for free.}}<br />
<br />
==== Using isolinux ====<br />
Using ''isolinux'' is easy:<br />
$ mkdir -p boot-files/isolinux/<br />
$ vim boot-files/isolinux/isolinux.cfg<br />
<br />
Sample contents:<br />
prompt 1<br />
timeout 0<br />
display myarch.msg<br />
DEFAULT myarch<br />
<br />
LABEL myarch<br />
KERNEL /boot/vmlinuz26<br />
APPEND lang=en locale=en_US.UTF-8 usbdelay=5 ramdisk_size=75% initrd=/boot/myarch.img archisolabel=XXX<br />
<br />
LABEL memtest86+<br />
KERNEL /boot/memtest86+-2.10.bin<br />
<br />
Additionally, you may want a message to be shown above the boot line:<br />
$ vim boot-files/isolinux/myarch.msg<br />
<br />
This can be any arbitrary message in ASCII:<br />
<br />
HI GENTLEMEN LOL<br />
WELCOME TO MY DISTRO<br />
I HOPE U ENJOY MAKE UR TIME<br />
HA-HA-HA<br />
<br />
Please do note that you will first have to manually get the memtest*.bin from somewhere first because it won't be put there for you. If you do not want to use it, please comment it out.<br />
<br />
Due to the modular nature of isolinux, you are able to use lots of addons since all *.c32 files are copied and available to you. Take a look at the [http://syslinux.zytor.com/wiki/index.php/SYSLINUX official syslinux site] and the [http://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files archiso git repo]. Using said addons, it is possible to make visually attractive and complex menus. See [http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32 here].<br />
<br />
=== overlay ===<br />
The last item of importance is the '''overlay'''. Basically this means any other stuff you might want to include on your live medium, including binary package repositories, special configurations, random files, anything you can think of. ''mkarchiso'' expects them all to be put in a single directory. The ''overlay'' will, as the name implies, be layered on top the base system at boot time using ''AUFS''. The structure inside the overlay is that of a root filesystem. <br />
<br />
All non-existing files and directories which are included in the overlay but do not exist in the base system will be created. <br />
All existing files and directories which do exist in the base system are overwritten with the files from the overlay.<br />
<br />
Next, create the ''overlay'':<br />
$ mkdir overlay && cd overlay/<br />
<br />
Woah, that was easy! Now, you still need to add some useful stuff in there. A couple of examples: <br />
<br />
'''''Note:''' It is important that all files in the overlay carry the proper permissions. You are therefore advised to use the root account to commit changes to this directory. Remember, it is an actual root filesystem layer.''<br />
<br />
==== Adding a fstab ====<br />
It is required to add a '''fstab''' file in /etc:<br />
$ mkdir etc<br />
$ vim etc/fstab<br />
<br />
aufs / aufs noauto 0 0<br />
none /dev/pts devpts defaults 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
/dev/cdrom /bootcd iso9660 ro,user,noauto 0 0<br />
<br />
==== Adding a predefined user ====<br />
<br />
===== Manually =====<br />
You will want a user in your live session. There are many ways to do that. One way to do it is to manually add the user and all groups you may want as files in etc/, without calling any commands. This can be accomplished by using your host system's /etc files and modifying them to make them fit the purpose:<br />
<br />
$ cp /etc/group etc/group<br />
$ cp /etc/passwd etc/passwd<br />
$ cp /etc/shadow etc/shadow<br />
<br />
'''''Note:''' Be very careful not to leave your encrypted passwords in the passwd or shadow file! Your password is at the second position (after the first ':'). You must not leave it in there!''<br />
<br />
To make a password-less user, simply clear the second position like so: <br />
root::99999::::::<br />
<br />
Additionally, the user will need a home directory or many things will fail (remember to change the home directory correctly in ''passwd''). You will want to use rc.local to create a home directory at boot time and fill it with /etc/skel. If you don't know about /etc/skel, you should read up on that.<br />
$ vim etc/rc.local<br />
mkdir /home/archie && chown archie:archie /home/archie<br />
su -c "cp -r /etc/skel/.[a-zA-Z0-9]* /home/archie/" archie<br />
<br />
===== Using useradd =====<br />
Another way of adding the user is using ''etc/rc.local'' to create the user at boot time:<br />
$ vim etc/rc.local<br />
<br />
useradd -u 1000 -g users -G storage,floppy,optical,audio,video,network,games,wheel,disk -d /home/archie archie<br />
<br />
This should take care of the user and his home directory.<br />
<br />
==== Putting stuff into the user's home directory at boot time ====<br />
It might be desirable to put some pre-defined user settings in place when the live user enters his session. Luckily, there is a directory which automatically copies itself into each new user's home directory: /etc/skel.<br />
<br />
You will need to create that directory and then put your stuff in there:<br />
$ mkdir etc/skel<br />
<br />
And for example:<br />
$ vim etc/skel/.bashrc <br />
<br />
alias ls='ls --color=auto'<br />
PS1='[\u@\h \W]\$ '<br />
<br />
Covering all the magic that could be done to a user at boot time is vastly beyond this article's scope.<br />
<br />
'''''Note:''' You may NOT directly create any user's home directory directly in the overlay by putting stuff into /home/user/, it will break permissions in the guest system! Use /etc/skel/.''<br />
<br />
==== Finishing the overlay ====<br />
Some tips that will not be covered in this article because there are other articles on this wiki that already do:<br />
*Configure an ''inittab'' to start into X at boot time<br />
*Configure the ''hosts'' file<br />
*Configure ''rc.conf'' (no fancy modules required here)<br />
*Configure ''sudoers''<br />
*Configure ''rc.local''<br />
*Put more stuff into etc/skel<br />
*Put additional artworks onto the medium <br />
*Put arbitrary binary stuff into opt/<br />
<br />
== Generate your live medium ==<br />
After so much time spent on configuring, here comes the fun part: Baking the image.<br />
<br />
It's quite easy, too: As root (important!) execute the following in your project directory (where your ''Makefile'' is located):<br />
$ make all<br />
You will receive a .iso, ready for burning onto a CD/DVD or for dd'ing onto a USB key: <br />
dd if=my-image.iso of=/dev/some-usb-drive bs=8M<br />
Enjoy!<br />
{{warning|Careful with <tt>dd</tt>! If you use it on the wrong drive, a lot of precious data may be lost. Use with caution.}}<br />
<br />
== Links ==<br />
[http://projects.archlinux.org/?p=archiso.git;a=summary Archiso project page]</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Archiso&diff=97833Archiso2010-02-22T05:38:35Z<p>SHyLoCk: /* Install Archiso */</p>
<hr />
<div>[[Category:Live_Arch_systems_(English)]]<br />
[[Category:HOWTOs (English)]]<br />
== What is it? ==<br />
'''Archiso''' is a small set of bash scripts that is capable of building fully functional '''Arch Linux based live CD/DVD and USB images'''. It is a very generic tool, so it could potentially be used to generate anything from rescue systems, to install disks, to special interest live CD/DVD/USB systems, and who knows what else. Simply put, if it involves Arch on a shiny coaster, it can do it.<br />
The heart and soul of Archiso is '''mkarchiso'''. All of its options are documented in its usage output, so its direct usage wont be covered here. Instead, this wiki article will act as a guide for rolling your own live mediums in no time!<br />
<br />
Due to recent changes, '''Archiso''' will now automatically create ISO images that are also USB images! Separate CD/USB targets are therefore no longer necessary.<br />
<br />
== Install Archiso ==<br />
<br />
You have two options to get Archiso:<br />
<br />
*Get the [http://aur.archlinux.org/packages.php?ID=25996 archiso-git AUR package] (recommended)<br />
*Get it from the Git repo yourself:<br />
$ git clone git://projects.archlinux.org/archiso.git<br />
$ cd archiso/archiso<br />
$ sudo make install<br />
$ sudo pacman -S mkinitcpio cdrkit squashfs-tools devtools aufs2-util syslinux<br />
<br />
{{Note| Due, to recent mkinitcpio update, the current archiso-git will not work! You should reset the git to commit 22f91073, or just download and use [http://http://projects.archlinux.org/archiso.git/snapshot/archiso-22f910736da3b225f46840bc7ad1ec41fefddece.tar.gz this package].<br />
<br />
As of the current date, the archiso in [[Official_Repositories|extra]] is not up-to-date enough to follow this guide and its usage is therefore not recommended.}}<br />
<br />
== Configure our live medium ==<br />
<br />
=== Makefile ===<br />
The very first thing you should do is creating a directory to work in, and cd to it. This'll help keep things organized. <br />
$ mkdir myarch && cd myarch<br />
Next, you'll want to create a Makefile and put our building instructions in there. The Makefile will define all actions that mkarchiso is going to execute. You could say it is our project file.<br />
$ vim Makefile<br />
Below you will find a sample Makefile that should work for most stuff you want and that works with everything described in this article.<br />
<br />
{{Warning | All indents within the makefile are with tabs. Using spaces gives a missing separator error}}<br />
<br />
{{Warning | Earlier versions of this makefile worked with "mkinitcpio -c mkinitcpio.conf..." however (possibly due to recent updates?) this may no longer work. If you see a warning regarding not being able to find the mkinitcpio.conf file, use the full path to the file, or "./". Otherwise you may get an empty initcpio, which will render the system unbootable (VFS error, kernel panic)}}<br />
<br />
<code><br />
#### Change these settings to modify how this ISO is built.<br />
# The directory that you'll be using for the actual build process.<br />
'''WORKDIR=work'''<br />
# A list of packages to install, either space separated in a string or line separated in a file. Can include groups.<br />
'''PACKAGES="$(shell cat packages.list) syslinux"'''<br />
# The name of our ISO. Does not specify the architecture!<br />
'''NAME=myarch'''<br />
# Version will be appended to the ISO.<br />
'''VER=1.00'''<br />
# Kernel version. You'll need this.<br />
'''KVER=2.6.32-ARCH'''<br />
# Architecture will also be appended to the ISO name.<br />
'''ARCH?=$(shell uname -m)'''<br />
# Current working directory<br />
'''PWD:=$(shell pwd)'''<br />
# This is going to be the full name the final iso/img will carry<br />
'''FULLNAME="$(PWD)"/$(NAME)-$(VER)-$(ARCH)'''<br />
<br />
# Default make instruction to build everything.<br />
'''all: myarch'''<br />
<br />
# The following will first run the ''base-fs'' routine before creating the final iso image.<br />
'''myarch: base-fs'''<br />
'''mkarchiso -p syslinux iso "$(WORKDIR)" "$(FULLNAME)".iso'''<br />
<br />
# This is the main rule for make the working filesystem. It will run routines from left to right. <br />
# Thus, ''root-image'' is called first and ''syslinux'' is called last.<br />
'''base-fs: root-image boot-files initcpio overlay iso-mounts syslinux'''<br />
<br />
# The ''root-image'' routine is always executed first. <br />
# It only downloads and installs all packages into the ''$WORKDIR'', giving you a basic system to use as a base.<br />
'''root-image: "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''"$(WORKDIR)"/root-image/.arch-chroot:'''<br />
'''root-image:'''<br />
'''mkarchiso -p $(PACKAGES) create "$(WORKDIR)"'''<br />
<br />
# Rule for make /boot<br />
'''boot-files: root-image'''<br />
'''cp -r "$(WORKDIR)"/root-image/boot "$(WORKDIR)"/iso/'''<br />
'''cp -r boot-files/* "$(WORKDIR)"/iso/boot/'''<br />
<br />
# Rules for initcpio images<br />
'''initcpio: "$(WORKDIR)"/iso/boot/myarch.img'''<br />
'''"$(WORKDIR)"/iso/boot/myarch.img: mkinitcpio.conf "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''mkdir -p "$(WORKDIR)"/iso/boot'''<br />
'''mkinitcpio -c ./mkinitcpio.conf -b "$(WORKDIR)"/root-image -k $(KVER) -g $@'''<br />
<br />
# See: [[#overlay|Overlay]]<br />
'''overlay:'''<br />
'''mkdir -p "$(WORKDIR)"/overlay/etc/pacman.d'''<br />
'''cp -r overlay "$(WORKDIR)"/'''<br />
'''wget -O "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist http://www.archlinux.org/mirrorlist/$(ARCH)/all/'''<br />
'''sed -i "s/#Server/Server/g" "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist'''<br />
<br />
# Rule to process isomounts file.'''<br />
'''iso-mounts: "$(WORKDIR)"/isomounts'''<br />
'''"$(WORKDIR)"/isomounts: isomounts root-image'''<br />
'''sed "s|@ARCH@|$(ARCH)|g" isomounts > $@'''<br />
<br />
# This routine is always executed just before generating the actual image. <br />
'''syslinux: root-image'''<br />
'''mkdir -p $(WORKDIR)/iso/boot/isolinux'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/boot/isolinux/'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/boot/isolinux/'''<br />
<br />
# In case "make clean" is called, the following routine gets rid of all files created by this Makefile.<br />
'''clean:'''<br />
'''rm -rf "$(WORKDIR)" "$(FULLNAME)".img "$(FULLNAME)".iso'''<br />
<br />
.PHONY: all myarch<br />
.PHONY: base-fs<br />
.PHONY: root-image boot-files initcpio overlay iso-mounts<br />
.PHONY: syslinux<br />
.PHONY: clean<br />
<br />
So if "make myarch" is called (as '''root'''!), the following is what effectively happens:<br />
*'''root-image''' downloads and installs all chosen packages into ''$WORKDIR''<br />
*'''boot-files''' prepares generic bootloader files and then copies our custom bootloader settings<br />
*'''initcpio''' takes care of an ''initcpio'' for us<br />
*'''overlay''' copies our custom overlay files into the ''root-image'' in ''$WORKDIR'' <br />
*'''iso-mounts''' just a little sed magic so AUFS will be able to find its mount points at boot time<br />
*'''syslinux''' copies over our actual bootloader<br />
*'''myarch''' finally creates our bootable .iso file, ready for burning onto a CD/DVD or writing to a USB device<br />
</code><br />
<br />
A Makefile itself won't suffice, so you'll need to create some additional files which will be covered below.<br />
<br />
=== mkinitcpio.conf ===<br />
<br />
An ''initcpio'' is necessary for creating a system that is able to "wake-up" from a CD/DVD/USB.<br />
<br />
Therefore, you should create a mkinitcpio.conf that holds a list of our hooks:<br />
$ vim mkinitcpio.conf<br />
A typical set of hooks for archiso looks something like this:<br />
HOOKS="base archiso_early udev archiso pata scsi sata usb fw filesystems usbinput"<br />
<br />
''Note: If you are using commit 22f91073 instead, the hook should be renamed to archiso-early and not archiso_early!''<br />
<br />
This list will get you a system that can be booted off a CD/DVD or a USB device. It's worth mentioning that hardware auto-detection and things of that nature do not belong here. Only what's necessary to get the system on its feet, and out of the ''initcpio'' really belong here, fancier stuff can be done on the booted system anyway.<br />
<br />
=== packages.list ===<br />
<br />
You'll also want to create a list of packages you want installed on your live CD system. A file full of package names, one-per-line, is the format for this. Typically you'll want '''base''' and '''kernel26''' as a bare minimum, but you're free to install whatever else you want. This is '''''great''''' for special interest live CDs, just specify packages you want and bake the image.<br />
<br />
{{Note|'''mkarchiso''' will use your local build machine's ''/etc/pacman.conf'' for sources. If you have activated [testing] in there, it will also be used for grabbing the packages for the live medium. If you want to use another ''pacman.conf'', you can copy it to the local project folder and use '''mkarchiso -c pacman.conf''' to use your local ''pacman.conf''. For this to work when building the ISO, you will have to add '''-c pacman.conf''' to all calls to '''mkarchiso''' in the Makefile.}}<br />
$ vim packages.list<br />
You may want to put at least the following into there:<br />
aufs2<br />
aufs2-util<br />
base<br />
bash<br />
coreutils<br />
cpio<br />
dhcpcd<br />
dnsutils<br />
file<br />
fuse<br />
kernel26<br />
syslinux<br />
nano<br />
<br />
This should already get you a booting system without much else. Be aware, though, that it lacks quite a lot drivers that aren't directly included in the kernel, notably wireless and graphics drivers and of course special purpose devices. Just add in driver packages as desired. A lot of hardware should run anyway, though. For some suggestions for different configurations, see the included examples for Archiso.<br />
<br />
{{Tip|You can also create a '''[[custom local repository]]''' for the purpose of preparing custom packages or packages from [[AUR]]/[[ABS]]. Just add your local repository at the first position (for top priority) of your build machine's '''pacman.conf''' and you are good to go!}}<br />
<br />
=== isomounts ===<br />
<br />
You will need a small file that holds information about the file systems that are going to be mounted once the live medium boots.<br />
$ vim isomounts<br />
A sample ''isomounts'' for your convenience:<br />
# archiso isomounts file<br />
# img - location of image/directory to mount relative to addons directory<br />
# arch - architecture of this image<br />
# mount point - absolute location on the post-initrd root<br />
# type - either 'bind' or 'squashfs' for now<br />
# syntax: <img> <arch> <mount point> <type><br />
# ORDER MATTERS! Files take top-down precedence. Be careful<br />
overlay.sqfs @ARCH@ / squashfs<br />
root-image.sqfs @ARCH@ / squashfs<br />
<br />
{{warning| There should be an enter [empty line] which represents EOF [end of file] at the end of isomounts file or else expect kernel panic!}}<br />
<br />
=== boot-files ===<br />
<br />
You will add least need a "boot-files" directory and and a subdirectory "isolinux/" containing a "isolinux.cfg".<br />
<br />
{{warning|Due to recent changes, support for [[grub]] as a boot manager for Archiso live medium creation has been dropped. Please do not attempt to use grub. Instead, you will have to use syslinux's isolinux which will get you an iso that will double as a usb image for free.}}<br />
<br />
==== Using isolinux ====<br />
Using ''isolinux'' is easy:<br />
$ mkdir -p boot-files/isolinux/<br />
$ vim boot-files/isolinux/isolinux.cfg<br />
<br />
Sample contents:<br />
prompt 1<br />
timeout 0<br />
display myarch.msg<br />
DEFAULT myarch<br />
<br />
LABEL myarch<br />
KERNEL /boot/vmlinuz26<br />
APPEND lang=en locale=en_US.UTF-8 usbdelay=5 ramdisk_size=75% initrd=/boot/myarch.img archisolabel=XXX<br />
<br />
LABEL memtest86+<br />
KERNEL /boot/memtest86+-2.10.bin<br />
<br />
Additionally, you may want a message to be shown above the boot line:<br />
$ vim boot-files/isolinux/myarch.msg<br />
<br />
This can be any arbitrary message in ASCII:<br />
<br />
HI GENTLEMEN LOL<br />
WELCOME TO MY DISTRO<br />
I HOPE U ENJOY MAKE UR TIME<br />
HA-HA-HA<br />
<br />
Please do note that you will first have to manually get the memtest*.bin from somewhere first because it won't be put there for you. If you do not want to use it, please comment it out.<br />
<br />
Due to the modular nature of isolinux, you are able to use lots of addons since all *.c32 files are copied and available to you. Take a look at the [http://syslinux.zytor.com/wiki/index.php/SYSLINUX official syslinux site] and the [http://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files archiso git repo]. Using said addons, it is possible to make visually attractive and complex menus. See [http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32 here].<br />
<br />
=== overlay ===<br />
The last item of importance is the '''overlay'''. Basically this means any other stuff you might want to include on your live medium, including binary package repositories, special configurations, random files, anything you can think of. ''mkarchiso'' expects them all to be put in a single directory. The ''overlay'' will, as the name implies, be layered on top the base system at boot time using ''AUFS''. The structure inside the overlay is that of a root filesystem. <br />
<br />
All non-existing files and directories which are included in the overlay but do not exist in the base system will be created. <br />
All existing files and directories which do exist in the base system are overwritten with the files from the overlay.<br />
<br />
Next, create the ''overlay'':<br />
$ mkdir overlay && cd overlay/<br />
<br />
Woah, that was easy! Now, you still need to add some useful stuff in there. A couple of examples: <br />
<br />
'''''Note:''' It is important that all files in the overlay carry the proper permissions. You are therefore advised to use the root account to commit changes to this directory. Remember, it is an actual root filesystem layer.''<br />
<br />
==== Adding a fstab ====<br />
It is required to add a '''fstab''' file in /etc:<br />
$ mkdir etc<br />
$ vim etc/fstab<br />
<br />
aufs / aufs noauto 0 0<br />
none /dev/pts devpts defaults 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
/dev/cdrom /bootcd iso9660 ro,user,noauto 0 0<br />
<br />
==== Adding a predefined user ====<br />
<br />
===== Manually =====<br />
You will want a user in your live session. There are many ways to do that. One way to do it is to manually add the user and all groups you may want as files in etc/, without calling any commands. This can be accomplished by using your host system's /etc files and modifying them to make them fit the purpose:<br />
<br />
$ cp /etc/group etc/group<br />
$ cp /etc/passwd etc/passwd<br />
$ cp /etc/shadow etc/shadow<br />
<br />
'''''Note:''' Be very careful not to leave your encrypted passwords in the passwd or shadow file! Your password is at the second position (after the first ':'). You must not leave it in there!''<br />
<br />
To make a password-less user, simply clear the second position like so: <br />
root::99999::::::<br />
<br />
Additionally, the user will need a home directory or many things will fail (remember to change the home directory correctly in ''passwd''). You will want to use rc.local to create a home directory at boot time and fill it with /etc/skel. If you don't know about /etc/skel, you should read up on that.<br />
$ vim etc/rc.local<br />
mkdir /home/archie && chown archie:archie /home/archie<br />
su -c "cp -r /etc/skel/.[a-zA-Z0-9]* /home/archie/" archie<br />
<br />
===== Using useradd =====<br />
Another way of adding the user is using ''etc/rc.local'' to create the user at boot time:<br />
$ vim etc/rc.local<br />
<br />
useradd -u 1000 -g users -G storage,floppy,optical,audio,video,network,games,wheel,disk -d /home/archie archie<br />
<br />
This should take care of the user and his home directory.<br />
<br />
==== Putting stuff into the user's home directory at boot time ====<br />
It might be desirable to put some pre-defined user settings in place when the live user enters his session. Luckily, there is a directory which automatically copies itself into each new user's home directory: /etc/skel.<br />
<br />
You will need to create that directory and then put your stuff in there:<br />
$ mkdir etc/skel<br />
<br />
And for example:<br />
$ vim etc/skel/.bashrc <br />
<br />
alias ls='ls --color=auto'<br />
PS1='[\u@\h \W]\$ '<br />
<br />
Covering all the magic that could be done to a user at boot time is vastly beyond this article's scope.<br />
<br />
'''''Note:''' You may NOT directly create any user's home directory directly in the overlay by putting stuff into /home/user/, it will break permissions in the guest system! Use /etc/skel/.''<br />
<br />
==== Finishing the overlay ====<br />
Some tips that will not be covered in this article because there are other articles on this wiki that already do:<br />
*Configure an ''inittab'' to start into X at boot time<br />
*Configure the ''hosts'' file<br />
*Configure ''rc.conf'' (no fancy modules required here)<br />
*Configure ''sudoers''<br />
*Configure ''rc.local''<br />
*Put more stuff into etc/skel<br />
*Put additional artworks onto the medium <br />
*Put arbitrary binary stuff into opt/<br />
<br />
== Generate your live medium ==<br />
After so much time spent on configuring, here comes the fun part: Baking the image.<br />
<br />
It's quite easy, too: As root (important!) execute the following in your project directory (where your ''Makefile'' is located):<br />
$ make all<br />
You will receive a .iso, ready for burning onto a CD/DVD or for dd'ing onto a USB key: <br />
dd if=my-image.iso of=/dev/some-usb-drive bs=8M<br />
Enjoy!<br />
{{warning|Careful with <tt>dd</tt>! If you use it on the wrong drive, a lot of precious data may be lost. Use with caution.}}<br />
<br />
== Links ==<br />
[http://projects.archlinux.org/?p=archiso.git;a=summary Archiso project page]</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Archiso&diff=97832Archiso2010-02-22T05:37:06Z<p>SHyLoCk: /* isomounts */</p>
<hr />
<div>[[Category:Live_Arch_systems_(English)]]<br />
[[Category:HOWTOs (English)]]<br />
== What is it? ==<br />
'''Archiso''' is a small set of bash scripts that is capable of building fully functional '''Arch Linux based live CD/DVD and USB images'''. It is a very generic tool, so it could potentially be used to generate anything from rescue systems, to install disks, to special interest live CD/DVD/USB systems, and who knows what else. Simply put, if it involves Arch on a shiny coaster, it can do it.<br />
The heart and soul of Archiso is '''mkarchiso'''. All of its options are documented in its usage output, so its direct usage wont be covered here. Instead, this wiki article will act as a guide for rolling your own live mediums in no time!<br />
<br />
Due to recent changes, '''Archiso''' will now automatically create ISO images that are also USB images! Separate CD/USB targets are therefore no longer necessary.<br />
<br />
== Install Archiso ==<br />
<br />
You have two options to get Archiso:<br />
<br />
*Get the [http://aur.archlinux.org/packages.php?ID=25996 archiso-git AUR package] (recommended)<br />
*Get it from the Git repo yourself:<br />
$ git clone git://projects.archlinux.org/archiso.git<br />
$ cd archiso/archiso<br />
$ sudo make install<br />
$ sudo pacman -S mkinitcpio cdrkit squashfs-tools devtools aufs2-util syslinux<br />
<br />
'''''Note:''' Due, to recent mkinitcpio update, the current archiso-git will not work! You should reset the git to commit 22f91073, or just download and use [http://http://projects.archlinux.org/archiso.git/snapshot/archiso-22f910736da3b225f46840bc7ad1ec41fefddece.tar.gz this package].<br />
<br />
As of the current date, the archiso in [[Official_Repositories|extra]] is not up-to-date enough to follow this guide and its usage is therefore not recommended.''<br />
<br />
== Configure our live medium ==<br />
<br />
=== Makefile ===<br />
The very first thing you should do is creating a directory to work in, and cd to it. This'll help keep things organized. <br />
$ mkdir myarch && cd myarch<br />
Next, you'll want to create a Makefile and put our building instructions in there. The Makefile will define all actions that mkarchiso is going to execute. You could say it is our project file.<br />
$ vim Makefile<br />
Below you will find a sample Makefile that should work for most stuff you want and that works with everything described in this article.<br />
<br />
{{Warning | All indents within the makefile are with tabs. Using spaces gives a missing separator error}}<br />
<br />
{{Warning | Earlier versions of this makefile worked with "mkinitcpio -c mkinitcpio.conf..." however (possibly due to recent updates?) this may no longer work. If you see a warning regarding not being able to find the mkinitcpio.conf file, use the full path to the file, or "./". Otherwise you may get an empty initcpio, which will render the system unbootable (VFS error, kernel panic)}}<br />
<br />
<code><br />
#### Change these settings to modify how this ISO is built.<br />
# The directory that you'll be using for the actual build process.<br />
'''WORKDIR=work'''<br />
# A list of packages to install, either space separated in a string or line separated in a file. Can include groups.<br />
'''PACKAGES="$(shell cat packages.list) syslinux"'''<br />
# The name of our ISO. Does not specify the architecture!<br />
'''NAME=myarch'''<br />
# Version will be appended to the ISO.<br />
'''VER=1.00'''<br />
# Kernel version. You'll need this.<br />
'''KVER=2.6.32-ARCH'''<br />
# Architecture will also be appended to the ISO name.<br />
'''ARCH?=$(shell uname -m)'''<br />
# Current working directory<br />
'''PWD:=$(shell pwd)'''<br />
# This is going to be the full name the final iso/img will carry<br />
'''FULLNAME="$(PWD)"/$(NAME)-$(VER)-$(ARCH)'''<br />
<br />
# Default make instruction to build everything.<br />
'''all: myarch'''<br />
<br />
# The following will first run the ''base-fs'' routine before creating the final iso image.<br />
'''myarch: base-fs'''<br />
'''mkarchiso -p syslinux iso "$(WORKDIR)" "$(FULLNAME)".iso'''<br />
<br />
# This is the main rule for make the working filesystem. It will run routines from left to right. <br />
# Thus, ''root-image'' is called first and ''syslinux'' is called last.<br />
'''base-fs: root-image boot-files initcpio overlay iso-mounts syslinux'''<br />
<br />
# The ''root-image'' routine is always executed first. <br />
# It only downloads and installs all packages into the ''$WORKDIR'', giving you a basic system to use as a base.<br />
'''root-image: "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''"$(WORKDIR)"/root-image/.arch-chroot:'''<br />
'''root-image:'''<br />
'''mkarchiso -p $(PACKAGES) create "$(WORKDIR)"'''<br />
<br />
# Rule for make /boot<br />
'''boot-files: root-image'''<br />
'''cp -r "$(WORKDIR)"/root-image/boot "$(WORKDIR)"/iso/'''<br />
'''cp -r boot-files/* "$(WORKDIR)"/iso/boot/'''<br />
<br />
# Rules for initcpio images<br />
'''initcpio: "$(WORKDIR)"/iso/boot/myarch.img'''<br />
'''"$(WORKDIR)"/iso/boot/myarch.img: mkinitcpio.conf "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''mkdir -p "$(WORKDIR)"/iso/boot'''<br />
'''mkinitcpio -c ./mkinitcpio.conf -b "$(WORKDIR)"/root-image -k $(KVER) -g $@'''<br />
<br />
# See: [[#overlay|Overlay]]<br />
'''overlay:'''<br />
'''mkdir -p "$(WORKDIR)"/overlay/etc/pacman.d'''<br />
'''cp -r overlay "$(WORKDIR)"/'''<br />
'''wget -O "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist http://www.archlinux.org/mirrorlist/$(ARCH)/all/'''<br />
'''sed -i "s/#Server/Server/g" "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist'''<br />
<br />
# Rule to process isomounts file.'''<br />
'''iso-mounts: "$(WORKDIR)"/isomounts'''<br />
'''"$(WORKDIR)"/isomounts: isomounts root-image'''<br />
'''sed "s|@ARCH@|$(ARCH)|g" isomounts > $@'''<br />
<br />
# This routine is always executed just before generating the actual image. <br />
'''syslinux: root-image'''<br />
'''mkdir -p $(WORKDIR)/iso/boot/isolinux'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/boot/isolinux/'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/boot/isolinux/'''<br />
<br />
# In case "make clean" is called, the following routine gets rid of all files created by this Makefile.<br />
'''clean:'''<br />
'''rm -rf "$(WORKDIR)" "$(FULLNAME)".img "$(FULLNAME)".iso'''<br />
<br />
.PHONY: all myarch<br />
.PHONY: base-fs<br />
.PHONY: root-image boot-files initcpio overlay iso-mounts<br />
.PHONY: syslinux<br />
.PHONY: clean<br />
<br />
So if "make myarch" is called (as '''root'''!), the following is what effectively happens:<br />
*'''root-image''' downloads and installs all chosen packages into ''$WORKDIR''<br />
*'''boot-files''' prepares generic bootloader files and then copies our custom bootloader settings<br />
*'''initcpio''' takes care of an ''initcpio'' for us<br />
*'''overlay''' copies our custom overlay files into the ''root-image'' in ''$WORKDIR'' <br />
*'''iso-mounts''' just a little sed magic so AUFS will be able to find its mount points at boot time<br />
*'''syslinux''' copies over our actual bootloader<br />
*'''myarch''' finally creates our bootable .iso file, ready for burning onto a CD/DVD or writing to a USB device<br />
</code><br />
<br />
A Makefile itself won't suffice, so you'll need to create some additional files which will be covered below.<br />
<br />
=== mkinitcpio.conf ===<br />
<br />
An ''initcpio'' is necessary for creating a system that is able to "wake-up" from a CD/DVD/USB.<br />
<br />
Therefore, you should create a mkinitcpio.conf that holds a list of our hooks:<br />
$ vim mkinitcpio.conf<br />
A typical set of hooks for archiso looks something like this:<br />
HOOKS="base archiso_early udev archiso pata scsi sata usb fw filesystems usbinput"<br />
<br />
''Note: If you are using commit 22f91073 instead, the hook should be renamed to archiso-early and not archiso_early!''<br />
<br />
This list will get you a system that can be booted off a CD/DVD or a USB device. It's worth mentioning that hardware auto-detection and things of that nature do not belong here. Only what's necessary to get the system on its feet, and out of the ''initcpio'' really belong here, fancier stuff can be done on the booted system anyway.<br />
<br />
=== packages.list ===<br />
<br />
You'll also want to create a list of packages you want installed on your live CD system. A file full of package names, one-per-line, is the format for this. Typically you'll want '''base''' and '''kernel26''' as a bare minimum, but you're free to install whatever else you want. This is '''''great''''' for special interest live CDs, just specify packages you want and bake the image.<br />
<br />
{{Note|'''mkarchiso''' will use your local build machine's ''/etc/pacman.conf'' for sources. If you have activated [testing] in there, it will also be used for grabbing the packages for the live medium. If you want to use another ''pacman.conf'', you can copy it to the local project folder and use '''mkarchiso -c pacman.conf''' to use your local ''pacman.conf''. For this to work when building the ISO, you will have to add '''-c pacman.conf''' to all calls to '''mkarchiso''' in the Makefile.}}<br />
$ vim packages.list<br />
You may want to put at least the following into there:<br />
aufs2<br />
aufs2-util<br />
base<br />
bash<br />
coreutils<br />
cpio<br />
dhcpcd<br />
dnsutils<br />
file<br />
fuse<br />
kernel26<br />
syslinux<br />
nano<br />
<br />
This should already get you a booting system without much else. Be aware, though, that it lacks quite a lot drivers that aren't directly included in the kernel, notably wireless and graphics drivers and of course special purpose devices. Just add in driver packages as desired. A lot of hardware should run anyway, though. For some suggestions for different configurations, see the included examples for Archiso.<br />
<br />
{{Tip|You can also create a '''[[custom local repository]]''' for the purpose of preparing custom packages or packages from [[AUR]]/[[ABS]]. Just add your local repository at the first position (for top priority) of your build machine's '''pacman.conf''' and you are good to go!}}<br />
<br />
=== isomounts ===<br />
<br />
You will need a small file that holds information about the file systems that are going to be mounted once the live medium boots.<br />
$ vim isomounts<br />
A sample ''isomounts'' for your convenience:<br />
# archiso isomounts file<br />
# img - location of image/directory to mount relative to addons directory<br />
# arch - architecture of this image<br />
# mount point - absolute location on the post-initrd root<br />
# type - either 'bind' or 'squashfs' for now<br />
# syntax: <img> <arch> <mount point> <type><br />
# ORDER MATTERS! Files take top-down precedence. Be careful<br />
overlay.sqfs @ARCH@ / squashfs<br />
root-image.sqfs @ARCH@ / squashfs<br />
<br />
{{warning| There should be an enter [empty line] which represents EOF [end of file] at the end of isomounts file or else expect kernel panic!}}<br />
<br />
=== boot-files ===<br />
<br />
You will add least need a "boot-files" directory and and a subdirectory "isolinux/" containing a "isolinux.cfg".<br />
<br />
{{warning|Due to recent changes, support for [[grub]] as a boot manager for Archiso live medium creation has been dropped. Please do not attempt to use grub. Instead, you will have to use syslinux's isolinux which will get you an iso that will double as a usb image for free.}}<br />
<br />
==== Using isolinux ====<br />
Using ''isolinux'' is easy:<br />
$ mkdir -p boot-files/isolinux/<br />
$ vim boot-files/isolinux/isolinux.cfg<br />
<br />
Sample contents:<br />
prompt 1<br />
timeout 0<br />
display myarch.msg<br />
DEFAULT myarch<br />
<br />
LABEL myarch<br />
KERNEL /boot/vmlinuz26<br />
APPEND lang=en locale=en_US.UTF-8 usbdelay=5 ramdisk_size=75% initrd=/boot/myarch.img archisolabel=XXX<br />
<br />
LABEL memtest86+<br />
KERNEL /boot/memtest86+-2.10.bin<br />
<br />
Additionally, you may want a message to be shown above the boot line:<br />
$ vim boot-files/isolinux/myarch.msg<br />
<br />
This can be any arbitrary message in ASCII:<br />
<br />
HI GENTLEMEN LOL<br />
WELCOME TO MY DISTRO<br />
I HOPE U ENJOY MAKE UR TIME<br />
HA-HA-HA<br />
<br />
Please do note that you will first have to manually get the memtest*.bin from somewhere first because it won't be put there for you. If you do not want to use it, please comment it out.<br />
<br />
Due to the modular nature of isolinux, you are able to use lots of addons since all *.c32 files are copied and available to you. Take a look at the [http://syslinux.zytor.com/wiki/index.php/SYSLINUX official syslinux site] and the [http://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files archiso git repo]. Using said addons, it is possible to make visually attractive and complex menus. See [http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32 here].<br />
<br />
=== overlay ===<br />
The last item of importance is the '''overlay'''. Basically this means any other stuff you might want to include on your live medium, including binary package repositories, special configurations, random files, anything you can think of. ''mkarchiso'' expects them all to be put in a single directory. The ''overlay'' will, as the name implies, be layered on top the base system at boot time using ''AUFS''. The structure inside the overlay is that of a root filesystem. <br />
<br />
All non-existing files and directories which are included in the overlay but do not exist in the base system will be created. <br />
All existing files and directories which do exist in the base system are overwritten with the files from the overlay.<br />
<br />
Next, create the ''overlay'':<br />
$ mkdir overlay && cd overlay/<br />
<br />
Woah, that was easy! Now, you still need to add some useful stuff in there. A couple of examples: <br />
<br />
'''''Note:''' It is important that all files in the overlay carry the proper permissions. You are therefore advised to use the root account to commit changes to this directory. Remember, it is an actual root filesystem layer.''<br />
<br />
==== Adding a fstab ====<br />
It is required to add a '''fstab''' file in /etc:<br />
$ mkdir etc<br />
$ vim etc/fstab<br />
<br />
aufs / aufs noauto 0 0<br />
none /dev/pts devpts defaults 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
/dev/cdrom /bootcd iso9660 ro,user,noauto 0 0<br />
<br />
==== Adding a predefined user ====<br />
<br />
===== Manually =====<br />
You will want a user in your live session. There are many ways to do that. One way to do it is to manually add the user and all groups you may want as files in etc/, without calling any commands. This can be accomplished by using your host system's /etc files and modifying them to make them fit the purpose:<br />
<br />
$ cp /etc/group etc/group<br />
$ cp /etc/passwd etc/passwd<br />
$ cp /etc/shadow etc/shadow<br />
<br />
'''''Note:''' Be very careful not to leave your encrypted passwords in the passwd or shadow file! Your password is at the second position (after the first ':'). You must not leave it in there!''<br />
<br />
To make a password-less user, simply clear the second position like so: <br />
root::99999::::::<br />
<br />
Additionally, the user will need a home directory or many things will fail (remember to change the home directory correctly in ''passwd''). You will want to use rc.local to create a home directory at boot time and fill it with /etc/skel. If you don't know about /etc/skel, you should read up on that.<br />
$ vim etc/rc.local<br />
mkdir /home/archie && chown archie:archie /home/archie<br />
su -c "cp -r /etc/skel/.[a-zA-Z0-9]* /home/archie/" archie<br />
<br />
===== Using useradd =====<br />
Another way of adding the user is using ''etc/rc.local'' to create the user at boot time:<br />
$ vim etc/rc.local<br />
<br />
useradd -u 1000 -g users -G storage,floppy,optical,audio,video,network,games,wheel,disk -d /home/archie archie<br />
<br />
This should take care of the user and his home directory.<br />
<br />
==== Putting stuff into the user's home directory at boot time ====<br />
It might be desirable to put some pre-defined user settings in place when the live user enters his session. Luckily, there is a directory which automatically copies itself into each new user's home directory: /etc/skel.<br />
<br />
You will need to create that directory and then put your stuff in there:<br />
$ mkdir etc/skel<br />
<br />
And for example:<br />
$ vim etc/skel/.bashrc <br />
<br />
alias ls='ls --color=auto'<br />
PS1='[\u@\h \W]\$ '<br />
<br />
Covering all the magic that could be done to a user at boot time is vastly beyond this article's scope.<br />
<br />
'''''Note:''' You may NOT directly create any user's home directory directly in the overlay by putting stuff into /home/user/, it will break permissions in the guest system! Use /etc/skel/.''<br />
<br />
==== Finishing the overlay ====<br />
Some tips that will not be covered in this article because there are other articles on this wiki that already do:<br />
*Configure an ''inittab'' to start into X at boot time<br />
*Configure the ''hosts'' file<br />
*Configure ''rc.conf'' (no fancy modules required here)<br />
*Configure ''sudoers''<br />
*Configure ''rc.local''<br />
*Put more stuff into etc/skel<br />
*Put additional artworks onto the medium <br />
*Put arbitrary binary stuff into opt/<br />
<br />
== Generate your live medium ==<br />
After so much time spent on configuring, here comes the fun part: Baking the image.<br />
<br />
It's quite easy, too: As root (important!) execute the following in your project directory (where your ''Makefile'' is located):<br />
$ make all<br />
You will receive a .iso, ready for burning onto a CD/DVD or for dd'ing onto a USB key: <br />
dd if=my-image.iso of=/dev/some-usb-drive bs=8M<br />
Enjoy!<br />
{{warning|Careful with <tt>dd</tt>! If you use it on the wrong drive, a lot of precious data may be lost. Use with caution.}}<br />
<br />
== Links ==<br />
[http://projects.archlinux.org/?p=archiso.git;a=summary Archiso project page]</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Archiso&diff=97831Archiso2010-02-22T05:33:21Z<p>SHyLoCk: /* isomounts */</p>
<hr />
<div>[[Category:Live_Arch_systems_(English)]]<br />
[[Category:HOWTOs (English)]]<br />
== What is it? ==<br />
'''Archiso''' is a small set of bash scripts that is capable of building fully functional '''Arch Linux based live CD/DVD and USB images'''. It is a very generic tool, so it could potentially be used to generate anything from rescue systems, to install disks, to special interest live CD/DVD/USB systems, and who knows what else. Simply put, if it involves Arch on a shiny coaster, it can do it.<br />
The heart and soul of Archiso is '''mkarchiso'''. All of its options are documented in its usage output, so its direct usage wont be covered here. Instead, this wiki article will act as a guide for rolling your own live mediums in no time!<br />
<br />
Due to recent changes, '''Archiso''' will now automatically create ISO images that are also USB images! Separate CD/USB targets are therefore no longer necessary.<br />
<br />
== Install Archiso ==<br />
<br />
You have two options to get Archiso:<br />
<br />
*Get the [http://aur.archlinux.org/packages.php?ID=25996 archiso-git AUR package] (recommended)<br />
*Get it from the Git repo yourself:<br />
$ git clone git://projects.archlinux.org/archiso.git<br />
$ cd archiso/archiso<br />
$ sudo make install<br />
$ sudo pacman -S mkinitcpio cdrkit squashfs-tools devtools aufs2-util syslinux<br />
<br />
'''''Note:''' Due, to recent mkinitcpio update, the current archiso-git will not work! You should reset the git to commit 22f91073, or just download and use [http://http://projects.archlinux.org/archiso.git/snapshot/archiso-22f910736da3b225f46840bc7ad1ec41fefddece.tar.gz this package].<br />
<br />
As of the current date, the archiso in [[Official_Repositories|extra]] is not up-to-date enough to follow this guide and its usage is therefore not recommended.''<br />
<br />
== Configure our live medium ==<br />
<br />
=== Makefile ===<br />
The very first thing you should do is creating a directory to work in, and cd to it. This'll help keep things organized. <br />
$ mkdir myarch && cd myarch<br />
Next, you'll want to create a Makefile and put our building instructions in there. The Makefile will define all actions that mkarchiso is going to execute. You could say it is our project file.<br />
$ vim Makefile<br />
Below you will find a sample Makefile that should work for most stuff you want and that works with everything described in this article.<br />
<br />
{{Warning | All indents within the makefile are with tabs. Using spaces gives a missing separator error}}<br />
<br />
{{Warning | Earlier versions of this makefile worked with "mkinitcpio -c mkinitcpio.conf..." however (possibly due to recent updates?) this may no longer work. If you see a warning regarding not being able to find the mkinitcpio.conf file, use the full path to the file, or "./". Otherwise you may get an empty initcpio, which will render the system unbootable (VFS error, kernel panic)}}<br />
<br />
<code><br />
#### Change these settings to modify how this ISO is built.<br />
# The directory that you'll be using for the actual build process.<br />
'''WORKDIR=work'''<br />
# A list of packages to install, either space separated in a string or line separated in a file. Can include groups.<br />
'''PACKAGES="$(shell cat packages.list) syslinux"'''<br />
# The name of our ISO. Does not specify the architecture!<br />
'''NAME=myarch'''<br />
# Version will be appended to the ISO.<br />
'''VER=1.00'''<br />
# Kernel version. You'll need this.<br />
'''KVER=2.6.32-ARCH'''<br />
# Architecture will also be appended to the ISO name.<br />
'''ARCH?=$(shell uname -m)'''<br />
# Current working directory<br />
'''PWD:=$(shell pwd)'''<br />
# This is going to be the full name the final iso/img will carry<br />
'''FULLNAME="$(PWD)"/$(NAME)-$(VER)-$(ARCH)'''<br />
<br />
# Default make instruction to build everything.<br />
'''all: myarch'''<br />
<br />
# The following will first run the ''base-fs'' routine before creating the final iso image.<br />
'''myarch: base-fs'''<br />
'''mkarchiso -p syslinux iso "$(WORKDIR)" "$(FULLNAME)".iso'''<br />
<br />
# This is the main rule for make the working filesystem. It will run routines from left to right. <br />
# Thus, ''root-image'' is called first and ''syslinux'' is called last.<br />
'''base-fs: root-image boot-files initcpio overlay iso-mounts syslinux'''<br />
<br />
# The ''root-image'' routine is always executed first. <br />
# It only downloads and installs all packages into the ''$WORKDIR'', giving you a basic system to use as a base.<br />
'''root-image: "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''"$(WORKDIR)"/root-image/.arch-chroot:'''<br />
'''root-image:'''<br />
'''mkarchiso -p $(PACKAGES) create "$(WORKDIR)"'''<br />
<br />
# Rule for make /boot<br />
'''boot-files: root-image'''<br />
'''cp -r "$(WORKDIR)"/root-image/boot "$(WORKDIR)"/iso/'''<br />
'''cp -r boot-files/* "$(WORKDIR)"/iso/boot/'''<br />
<br />
# Rules for initcpio images<br />
'''initcpio: "$(WORKDIR)"/iso/boot/myarch.img'''<br />
'''"$(WORKDIR)"/iso/boot/myarch.img: mkinitcpio.conf "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''mkdir -p "$(WORKDIR)"/iso/boot'''<br />
'''mkinitcpio -c ./mkinitcpio.conf -b "$(WORKDIR)"/root-image -k $(KVER) -g $@'''<br />
<br />
# See: [[#overlay|Overlay]]<br />
'''overlay:'''<br />
'''mkdir -p "$(WORKDIR)"/overlay/etc/pacman.d'''<br />
'''cp -r overlay "$(WORKDIR)"/'''<br />
'''wget -O "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist http://www.archlinux.org/mirrorlist/$(ARCH)/all/'''<br />
'''sed -i "s/#Server/Server/g" "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist'''<br />
<br />
# Rule to process isomounts file.'''<br />
'''iso-mounts: "$(WORKDIR)"/isomounts'''<br />
'''"$(WORKDIR)"/isomounts: isomounts root-image'''<br />
'''sed "s|@ARCH@|$(ARCH)|g" isomounts > $@'''<br />
<br />
# This routine is always executed just before generating the actual image. <br />
'''syslinux: root-image'''<br />
'''mkdir -p $(WORKDIR)/iso/boot/isolinux'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/boot/isolinux/'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/boot/isolinux/'''<br />
<br />
# In case "make clean" is called, the following routine gets rid of all files created by this Makefile.<br />
'''clean:'''<br />
'''rm -rf "$(WORKDIR)" "$(FULLNAME)".img "$(FULLNAME)".iso'''<br />
<br />
.PHONY: all myarch<br />
.PHONY: base-fs<br />
.PHONY: root-image boot-files initcpio overlay iso-mounts<br />
.PHONY: syslinux<br />
.PHONY: clean<br />
<br />
So if "make myarch" is called (as '''root'''!), the following is what effectively happens:<br />
*'''root-image''' downloads and installs all chosen packages into ''$WORKDIR''<br />
*'''boot-files''' prepares generic bootloader files and then copies our custom bootloader settings<br />
*'''initcpio''' takes care of an ''initcpio'' for us<br />
*'''overlay''' copies our custom overlay files into the ''root-image'' in ''$WORKDIR'' <br />
*'''iso-mounts''' just a little sed magic so AUFS will be able to find its mount points at boot time<br />
*'''syslinux''' copies over our actual bootloader<br />
*'''myarch''' finally creates our bootable .iso file, ready for burning onto a CD/DVD or writing to a USB device<br />
</code><br />
<br />
A Makefile itself won't suffice, so you'll need to create some additional files which will be covered below.<br />
<br />
=== mkinitcpio.conf ===<br />
<br />
An ''initcpio'' is necessary for creating a system that is able to "wake-up" from a CD/DVD/USB.<br />
<br />
Therefore, you should create a mkinitcpio.conf that holds a list of our hooks:<br />
$ vim mkinitcpio.conf<br />
A typical set of hooks for archiso looks something like this:<br />
HOOKS="base archiso_early udev archiso pata scsi sata usb fw filesystems usbinput"<br />
<br />
''Note: If you are using commit 22f91073 instead, the hook should be renamed to archiso-early and not archiso_early!''<br />
<br />
This list will get you a system that can be booted off a CD/DVD or a USB device. It's worth mentioning that hardware auto-detection and things of that nature do not belong here. Only what's necessary to get the system on its feet, and out of the ''initcpio'' really belong here, fancier stuff can be done on the booted system anyway.<br />
<br />
=== packages.list ===<br />
<br />
You'll also want to create a list of packages you want installed on your live CD system. A file full of package names, one-per-line, is the format for this. Typically you'll want '''base''' and '''kernel26''' as a bare minimum, but you're free to install whatever else you want. This is '''''great''''' for special interest live CDs, just specify packages you want and bake the image.<br />
<br />
{{Note|'''mkarchiso''' will use your local build machine's ''/etc/pacman.conf'' for sources. If you have activated [testing] in there, it will also be used for grabbing the packages for the live medium. If you want to use another ''pacman.conf'', you can copy it to the local project folder and use '''mkarchiso -c pacman.conf''' to use your local ''pacman.conf''. For this to work when building the ISO, you will have to add '''-c pacman.conf''' to all calls to '''mkarchiso''' in the Makefile.}}<br />
$ vim packages.list<br />
You may want to put at least the following into there:<br />
aufs2<br />
aufs2-util<br />
base<br />
bash<br />
coreutils<br />
cpio<br />
dhcpcd<br />
dnsutils<br />
file<br />
fuse<br />
kernel26<br />
syslinux<br />
nano<br />
<br />
This should already get you a booting system without much else. Be aware, though, that it lacks quite a lot drivers that aren't directly included in the kernel, notably wireless and graphics drivers and of course special purpose devices. Just add in driver packages as desired. A lot of hardware should run anyway, though. For some suggestions for different configurations, see the included examples for Archiso.<br />
<br />
{{Tip|You can also create a '''[[custom local repository]]''' for the purpose of preparing custom packages or packages from [[AUR]]/[[ABS]]. Just add your local repository at the first position (for top priority) of your build machine's '''pacman.conf''' and you are good to go!}}<br />
<br />
=== isomounts ===<br />
<br />
You will need a small file that holds information about the file systems that are going to be mounted once the live medium boots.<br />
$ vim isomounts<br />
A sample ''isomounts'' for your convenience:<br />
# archiso isomounts file<br />
# img - location of image/directory to mount relative to addons directory<br />
# arch - architecture of this image<br />
# mount point - absolute location on the post-initrd root<br />
# type - either 'bind' or 'squashfs' for now<br />
# syntax: <img> <arch> <mount point> <type><br />
# ORDER MATTERS! Files take top-down precedence. Be careful<br />
overlay.sqfs @ARCH@ / squashfs<br />
root-image.sqfs @ARCH@ / squashfs<br />
<br />
''Note: There should be an enter [empty line] which represents EOF [end of file] at the end of isomounts file or else expect kernel panic!<br />
<br />
=== boot-files ===<br />
<br />
You will add least need a "boot-files" directory and and a subdirectory "isolinux/" containing a "isolinux.cfg".<br />
<br />
{{warning|Due to recent changes, support for [[grub]] as a boot manager for Archiso live medium creation has been dropped. Please do not attempt to use grub. Instead, you will have to use syslinux's isolinux which will get you an iso that will double as a usb image for free.}}<br />
<br />
==== Using isolinux ====<br />
Using ''isolinux'' is easy:<br />
$ mkdir -p boot-files/isolinux/<br />
$ vim boot-files/isolinux/isolinux.cfg<br />
<br />
Sample contents:<br />
prompt 1<br />
timeout 0<br />
display myarch.msg<br />
DEFAULT myarch<br />
<br />
LABEL myarch<br />
KERNEL /boot/vmlinuz26<br />
APPEND lang=en locale=en_US.UTF-8 usbdelay=5 ramdisk_size=75% initrd=/boot/myarch.img archisolabel=XXX<br />
<br />
LABEL memtest86+<br />
KERNEL /boot/memtest86+-2.10.bin<br />
<br />
Additionally, you may want a message to be shown above the boot line:<br />
$ vim boot-files/isolinux/myarch.msg<br />
<br />
This can be any arbitrary message in ASCII:<br />
<br />
HI GENTLEMEN LOL<br />
WELCOME TO MY DISTRO<br />
I HOPE U ENJOY MAKE UR TIME<br />
HA-HA-HA<br />
<br />
Please do note that you will first have to manually get the memtest*.bin from somewhere first because it won't be put there for you. If you do not want to use it, please comment it out.<br />
<br />
Due to the modular nature of isolinux, you are able to use lots of addons since all *.c32 files are copied and available to you. Take a look at the [http://syslinux.zytor.com/wiki/index.php/SYSLINUX official syslinux site] and the [http://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files archiso git repo]. Using said addons, it is possible to make visually attractive and complex menus. See [http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32 here].<br />
<br />
=== overlay ===<br />
The last item of importance is the '''overlay'''. Basically this means any other stuff you might want to include on your live medium, including binary package repositories, special configurations, random files, anything you can think of. ''mkarchiso'' expects them all to be put in a single directory. The ''overlay'' will, as the name implies, be layered on top the base system at boot time using ''AUFS''. The structure inside the overlay is that of a root filesystem. <br />
<br />
All non-existing files and directories which are included in the overlay but do not exist in the base system will be created. <br />
All existing files and directories which do exist in the base system are overwritten with the files from the overlay.<br />
<br />
Next, create the ''overlay'':<br />
$ mkdir overlay && cd overlay/<br />
<br />
Woah, that was easy! Now, you still need to add some useful stuff in there. A couple of examples: <br />
<br />
'''''Note:''' It is important that all files in the overlay carry the proper permissions. You are therefore advised to use the root account to commit changes to this directory. Remember, it is an actual root filesystem layer.''<br />
<br />
==== Adding a fstab ====<br />
It is required to add a '''fstab''' file in /etc:<br />
$ mkdir etc<br />
$ vim etc/fstab<br />
<br />
aufs / aufs noauto 0 0<br />
none /dev/pts devpts defaults 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
/dev/cdrom /bootcd iso9660 ro,user,noauto 0 0<br />
<br />
==== Adding a predefined user ====<br />
<br />
===== Manually =====<br />
You will want a user in your live session. There are many ways to do that. One way to do it is to manually add the user and all groups you may want as files in etc/, without calling any commands. This can be accomplished by using your host system's /etc files and modifying them to make them fit the purpose:<br />
<br />
$ cp /etc/group etc/group<br />
$ cp /etc/passwd etc/passwd<br />
$ cp /etc/shadow etc/shadow<br />
<br />
'''''Note:''' Be very careful not to leave your encrypted passwords in the passwd or shadow file! Your password is at the second position (after the first ':'). You must not leave it in there!''<br />
<br />
To make a password-less user, simply clear the second position like so: <br />
root::99999::::::<br />
<br />
Additionally, the user will need a home directory or many things will fail (remember to change the home directory correctly in ''passwd''). You will want to use rc.local to create a home directory at boot time and fill it with /etc/skel. If you don't know about /etc/skel, you should read up on that.<br />
$ vim etc/rc.local<br />
mkdir /home/archie && chown archie:archie /home/archie<br />
su -c "cp -r /etc/skel/.[a-zA-Z0-9]* /home/archie/" archie<br />
<br />
===== Using useradd =====<br />
Another way of adding the user is using ''etc/rc.local'' to create the user at boot time:<br />
$ vim etc/rc.local<br />
<br />
useradd -u 1000 -g users -G storage,floppy,optical,audio,video,network,games,wheel,disk -d /home/archie archie<br />
<br />
This should take care of the user and his home directory.<br />
<br />
==== Putting stuff into the user's home directory at boot time ====<br />
It might be desirable to put some pre-defined user settings in place when the live user enters his session. Luckily, there is a directory which automatically copies itself into each new user's home directory: /etc/skel.<br />
<br />
You will need to create that directory and then put your stuff in there:<br />
$ mkdir etc/skel<br />
<br />
And for example:<br />
$ vim etc/skel/.bashrc <br />
<br />
alias ls='ls --color=auto'<br />
PS1='[\u@\h \W]\$ '<br />
<br />
Covering all the magic that could be done to a user at boot time is vastly beyond this article's scope.<br />
<br />
'''''Note:''' You may NOT directly create any user's home directory directly in the overlay by putting stuff into /home/user/, it will break permissions in the guest system! Use /etc/skel/.''<br />
<br />
==== Finishing the overlay ====<br />
Some tips that will not be covered in this article because there are other articles on this wiki that already do:<br />
*Configure an ''inittab'' to start into X at boot time<br />
*Configure the ''hosts'' file<br />
*Configure ''rc.conf'' (no fancy modules required here)<br />
*Configure ''sudoers''<br />
*Configure ''rc.local''<br />
*Put more stuff into etc/skel<br />
*Put additional artworks onto the medium <br />
*Put arbitrary binary stuff into opt/<br />
<br />
== Generate your live medium ==<br />
After so much time spent on configuring, here comes the fun part: Baking the image.<br />
<br />
It's quite easy, too: As root (important!) execute the following in your project directory (where your ''Makefile'' is located):<br />
$ make all<br />
You will receive a .iso, ready for burning onto a CD/DVD or for dd'ing onto a USB key: <br />
dd if=my-image.iso of=/dev/some-usb-drive bs=8M<br />
Enjoy!<br />
{{warning|Careful with <tt>dd</tt>! If you use it on the wrong drive, a lot of precious data may be lost. Use with caution.}}<br />
<br />
== Links ==<br />
[http://projects.archlinux.org/?p=archiso.git;a=summary Archiso project page]</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Archiso&diff=97829Archiso2010-02-22T05:29:16Z<p>SHyLoCk: /* isomounts */</p>
<hr />
<div>[[Category:Live_Arch_systems_(English)]]<br />
[[Category:HOWTOs (English)]]<br />
== What is it? ==<br />
'''Archiso''' is a small set of bash scripts that is capable of building fully functional '''Arch Linux based live CD/DVD and USB images'''. It is a very generic tool, so it could potentially be used to generate anything from rescue systems, to install disks, to special interest live CD/DVD/USB systems, and who knows what else. Simply put, if it involves Arch on a shiny coaster, it can do it.<br />
The heart and soul of Archiso is '''mkarchiso'''. All of its options are documented in its usage output, so its direct usage wont be covered here. Instead, this wiki article will act as a guide for rolling your own live mediums in no time!<br />
<br />
Due to recent changes, '''Archiso''' will now automatically create ISO images that are also USB images! Separate CD/USB targets are therefore no longer necessary.<br />
<br />
== Install Archiso ==<br />
<br />
You have two options to get Archiso:<br />
<br />
*Get the [http://aur.archlinux.org/packages.php?ID=25996 archiso-git AUR package] (recommended)<br />
*Get it from the Git repo yourself:<br />
$ git clone git://projects.archlinux.org/archiso.git<br />
$ cd archiso/archiso<br />
$ sudo make install<br />
$ sudo pacman -S mkinitcpio cdrkit squashfs-tools devtools aufs2-util syslinux<br />
<br />
'''''Note:''' Due, to recent mkinitcpio update, the current archiso-git will not work! You should reset the git to commit 22f91073, or just download and use [http://http://projects.archlinux.org/archiso.git/snapshot/archiso-22f910736da3b225f46840bc7ad1ec41fefddece.tar.gz this package].<br />
<br />
As of the current date, the archiso in [[Official_Repositories|extra]] is not up-to-date enough to follow this guide and its usage is therefore not recommended.''<br />
<br />
== Configure our live medium ==<br />
<br />
=== Makefile ===<br />
The very first thing you should do is creating a directory to work in, and cd to it. This'll help keep things organized. <br />
$ mkdir myarch && cd myarch<br />
Next, you'll want to create a Makefile and put our building instructions in there. The Makefile will define all actions that mkarchiso is going to execute. You could say it is our project file.<br />
$ vim Makefile<br />
Below you will find a sample Makefile that should work for most stuff you want and that works with everything described in this article.<br />
<br />
{{Warning | All indents within the makefile are with tabs. Using spaces gives a missing separator error}}<br />
<br />
{{Warning | Earlier versions of this makefile worked with "mkinitcpio -c mkinitcpio.conf..." however (possibly due to recent updates?) this may no longer work. If you see a warning regarding not being able to find the mkinitcpio.conf file, use the full path to the file, or "./". Otherwise you may get an empty initcpio, which will render the system unbootable (VFS error, kernel panic)}}<br />
<br />
<code><br />
#### Change these settings to modify how this ISO is built.<br />
# The directory that you'll be using for the actual build process.<br />
'''WORKDIR=work'''<br />
# A list of packages to install, either space separated in a string or line separated in a file. Can include groups.<br />
'''PACKAGES="$(shell cat packages.list) syslinux"'''<br />
# The name of our ISO. Does not specify the architecture!<br />
'''NAME=myarch'''<br />
# Version will be appended to the ISO.<br />
'''VER=1.00'''<br />
# Kernel version. You'll need this.<br />
'''KVER=2.6.32-ARCH'''<br />
# Architecture will also be appended to the ISO name.<br />
'''ARCH?=$(shell uname -m)'''<br />
# Current working directory<br />
'''PWD:=$(shell pwd)'''<br />
# This is going to be the full name the final iso/img will carry<br />
'''FULLNAME="$(PWD)"/$(NAME)-$(VER)-$(ARCH)'''<br />
<br />
# Default make instruction to build everything.<br />
'''all: myarch'''<br />
<br />
# The following will first run the ''base-fs'' routine before creating the final iso image.<br />
'''myarch: base-fs'''<br />
'''mkarchiso -p syslinux iso "$(WORKDIR)" "$(FULLNAME)".iso'''<br />
<br />
# This is the main rule for make the working filesystem. It will run routines from left to right. <br />
# Thus, ''root-image'' is called first and ''syslinux'' is called last.<br />
'''base-fs: root-image boot-files initcpio overlay iso-mounts syslinux'''<br />
<br />
# The ''root-image'' routine is always executed first. <br />
# It only downloads and installs all packages into the ''$WORKDIR'', giving you a basic system to use as a base.<br />
'''root-image: "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''"$(WORKDIR)"/root-image/.arch-chroot:'''<br />
'''root-image:'''<br />
'''mkarchiso -p $(PACKAGES) create "$(WORKDIR)"'''<br />
<br />
# Rule for make /boot<br />
'''boot-files: root-image'''<br />
'''cp -r "$(WORKDIR)"/root-image/boot "$(WORKDIR)"/iso/'''<br />
'''cp -r boot-files/* "$(WORKDIR)"/iso/boot/'''<br />
<br />
# Rules for initcpio images<br />
'''initcpio: "$(WORKDIR)"/iso/boot/myarch.img'''<br />
'''"$(WORKDIR)"/iso/boot/myarch.img: mkinitcpio.conf "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''mkdir -p "$(WORKDIR)"/iso/boot'''<br />
'''mkinitcpio -c ./mkinitcpio.conf -b "$(WORKDIR)"/root-image -k $(KVER) -g $@'''<br />
<br />
# See: [[#overlay|Overlay]]<br />
'''overlay:'''<br />
'''mkdir -p "$(WORKDIR)"/overlay/etc/pacman.d'''<br />
'''cp -r overlay "$(WORKDIR)"/'''<br />
'''wget -O "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist http://www.archlinux.org/mirrorlist/$(ARCH)/all/'''<br />
'''sed -i "s/#Server/Server/g" "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist'''<br />
<br />
# Rule to process isomounts file.'''<br />
'''iso-mounts: "$(WORKDIR)"/isomounts'''<br />
'''"$(WORKDIR)"/isomounts: isomounts root-image'''<br />
'''sed "s|@ARCH@|$(ARCH)|g" isomounts > $@'''<br />
<br />
# This routine is always executed just before generating the actual image. <br />
'''syslinux: root-image'''<br />
'''mkdir -p $(WORKDIR)/iso/boot/isolinux'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/boot/isolinux/'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/boot/isolinux/'''<br />
<br />
# In case "make clean" is called, the following routine gets rid of all files created by this Makefile.<br />
'''clean:'''<br />
'''rm -rf "$(WORKDIR)" "$(FULLNAME)".img "$(FULLNAME)".iso'''<br />
<br />
.PHONY: all myarch<br />
.PHONY: base-fs<br />
.PHONY: root-image boot-files initcpio overlay iso-mounts<br />
.PHONY: syslinux<br />
.PHONY: clean<br />
<br />
So if "make myarch" is called (as '''root'''!), the following is what effectively happens:<br />
*'''root-image''' downloads and installs all chosen packages into ''$WORKDIR''<br />
*'''boot-files''' prepares generic bootloader files and then copies our custom bootloader settings<br />
*'''initcpio''' takes care of an ''initcpio'' for us<br />
*'''overlay''' copies our custom overlay files into the ''root-image'' in ''$WORKDIR'' <br />
*'''iso-mounts''' just a little sed magic so AUFS will be able to find its mount points at boot time<br />
*'''syslinux''' copies over our actual bootloader<br />
*'''myarch''' finally creates our bootable .iso file, ready for burning onto a CD/DVD or writing to a USB device<br />
</code><br />
<br />
A Makefile itself won't suffice, so you'll need to create some additional files which will be covered below.<br />
<br />
=== mkinitcpio.conf ===<br />
<br />
An ''initcpio'' is necessary for creating a system that is able to "wake-up" from a CD/DVD/USB.<br />
<br />
Therefore, you should create a mkinitcpio.conf that holds a list of our hooks:<br />
$ vim mkinitcpio.conf<br />
A typical set of hooks for archiso looks something like this:<br />
HOOKS="base archiso_early udev archiso pata scsi sata usb fw filesystems usbinput"<br />
<br />
''Note: If you are using commit 22f91073 instead, the hook should be renamed to archiso-early and not archiso_early!''<br />
<br />
This list will get you a system that can be booted off a CD/DVD or a USB device. It's worth mentioning that hardware auto-detection and things of that nature do not belong here. Only what's necessary to get the system on its feet, and out of the ''initcpio'' really belong here, fancier stuff can be done on the booted system anyway.<br />
<br />
=== packages.list ===<br />
<br />
You'll also want to create a list of packages you want installed on your live CD system. A file full of package names, one-per-line, is the format for this. Typically you'll want '''base''' and '''kernel26''' as a bare minimum, but you're free to install whatever else you want. This is '''''great''''' for special interest live CDs, just specify packages you want and bake the image.<br />
<br />
{{Note|'''mkarchiso''' will use your local build machine's ''/etc/pacman.conf'' for sources. If you have activated [testing] in there, it will also be used for grabbing the packages for the live medium. If you want to use another ''pacman.conf'', you can copy it to the local project folder and use '''mkarchiso -c pacman.conf''' to use your local ''pacman.conf''. For this to work when building the ISO, you will have to add '''-c pacman.conf''' to all calls to '''mkarchiso''' in the Makefile.}}<br />
$ vim packages.list<br />
You may want to put at least the following into there:<br />
aufs2<br />
aufs2-util<br />
base<br />
bash<br />
coreutils<br />
cpio<br />
dhcpcd<br />
dnsutils<br />
file<br />
fuse<br />
kernel26<br />
syslinux<br />
nano<br />
<br />
This should already get you a booting system without much else. Be aware, though, that it lacks quite a lot drivers that aren't directly included in the kernel, notably wireless and graphics drivers and of course special purpose devices. Just add in driver packages as desired. A lot of hardware should run anyway, though. For some suggestions for different configurations, see the included examples for Archiso.<br />
<br />
{{Tip|You can also create a '''[[custom local repository]]''' for the purpose of preparing custom packages or packages from [[AUR]]/[[ABS]]. Just add your local repository at the first position (for top priority) of your build machine's '''pacman.conf''' and you are good to go!}}<br />
<br />
=== isomounts ===<br />
<br />
You will need a small file that holds information about the file systems that are going to be mounted once the live medium boots.<br />
$ vim isomounts<br />
A sample ''isomounts'' for your convenience:<br />
# archiso isomounts file<br />
# img - location of image/directory to mount relative to addons directory<br />
# arch - architecture of this image<br />
# mount point - absolute location on the post-initrd root<br />
# type - either 'bind' or 'squashfs' for now<br />
# syntax: <img> <arch> <mount point> <type><br />
# ORDER MATTERS! Files take top-down precedence. Be careful<br />
overlay.sqfs @ARCH@ / squashfs<br />
root-image.sqfs @ARCH@ / squashfs<br />
<br />
''Note: There should be an enter [empty line] which represents EOF [end of file] at the end of isolinux.cfg file or else expect kernel panic!<br />
<br />
=== boot-files ===<br />
<br />
You will add least need a "boot-files" directory and and a subdirectory "isolinux/" containing a "isolinux.cfg".<br />
<br />
{{warning|Due to recent changes, support for [[grub]] as a boot manager for Archiso live medium creation has been dropped. Please do not attempt to use grub. Instead, you will have to use syslinux's isolinux which will get you an iso that will double as a usb image for free.}}<br />
<br />
==== Using isolinux ====<br />
Using ''isolinux'' is easy:<br />
$ mkdir -p boot-files/isolinux/<br />
$ vim boot-files/isolinux/isolinux.cfg<br />
<br />
Sample contents:<br />
prompt 1<br />
timeout 0<br />
display myarch.msg<br />
DEFAULT myarch<br />
<br />
LABEL myarch<br />
KERNEL /boot/vmlinuz26<br />
APPEND lang=en locale=en_US.UTF-8 usbdelay=5 ramdisk_size=75% initrd=/boot/myarch.img archisolabel=XXX<br />
<br />
LABEL memtest86+<br />
KERNEL /boot/memtest86+-2.10.bin<br />
<br />
Additionally, you may want a message to be shown above the boot line:<br />
$ vim boot-files/isolinux/myarch.msg<br />
<br />
This can be any arbitrary message in ASCII:<br />
<br />
HI GENTLEMEN LOL<br />
WELCOME TO MY DISTRO<br />
I HOPE U ENJOY MAKE UR TIME<br />
HA-HA-HA<br />
<br />
Please do note that you will first have to manually get the memtest*.bin from somewhere first because it won't be put there for you. If you do not want to use it, please comment it out.<br />
<br />
Due to the modular nature of isolinux, you are able to use lots of addons since all *.c32 files are copied and available to you. Take a look at the [http://syslinux.zytor.com/wiki/index.php/SYSLINUX official syslinux site] and the [http://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files archiso git repo]. Using said addons, it is possible to make visually attractive and complex menus. See [http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32 here].<br />
<br />
=== overlay ===<br />
The last item of importance is the '''overlay'''. Basically this means any other stuff you might want to include on your live medium, including binary package repositories, special configurations, random files, anything you can think of. ''mkarchiso'' expects them all to be put in a single directory. The ''overlay'' will, as the name implies, be layered on top the base system at boot time using ''AUFS''. The structure inside the overlay is that of a root filesystem. <br />
<br />
All non-existing files and directories which are included in the overlay but do not exist in the base system will be created. <br />
All existing files and directories which do exist in the base system are overwritten with the files from the overlay.<br />
<br />
Next, create the ''overlay'':<br />
$ mkdir overlay && cd overlay/<br />
<br />
Woah, that was easy! Now, you still need to add some useful stuff in there. A couple of examples: <br />
<br />
'''''Note:''' It is important that all files in the overlay carry the proper permissions. You are therefore advised to use the root account to commit changes to this directory. Remember, it is an actual root filesystem layer.''<br />
<br />
==== Adding a fstab ====<br />
It is required to add a '''fstab''' file in /etc:<br />
$ mkdir etc<br />
$ vim etc/fstab<br />
<br />
aufs / aufs noauto 0 0<br />
none /dev/pts devpts defaults 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
/dev/cdrom /bootcd iso9660 ro,user,noauto 0 0<br />
<br />
==== Adding a predefined user ====<br />
<br />
===== Manually =====<br />
You will want a user in your live session. There are many ways to do that. One way to do it is to manually add the user and all groups you may want as files in etc/, without calling any commands. This can be accomplished by using your host system's /etc files and modifying them to make them fit the purpose:<br />
<br />
$ cp /etc/group etc/group<br />
$ cp /etc/passwd etc/passwd<br />
$ cp /etc/shadow etc/shadow<br />
<br />
'''''Note:''' Be very careful not to leave your encrypted passwords in the passwd or shadow file! Your password is at the second position (after the first ':'). You must not leave it in there!''<br />
<br />
To make a password-less user, simply clear the second position like so: <br />
root::99999::::::<br />
<br />
Additionally, the user will need a home directory or many things will fail (remember to change the home directory correctly in ''passwd''). You will want to use rc.local to create a home directory at boot time and fill it with /etc/skel. If you don't know about /etc/skel, you should read up on that.<br />
$ vim etc/rc.local<br />
mkdir /home/archie && chown archie:archie /home/archie<br />
su -c "cp -r /etc/skel/.[a-zA-Z0-9]* /home/archie/" archie<br />
<br />
===== Using useradd =====<br />
Another way of adding the user is using ''etc/rc.local'' to create the user at boot time:<br />
$ vim etc/rc.local<br />
<br />
useradd -u 1000 -g users -G storage,floppy,optical,audio,video,network,games,wheel,disk -d /home/archie archie<br />
<br />
This should take care of the user and his home directory.<br />
<br />
==== Putting stuff into the user's home directory at boot time ====<br />
It might be desirable to put some pre-defined user settings in place when the live user enters his session. Luckily, there is a directory which automatically copies itself into each new user's home directory: /etc/skel.<br />
<br />
You will need to create that directory and then put your stuff in there:<br />
$ mkdir etc/skel<br />
<br />
And for example:<br />
$ vim etc/skel/.bashrc <br />
<br />
alias ls='ls --color=auto'<br />
PS1='[\u@\h \W]\$ '<br />
<br />
Covering all the magic that could be done to a user at boot time is vastly beyond this article's scope.<br />
<br />
'''''Note:''' You may NOT directly create any user's home directory directly in the overlay by putting stuff into /home/user/, it will break permissions in the guest system! Use /etc/skel/.''<br />
<br />
==== Finishing the overlay ====<br />
Some tips that will not be covered in this article because there are other articles on this wiki that already do:<br />
*Configure an ''inittab'' to start into X at boot time<br />
*Configure the ''hosts'' file<br />
*Configure ''rc.conf'' (no fancy modules required here)<br />
*Configure ''sudoers''<br />
*Configure ''rc.local''<br />
*Put more stuff into etc/skel<br />
*Put additional artworks onto the medium <br />
*Put arbitrary binary stuff into opt/<br />
<br />
== Generate your live medium ==<br />
After so much time spent on configuring, here comes the fun part: Baking the image.<br />
<br />
It's quite easy, too: As root (important!) execute the following in your project directory (where your ''Makefile'' is located):<br />
$ make all<br />
You will receive a .iso, ready for burning onto a CD/DVD or for dd'ing onto a USB key: <br />
dd if=my-image.iso of=/dev/some-usb-drive bs=8M<br />
Enjoy!<br />
{{warning|Careful with <tt>dd</tt>! If you use it on the wrong drive, a lot of precious data may be lost. Use with caution.}}<br />
<br />
== Links ==<br />
[http://projects.archlinux.org/?p=archiso.git;a=summary Archiso project page]</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Archiso&diff=97828Archiso2010-02-22T05:27:19Z<p>SHyLoCk: /* mkinitcpio.conf */</p>
<hr />
<div>[[Category:Live_Arch_systems_(English)]]<br />
[[Category:HOWTOs (English)]]<br />
== What is it? ==<br />
'''Archiso''' is a small set of bash scripts that is capable of building fully functional '''Arch Linux based live CD/DVD and USB images'''. It is a very generic tool, so it could potentially be used to generate anything from rescue systems, to install disks, to special interest live CD/DVD/USB systems, and who knows what else. Simply put, if it involves Arch on a shiny coaster, it can do it.<br />
The heart and soul of Archiso is '''mkarchiso'''. All of its options are documented in its usage output, so its direct usage wont be covered here. Instead, this wiki article will act as a guide for rolling your own live mediums in no time!<br />
<br />
Due to recent changes, '''Archiso''' will now automatically create ISO images that are also USB images! Separate CD/USB targets are therefore no longer necessary.<br />
<br />
== Install Archiso ==<br />
<br />
You have two options to get Archiso:<br />
<br />
*Get the [http://aur.archlinux.org/packages.php?ID=25996 archiso-git AUR package] (recommended)<br />
*Get it from the Git repo yourself:<br />
$ git clone git://projects.archlinux.org/archiso.git<br />
$ cd archiso/archiso<br />
$ sudo make install<br />
$ sudo pacman -S mkinitcpio cdrkit squashfs-tools devtools aufs2-util syslinux<br />
<br />
'''''Note:''' Due, to recent mkinitcpio update, the current archiso-git will not work! You should reset the git to commit 22f91073, or just download and use [http://http://projects.archlinux.org/archiso.git/snapshot/archiso-22f910736da3b225f46840bc7ad1ec41fefddece.tar.gz this package].<br />
<br />
As of the current date, the archiso in [[Official_Repositories|extra]] is not up-to-date enough to follow this guide and its usage is therefore not recommended.''<br />
<br />
== Configure our live medium ==<br />
<br />
=== Makefile ===<br />
The very first thing you should do is creating a directory to work in, and cd to it. This'll help keep things organized. <br />
$ mkdir myarch && cd myarch<br />
Next, you'll want to create a Makefile and put our building instructions in there. The Makefile will define all actions that mkarchiso is going to execute. You could say it is our project file.<br />
$ vim Makefile<br />
Below you will find a sample Makefile that should work for most stuff you want and that works with everything described in this article.<br />
<br />
{{Warning | All indents within the makefile are with tabs. Using spaces gives a missing separator error}}<br />
<br />
{{Warning | Earlier versions of this makefile worked with "mkinitcpio -c mkinitcpio.conf..." however (possibly due to recent updates?) this may no longer work. If you see a warning regarding not being able to find the mkinitcpio.conf file, use the full path to the file, or "./". Otherwise you may get an empty initcpio, which will render the system unbootable (VFS error, kernel panic)}}<br />
<br />
<code><br />
#### Change these settings to modify how this ISO is built.<br />
# The directory that you'll be using for the actual build process.<br />
'''WORKDIR=work'''<br />
# A list of packages to install, either space separated in a string or line separated in a file. Can include groups.<br />
'''PACKAGES="$(shell cat packages.list) syslinux"'''<br />
# The name of our ISO. Does not specify the architecture!<br />
'''NAME=myarch'''<br />
# Version will be appended to the ISO.<br />
'''VER=1.00'''<br />
# Kernel version. You'll need this.<br />
'''KVER=2.6.32-ARCH'''<br />
# Architecture will also be appended to the ISO name.<br />
'''ARCH?=$(shell uname -m)'''<br />
# Current working directory<br />
'''PWD:=$(shell pwd)'''<br />
# This is going to be the full name the final iso/img will carry<br />
'''FULLNAME="$(PWD)"/$(NAME)-$(VER)-$(ARCH)'''<br />
<br />
# Default make instruction to build everything.<br />
'''all: myarch'''<br />
<br />
# The following will first run the ''base-fs'' routine before creating the final iso image.<br />
'''myarch: base-fs'''<br />
'''mkarchiso -p syslinux iso "$(WORKDIR)" "$(FULLNAME)".iso'''<br />
<br />
# This is the main rule for make the working filesystem. It will run routines from left to right. <br />
# Thus, ''root-image'' is called first and ''syslinux'' is called last.<br />
'''base-fs: root-image boot-files initcpio overlay iso-mounts syslinux'''<br />
<br />
# The ''root-image'' routine is always executed first. <br />
# It only downloads and installs all packages into the ''$WORKDIR'', giving you a basic system to use as a base.<br />
'''root-image: "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''"$(WORKDIR)"/root-image/.arch-chroot:'''<br />
'''root-image:'''<br />
'''mkarchiso -p $(PACKAGES) create "$(WORKDIR)"'''<br />
<br />
# Rule for make /boot<br />
'''boot-files: root-image'''<br />
'''cp -r "$(WORKDIR)"/root-image/boot "$(WORKDIR)"/iso/'''<br />
'''cp -r boot-files/* "$(WORKDIR)"/iso/boot/'''<br />
<br />
# Rules for initcpio images<br />
'''initcpio: "$(WORKDIR)"/iso/boot/myarch.img'''<br />
'''"$(WORKDIR)"/iso/boot/myarch.img: mkinitcpio.conf "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''mkdir -p "$(WORKDIR)"/iso/boot'''<br />
'''mkinitcpio -c ./mkinitcpio.conf -b "$(WORKDIR)"/root-image -k $(KVER) -g $@'''<br />
<br />
# See: [[#overlay|Overlay]]<br />
'''overlay:'''<br />
'''mkdir -p "$(WORKDIR)"/overlay/etc/pacman.d'''<br />
'''cp -r overlay "$(WORKDIR)"/'''<br />
'''wget -O "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist http://www.archlinux.org/mirrorlist/$(ARCH)/all/'''<br />
'''sed -i "s/#Server/Server/g" "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist'''<br />
<br />
# Rule to process isomounts file.'''<br />
'''iso-mounts: "$(WORKDIR)"/isomounts'''<br />
'''"$(WORKDIR)"/isomounts: isomounts root-image'''<br />
'''sed "s|@ARCH@|$(ARCH)|g" isomounts > $@'''<br />
<br />
# This routine is always executed just before generating the actual image. <br />
'''syslinux: root-image'''<br />
'''mkdir -p $(WORKDIR)/iso/boot/isolinux'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/boot/isolinux/'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/boot/isolinux/'''<br />
<br />
# In case "make clean" is called, the following routine gets rid of all files created by this Makefile.<br />
'''clean:'''<br />
'''rm -rf "$(WORKDIR)" "$(FULLNAME)".img "$(FULLNAME)".iso'''<br />
<br />
.PHONY: all myarch<br />
.PHONY: base-fs<br />
.PHONY: root-image boot-files initcpio overlay iso-mounts<br />
.PHONY: syslinux<br />
.PHONY: clean<br />
<br />
So if "make myarch" is called (as '''root'''!), the following is what effectively happens:<br />
*'''root-image''' downloads and installs all chosen packages into ''$WORKDIR''<br />
*'''boot-files''' prepares generic bootloader files and then copies our custom bootloader settings<br />
*'''initcpio''' takes care of an ''initcpio'' for us<br />
*'''overlay''' copies our custom overlay files into the ''root-image'' in ''$WORKDIR'' <br />
*'''iso-mounts''' just a little sed magic so AUFS will be able to find its mount points at boot time<br />
*'''syslinux''' copies over our actual bootloader<br />
*'''myarch''' finally creates our bootable .iso file, ready for burning onto a CD/DVD or writing to a USB device<br />
</code><br />
<br />
A Makefile itself won't suffice, so you'll need to create some additional files which will be covered below.<br />
<br />
=== mkinitcpio.conf ===<br />
<br />
An ''initcpio'' is necessary for creating a system that is able to "wake-up" from a CD/DVD/USB.<br />
<br />
Therefore, you should create a mkinitcpio.conf that holds a list of our hooks:<br />
$ vim mkinitcpio.conf<br />
A typical set of hooks for archiso looks something like this:<br />
HOOKS="base archiso_early udev archiso pata scsi sata usb fw filesystems usbinput"<br />
<br />
''Note: If you are using commit 22f91073 instead, the hook should be renamed to archiso-early and not archiso_early!''<br />
<br />
This list will get you a system that can be booted off a CD/DVD or a USB device. It's worth mentioning that hardware auto-detection and things of that nature do not belong here. Only what's necessary to get the system on its feet, and out of the ''initcpio'' really belong here, fancier stuff can be done on the booted system anyway.<br />
<br />
=== packages.list ===<br />
<br />
You'll also want to create a list of packages you want installed on your live CD system. A file full of package names, one-per-line, is the format for this. Typically you'll want '''base''' and '''kernel26''' as a bare minimum, but you're free to install whatever else you want. This is '''''great''''' for special interest live CDs, just specify packages you want and bake the image.<br />
<br />
{{Note|'''mkarchiso''' will use your local build machine's ''/etc/pacman.conf'' for sources. If you have activated [testing] in there, it will also be used for grabbing the packages for the live medium. If you want to use another ''pacman.conf'', you can copy it to the local project folder and use '''mkarchiso -c pacman.conf''' to use your local ''pacman.conf''. For this to work when building the ISO, you will have to add '''-c pacman.conf''' to all calls to '''mkarchiso''' in the Makefile.}}<br />
$ vim packages.list<br />
You may want to put at least the following into there:<br />
aufs2<br />
aufs2-util<br />
base<br />
bash<br />
coreutils<br />
cpio<br />
dhcpcd<br />
dnsutils<br />
file<br />
fuse<br />
kernel26<br />
syslinux<br />
nano<br />
<br />
This should already get you a booting system without much else. Be aware, though, that it lacks quite a lot drivers that aren't directly included in the kernel, notably wireless and graphics drivers and of course special purpose devices. Just add in driver packages as desired. A lot of hardware should run anyway, though. For some suggestions for different configurations, see the included examples for Archiso.<br />
<br />
{{Tip|You can also create a '''[[custom local repository]]''' for the purpose of preparing custom packages or packages from [[AUR]]/[[ABS]]. Just add your local repository at the first position (for top priority) of your build machine's '''pacman.conf''' and you are good to go!}}<br />
<br />
=== isomounts ===<br />
<br />
You will need a small file that holds information about the file systems that are going to be mounted once the live medium boots.<br />
$ vim isomounts<br />
A sample ''isomounts'' for your convenience:<br />
# archiso isomounts file<br />
# img - location of image/directory to mount relative to addons directory<br />
# arch - architecture of this image<br />
# mount point - absolute location on the post-initrd root<br />
# type - either 'bind' or 'squashfs' for now<br />
# syntax: <img> <arch> <mount point> <type><br />
# ORDER MATTERS! Files take top-down precedence. Be careful<br />
overlay.sqfs @ARCH@ / squashfs<br />
root-image.sqfs @ARCH@ / squashfs<br />
<br />
=== boot-files ===<br />
<br />
You will add least need a "boot-files" directory and and a subdirectory "isolinux/" containing a "isolinux.cfg".<br />
<br />
{{warning|Due to recent changes, support for [[grub]] as a boot manager for Archiso live medium creation has been dropped. Please do not attempt to use grub. Instead, you will have to use syslinux's isolinux which will get you an iso that will double as a usb image for free.}}<br />
<br />
==== Using isolinux ====<br />
Using ''isolinux'' is easy:<br />
$ mkdir -p boot-files/isolinux/<br />
$ vim boot-files/isolinux/isolinux.cfg<br />
<br />
Sample contents:<br />
prompt 1<br />
timeout 0<br />
display myarch.msg<br />
DEFAULT myarch<br />
<br />
LABEL myarch<br />
KERNEL /boot/vmlinuz26<br />
APPEND lang=en locale=en_US.UTF-8 usbdelay=5 ramdisk_size=75% initrd=/boot/myarch.img archisolabel=XXX<br />
<br />
LABEL memtest86+<br />
KERNEL /boot/memtest86+-2.10.bin<br />
<br />
Additionally, you may want a message to be shown above the boot line:<br />
$ vim boot-files/isolinux/myarch.msg<br />
<br />
This can be any arbitrary message in ASCII:<br />
<br />
HI GENTLEMEN LOL<br />
WELCOME TO MY DISTRO<br />
I HOPE U ENJOY MAKE UR TIME<br />
HA-HA-HA<br />
<br />
Please do note that you will first have to manually get the memtest*.bin from somewhere first because it won't be put there for you. If you do not want to use it, please comment it out.<br />
<br />
Due to the modular nature of isolinux, you are able to use lots of addons since all *.c32 files are copied and available to you. Take a look at the [http://syslinux.zytor.com/wiki/index.php/SYSLINUX official syslinux site] and the [http://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files archiso git repo]. Using said addons, it is possible to make visually attractive and complex menus. See [http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32 here].<br />
<br />
=== overlay ===<br />
The last item of importance is the '''overlay'''. Basically this means any other stuff you might want to include on your live medium, including binary package repositories, special configurations, random files, anything you can think of. ''mkarchiso'' expects them all to be put in a single directory. The ''overlay'' will, as the name implies, be layered on top the base system at boot time using ''AUFS''. The structure inside the overlay is that of a root filesystem. <br />
<br />
All non-existing files and directories which are included in the overlay but do not exist in the base system will be created. <br />
All existing files and directories which do exist in the base system are overwritten with the files from the overlay.<br />
<br />
Next, create the ''overlay'':<br />
$ mkdir overlay && cd overlay/<br />
<br />
Woah, that was easy! Now, you still need to add some useful stuff in there. A couple of examples: <br />
<br />
'''''Note:''' It is important that all files in the overlay carry the proper permissions. You are therefore advised to use the root account to commit changes to this directory. Remember, it is an actual root filesystem layer.''<br />
<br />
==== Adding a fstab ====<br />
It is required to add a '''fstab''' file in /etc:<br />
$ mkdir etc<br />
$ vim etc/fstab<br />
<br />
aufs / aufs noauto 0 0<br />
none /dev/pts devpts defaults 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
/dev/cdrom /bootcd iso9660 ro,user,noauto 0 0<br />
<br />
==== Adding a predefined user ====<br />
<br />
===== Manually =====<br />
You will want a user in your live session. There are many ways to do that. One way to do it is to manually add the user and all groups you may want as files in etc/, without calling any commands. This can be accomplished by using your host system's /etc files and modifying them to make them fit the purpose:<br />
<br />
$ cp /etc/group etc/group<br />
$ cp /etc/passwd etc/passwd<br />
$ cp /etc/shadow etc/shadow<br />
<br />
'''''Note:''' Be very careful not to leave your encrypted passwords in the passwd or shadow file! Your password is at the second position (after the first ':'). You must not leave it in there!''<br />
<br />
To make a password-less user, simply clear the second position like so: <br />
root::99999::::::<br />
<br />
Additionally, the user will need a home directory or many things will fail (remember to change the home directory correctly in ''passwd''). You will want to use rc.local to create a home directory at boot time and fill it with /etc/skel. If you don't know about /etc/skel, you should read up on that.<br />
$ vim etc/rc.local<br />
mkdir /home/archie && chown archie:archie /home/archie<br />
su -c "cp -r /etc/skel/.[a-zA-Z0-9]* /home/archie/" archie<br />
<br />
===== Using useradd =====<br />
Another way of adding the user is using ''etc/rc.local'' to create the user at boot time:<br />
$ vim etc/rc.local<br />
<br />
useradd -u 1000 -g users -G storage,floppy,optical,audio,video,network,games,wheel,disk -d /home/archie archie<br />
<br />
This should take care of the user and his home directory.<br />
<br />
==== Putting stuff into the user's home directory at boot time ====<br />
It might be desirable to put some pre-defined user settings in place when the live user enters his session. Luckily, there is a directory which automatically copies itself into each new user's home directory: /etc/skel.<br />
<br />
You will need to create that directory and then put your stuff in there:<br />
$ mkdir etc/skel<br />
<br />
And for example:<br />
$ vim etc/skel/.bashrc <br />
<br />
alias ls='ls --color=auto'<br />
PS1='[\u@\h \W]\$ '<br />
<br />
Covering all the magic that could be done to a user at boot time is vastly beyond this article's scope.<br />
<br />
'''''Note:''' You may NOT directly create any user's home directory directly in the overlay by putting stuff into /home/user/, it will break permissions in the guest system! Use /etc/skel/.''<br />
<br />
==== Finishing the overlay ====<br />
Some tips that will not be covered in this article because there are other articles on this wiki that already do:<br />
*Configure an ''inittab'' to start into X at boot time<br />
*Configure the ''hosts'' file<br />
*Configure ''rc.conf'' (no fancy modules required here)<br />
*Configure ''sudoers''<br />
*Configure ''rc.local''<br />
*Put more stuff into etc/skel<br />
*Put additional artworks onto the medium <br />
*Put arbitrary binary stuff into opt/<br />
<br />
== Generate your live medium ==<br />
After so much time spent on configuring, here comes the fun part: Baking the image.<br />
<br />
It's quite easy, too: As root (important!) execute the following in your project directory (where your ''Makefile'' is located):<br />
$ make all<br />
You will receive a .iso, ready for burning onto a CD/DVD or for dd'ing onto a USB key: <br />
dd if=my-image.iso of=/dev/some-usb-drive bs=8M<br />
Enjoy!<br />
{{warning|Careful with <tt>dd</tt>! If you use it on the wrong drive, a lot of precious data may be lost. Use with caution.}}<br />
<br />
== Links ==<br />
[http://projects.archlinux.org/?p=archiso.git;a=summary Archiso project page]</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Archiso&diff=97827Archiso2010-02-22T05:24:44Z<p>SHyLoCk: /* Install Archiso */</p>
<hr />
<div>[[Category:Live_Arch_systems_(English)]]<br />
[[Category:HOWTOs (English)]]<br />
== What is it? ==<br />
'''Archiso''' is a small set of bash scripts that is capable of building fully functional '''Arch Linux based live CD/DVD and USB images'''. It is a very generic tool, so it could potentially be used to generate anything from rescue systems, to install disks, to special interest live CD/DVD/USB systems, and who knows what else. Simply put, if it involves Arch on a shiny coaster, it can do it.<br />
The heart and soul of Archiso is '''mkarchiso'''. All of its options are documented in its usage output, so its direct usage wont be covered here. Instead, this wiki article will act as a guide for rolling your own live mediums in no time!<br />
<br />
Due to recent changes, '''Archiso''' will now automatically create ISO images that are also USB images! Separate CD/USB targets are therefore no longer necessary.<br />
<br />
== Install Archiso ==<br />
<br />
You have two options to get Archiso:<br />
<br />
*Get the [http://aur.archlinux.org/packages.php?ID=25996 archiso-git AUR package] (recommended)<br />
*Get it from the Git repo yourself:<br />
$ git clone git://projects.archlinux.org/archiso.git<br />
$ cd archiso/archiso<br />
$ sudo make install<br />
$ sudo pacman -S mkinitcpio cdrkit squashfs-tools devtools aufs2-util syslinux<br />
<br />
'''''Note:''' Due, to recent mkinitcpio update, the current archiso-git will not work! You should reset the git to commit 22f91073, or just download and use [http://http://projects.archlinux.org/archiso.git/snapshot/archiso-22f910736da3b225f46840bc7ad1ec41fefddece.tar.gz this package].<br />
<br />
As of the current date, the archiso in [[Official_Repositories|extra]] is not up-to-date enough to follow this guide and its usage is therefore not recommended.''<br />
<br />
== Configure our live medium ==<br />
<br />
=== Makefile ===<br />
The very first thing you should do is creating a directory to work in, and cd to it. This'll help keep things organized. <br />
$ mkdir myarch && cd myarch<br />
Next, you'll want to create a Makefile and put our building instructions in there. The Makefile will define all actions that mkarchiso is going to execute. You could say it is our project file.<br />
$ vim Makefile<br />
Below you will find a sample Makefile that should work for most stuff you want and that works with everything described in this article.<br />
<br />
{{Warning | All indents within the makefile are with tabs. Using spaces gives a missing separator error}}<br />
<br />
{{Warning | Earlier versions of this makefile worked with "mkinitcpio -c mkinitcpio.conf..." however (possibly due to recent updates?) this may no longer work. If you see a warning regarding not being able to find the mkinitcpio.conf file, use the full path to the file, or "./". Otherwise you may get an empty initcpio, which will render the system unbootable (VFS error, kernel panic)}}<br />
<br />
<code><br />
#### Change these settings to modify how this ISO is built.<br />
# The directory that you'll be using for the actual build process.<br />
'''WORKDIR=work'''<br />
# A list of packages to install, either space separated in a string or line separated in a file. Can include groups.<br />
'''PACKAGES="$(shell cat packages.list) syslinux"'''<br />
# The name of our ISO. Does not specify the architecture!<br />
'''NAME=myarch'''<br />
# Version will be appended to the ISO.<br />
'''VER=1.00'''<br />
# Kernel version. You'll need this.<br />
'''KVER=2.6.32-ARCH'''<br />
# Architecture will also be appended to the ISO name.<br />
'''ARCH?=$(shell uname -m)'''<br />
# Current working directory<br />
'''PWD:=$(shell pwd)'''<br />
# This is going to be the full name the final iso/img will carry<br />
'''FULLNAME="$(PWD)"/$(NAME)-$(VER)-$(ARCH)'''<br />
<br />
# Default make instruction to build everything.<br />
'''all: myarch'''<br />
<br />
# The following will first run the ''base-fs'' routine before creating the final iso image.<br />
'''myarch: base-fs'''<br />
'''mkarchiso -p syslinux iso "$(WORKDIR)" "$(FULLNAME)".iso'''<br />
<br />
# This is the main rule for make the working filesystem. It will run routines from left to right. <br />
# Thus, ''root-image'' is called first and ''syslinux'' is called last.<br />
'''base-fs: root-image boot-files initcpio overlay iso-mounts syslinux'''<br />
<br />
# The ''root-image'' routine is always executed first. <br />
# It only downloads and installs all packages into the ''$WORKDIR'', giving you a basic system to use as a base.<br />
'''root-image: "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''"$(WORKDIR)"/root-image/.arch-chroot:'''<br />
'''root-image:'''<br />
'''mkarchiso -p $(PACKAGES) create "$(WORKDIR)"'''<br />
<br />
# Rule for make /boot<br />
'''boot-files: root-image'''<br />
'''cp -r "$(WORKDIR)"/root-image/boot "$(WORKDIR)"/iso/'''<br />
'''cp -r boot-files/* "$(WORKDIR)"/iso/boot/'''<br />
<br />
# Rules for initcpio images<br />
'''initcpio: "$(WORKDIR)"/iso/boot/myarch.img'''<br />
'''"$(WORKDIR)"/iso/boot/myarch.img: mkinitcpio.conf "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''mkdir -p "$(WORKDIR)"/iso/boot'''<br />
'''mkinitcpio -c ./mkinitcpio.conf -b "$(WORKDIR)"/root-image -k $(KVER) -g $@'''<br />
<br />
# See: [[#overlay|Overlay]]<br />
'''overlay:'''<br />
'''mkdir -p "$(WORKDIR)"/overlay/etc/pacman.d'''<br />
'''cp -r overlay "$(WORKDIR)"/'''<br />
'''wget -O "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist http://www.archlinux.org/mirrorlist/$(ARCH)/all/'''<br />
'''sed -i "s/#Server/Server/g" "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist'''<br />
<br />
# Rule to process isomounts file.'''<br />
'''iso-mounts: "$(WORKDIR)"/isomounts'''<br />
'''"$(WORKDIR)"/isomounts: isomounts root-image'''<br />
'''sed "s|@ARCH@|$(ARCH)|g" isomounts > $@'''<br />
<br />
# This routine is always executed just before generating the actual image. <br />
'''syslinux: root-image'''<br />
'''mkdir -p $(WORKDIR)/iso/boot/isolinux'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/boot/isolinux/'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/boot/isolinux/'''<br />
<br />
# In case "make clean" is called, the following routine gets rid of all files created by this Makefile.<br />
'''clean:'''<br />
'''rm -rf "$(WORKDIR)" "$(FULLNAME)".img "$(FULLNAME)".iso'''<br />
<br />
.PHONY: all myarch<br />
.PHONY: base-fs<br />
.PHONY: root-image boot-files initcpio overlay iso-mounts<br />
.PHONY: syslinux<br />
.PHONY: clean<br />
<br />
So if "make myarch" is called (as '''root'''!), the following is what effectively happens:<br />
*'''root-image''' downloads and installs all chosen packages into ''$WORKDIR''<br />
*'''boot-files''' prepares generic bootloader files and then copies our custom bootloader settings<br />
*'''initcpio''' takes care of an ''initcpio'' for us<br />
*'''overlay''' copies our custom overlay files into the ''root-image'' in ''$WORKDIR'' <br />
*'''iso-mounts''' just a little sed magic so AUFS will be able to find its mount points at boot time<br />
*'''syslinux''' copies over our actual bootloader<br />
*'''myarch''' finally creates our bootable .iso file, ready for burning onto a CD/DVD or writing to a USB device<br />
</code><br />
<br />
A Makefile itself won't suffice, so you'll need to create some additional files which will be covered below.<br />
<br />
=== mkinitcpio.conf ===<br />
<br />
An ''initcpio'' is necessary for creating a system that is able to "wake-up" from a CD/DVD/USB.<br />
<br />
Therefore, you should create a mkinitcpio.conf that holds a list of our hooks:<br />
$ vim mkinitcpio.conf<br />
A typical set of hooks for archiso looks something like this:<br />
HOOKS="base archiso_early udev archiso pata scsi sata usb fw filesystems usbinput"<br />
This list will get you a system that can be booted off a CD/DVD or a USB device. It's worth mentioning that hardware auto-detection and things of that nature do not belong here. Only what's necessary to get the system on its feet, and out of the ''initcpio'' really belong here, fancier stuff can be done on the booted system anyway.<br />
<br />
=== packages.list ===<br />
<br />
You'll also want to create a list of packages you want installed on your live CD system. A file full of package names, one-per-line, is the format for this. Typically you'll want '''base''' and '''kernel26''' as a bare minimum, but you're free to install whatever else you want. This is '''''great''''' for special interest live CDs, just specify packages you want and bake the image.<br />
<br />
{{Note|'''mkarchiso''' will use your local build machine's ''/etc/pacman.conf'' for sources. If you have activated [testing] in there, it will also be used for grabbing the packages for the live medium. If you want to use another ''pacman.conf'', you can copy it to the local project folder and use '''mkarchiso -c pacman.conf''' to use your local ''pacman.conf''. For this to work when building the ISO, you will have to add '''-c pacman.conf''' to all calls to '''mkarchiso''' in the Makefile.}}<br />
$ vim packages.list<br />
You may want to put at least the following into there:<br />
aufs2<br />
aufs2-util<br />
base<br />
bash<br />
coreutils<br />
cpio<br />
dhcpcd<br />
dnsutils<br />
file<br />
fuse<br />
kernel26<br />
syslinux<br />
nano<br />
<br />
This should already get you a booting system without much else. Be aware, though, that it lacks quite a lot drivers that aren't directly included in the kernel, notably wireless and graphics drivers and of course special purpose devices. Just add in driver packages as desired. A lot of hardware should run anyway, though. For some suggestions for different configurations, see the included examples for Archiso.<br />
<br />
{{Tip|You can also create a '''[[custom local repository]]''' for the purpose of preparing custom packages or packages from [[AUR]]/[[ABS]]. Just add your local repository at the first position (for top priority) of your build machine's '''pacman.conf''' and you are good to go!}}<br />
<br />
=== isomounts ===<br />
<br />
You will need a small file that holds information about the file systems that are going to be mounted once the live medium boots.<br />
$ vim isomounts<br />
A sample ''isomounts'' for your convenience:<br />
# archiso isomounts file<br />
# img - location of image/directory to mount relative to addons directory<br />
# arch - architecture of this image<br />
# mount point - absolute location on the post-initrd root<br />
# type - either 'bind' or 'squashfs' for now<br />
# syntax: <img> <arch> <mount point> <type><br />
# ORDER MATTERS! Files take top-down precedence. Be careful<br />
overlay.sqfs @ARCH@ / squashfs<br />
root-image.sqfs @ARCH@ / squashfs<br />
<br />
=== boot-files ===<br />
<br />
You will add least need a "boot-files" directory and and a subdirectory "isolinux/" containing a "isolinux.cfg".<br />
<br />
{{warning|Due to recent changes, support for [[grub]] as a boot manager for Archiso live medium creation has been dropped. Please do not attempt to use grub. Instead, you will have to use syslinux's isolinux which will get you an iso that will double as a usb image for free.}}<br />
<br />
==== Using isolinux ====<br />
Using ''isolinux'' is easy:<br />
$ mkdir -p boot-files/isolinux/<br />
$ vim boot-files/isolinux/isolinux.cfg<br />
<br />
Sample contents:<br />
prompt 1<br />
timeout 0<br />
display myarch.msg<br />
DEFAULT myarch<br />
<br />
LABEL myarch<br />
KERNEL /boot/vmlinuz26<br />
APPEND lang=en locale=en_US.UTF-8 usbdelay=5 ramdisk_size=75% initrd=/boot/myarch.img archisolabel=XXX<br />
<br />
LABEL memtest86+<br />
KERNEL /boot/memtest86+-2.10.bin<br />
<br />
Additionally, you may want a message to be shown above the boot line:<br />
$ vim boot-files/isolinux/myarch.msg<br />
<br />
This can be any arbitrary message in ASCII:<br />
<br />
HI GENTLEMEN LOL<br />
WELCOME TO MY DISTRO<br />
I HOPE U ENJOY MAKE UR TIME<br />
HA-HA-HA<br />
<br />
Please do note that you will first have to manually get the memtest*.bin from somewhere first because it won't be put there for you. If you do not want to use it, please comment it out.<br />
<br />
Due to the modular nature of isolinux, you are able to use lots of addons since all *.c32 files are copied and available to you. Take a look at the [http://syslinux.zytor.com/wiki/index.php/SYSLINUX official syslinux site] and the [http://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files archiso git repo]. Using said addons, it is possible to make visually attractive and complex menus. See [http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32 here].<br />
<br />
=== overlay ===<br />
The last item of importance is the '''overlay'''. Basically this means any other stuff you might want to include on your live medium, including binary package repositories, special configurations, random files, anything you can think of. ''mkarchiso'' expects them all to be put in a single directory. The ''overlay'' will, as the name implies, be layered on top the base system at boot time using ''AUFS''. The structure inside the overlay is that of a root filesystem. <br />
<br />
All non-existing files and directories which are included in the overlay but do not exist in the base system will be created. <br />
All existing files and directories which do exist in the base system are overwritten with the files from the overlay.<br />
<br />
Next, create the ''overlay'':<br />
$ mkdir overlay && cd overlay/<br />
<br />
Woah, that was easy! Now, you still need to add some useful stuff in there. A couple of examples: <br />
<br />
'''''Note:''' It is important that all files in the overlay carry the proper permissions. You are therefore advised to use the root account to commit changes to this directory. Remember, it is an actual root filesystem layer.''<br />
<br />
==== Adding a fstab ====<br />
It is required to add a '''fstab''' file in /etc:<br />
$ mkdir etc<br />
$ vim etc/fstab<br />
<br />
aufs / aufs noauto 0 0<br />
none /dev/pts devpts defaults 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
/dev/cdrom /bootcd iso9660 ro,user,noauto 0 0<br />
<br />
==== Adding a predefined user ====<br />
<br />
===== Manually =====<br />
You will want a user in your live session. There are many ways to do that. One way to do it is to manually add the user and all groups you may want as files in etc/, without calling any commands. This can be accomplished by using your host system's /etc files and modifying them to make them fit the purpose:<br />
<br />
$ cp /etc/group etc/group<br />
$ cp /etc/passwd etc/passwd<br />
$ cp /etc/shadow etc/shadow<br />
<br />
'''''Note:''' Be very careful not to leave your encrypted passwords in the passwd or shadow file! Your password is at the second position (after the first ':'). You must not leave it in there!''<br />
<br />
To make a password-less user, simply clear the second position like so: <br />
root::99999::::::<br />
<br />
Additionally, the user will need a home directory or many things will fail (remember to change the home directory correctly in ''passwd''). You will want to use rc.local to create a home directory at boot time and fill it with /etc/skel. If you don't know about /etc/skel, you should read up on that.<br />
$ vim etc/rc.local<br />
mkdir /home/archie && chown archie:archie /home/archie<br />
su -c "cp -r /etc/skel/.[a-zA-Z0-9]* /home/archie/" archie<br />
<br />
===== Using useradd =====<br />
Another way of adding the user is using ''etc/rc.local'' to create the user at boot time:<br />
$ vim etc/rc.local<br />
<br />
useradd -u 1000 -g users -G storage,floppy,optical,audio,video,network,games,wheel,disk -d /home/archie archie<br />
<br />
This should take care of the user and his home directory.<br />
<br />
==== Putting stuff into the user's home directory at boot time ====<br />
It might be desirable to put some pre-defined user settings in place when the live user enters his session. Luckily, there is a directory which automatically copies itself into each new user's home directory: /etc/skel.<br />
<br />
You will need to create that directory and then put your stuff in there:<br />
$ mkdir etc/skel<br />
<br />
And for example:<br />
$ vim etc/skel/.bashrc <br />
<br />
alias ls='ls --color=auto'<br />
PS1='[\u@\h \W]\$ '<br />
<br />
Covering all the magic that could be done to a user at boot time is vastly beyond this article's scope.<br />
<br />
'''''Note:''' You may NOT directly create any user's home directory directly in the overlay by putting stuff into /home/user/, it will break permissions in the guest system! Use /etc/skel/.''<br />
<br />
==== Finishing the overlay ====<br />
Some tips that will not be covered in this article because there are other articles on this wiki that already do:<br />
*Configure an ''inittab'' to start into X at boot time<br />
*Configure the ''hosts'' file<br />
*Configure ''rc.conf'' (no fancy modules required here)<br />
*Configure ''sudoers''<br />
*Configure ''rc.local''<br />
*Put more stuff into etc/skel<br />
*Put additional artworks onto the medium <br />
*Put arbitrary binary stuff into opt/<br />
<br />
== Generate your live medium ==<br />
After so much time spent on configuring, here comes the fun part: Baking the image.<br />
<br />
It's quite easy, too: As root (important!) execute the following in your project directory (where your ''Makefile'' is located):<br />
$ make all<br />
You will receive a .iso, ready for burning onto a CD/DVD or for dd'ing onto a USB key: <br />
dd if=my-image.iso of=/dev/some-usb-drive bs=8M<br />
Enjoy!<br />
{{warning|Careful with <tt>dd</tt>! If you use it on the wrong drive, a lot of precious data may be lost. Use with caution.}}<br />
<br />
== Links ==<br />
[http://projects.archlinux.org/?p=archiso.git;a=summary Archiso project page]</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Arch_Based_Distributions&diff=94999Arch Based Distributions2010-02-04T12:20:28Z<p>SHyLoCk: /* ArchBang */</p>
<hr />
<div>[[Category:About Arch (English)]][[Category:General (English)]]<br />
== Active Distributions ==<br />
<br />
=== ArchBang ===<br />
<br />
ArchBang[http://wiki.archlinux.org/index.php/ArchBang] LIVE CD = Arch Linux w/ OpenBox (inspired from #!) so ArchBang!!!<br />
<br />
*Forums: http://bbs.archlinux.org/viewtopic.php?id=89627<br />
*External Links: http://pdg86.wordpress.com/2010/02/02/release-archbang-1-03/<br />
*Screenshot: http://omploader.org/vM2czbQ/AB104.png<br />
<br />
We are currently working on an installer, so this is a Live CD for now. Feel free to contribute and comment so that we can improve our work.<br />
<br />
=== Arch Linux Mobile ===<br />
<br />
Arch Linux Mobile provides an ARM optimised port to run on the OpenMoko Freerunner, an open-source smartphone. It is currently undergoing early but active development.<br />
<br />
*Homepage: http://www.archmobile.org/<br />
*Forums: http://bbs.archlinux.org/viewforum.php?id=35<br />
*Documentation: http://www.archmobile.org/trac/wiki<br />
*Screenshots: http://archmobile.org/trac/wiki/AFR/SuccessStories<br />
*DistroWatch Entry:<br />
<br />
=== ArchLinux PPC ===<br />
<br />
''"The goal of the Archlinux PPC porting project is to make our favourite distribution, Arch Linux, available for the PPC architecture. Our strong community is diverse and helpful, and we pride ourselves on the range of skillsets and uses for Arch that stem from it. Please check out the forums and mailing list to get your feet wet. Also glance through the wiki if you want to learn more about Arch."''<br><br />
:<small>Source: [http://archlinuxppc.org/ Arch Linux PPC]</small><br />
<br />
*Homepage: http://archlinuxppc.org/<br />
*Forums: http://bbs.archlinux.org/<br />
*Documentation: http://wiki.archlinux.org/index.php/Main_Page<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== ArchPwn ===<br />
<br />
ArchPwn is a security based Linux Live CD/DVD system that aims to be a fully working swiss army knife for pentesting purpose. It is based on the Arch Linux distribution, and follows the Arch philosophy. It keeps the original system intact, and creates on top of it a package repository with all tools that a pentester needs.<br />
<br />
*Homepage: http://www.archpwn.org/index.php/Main_Page<br />
*Forums: <br />
*Documentation: http://www.archpwn.org/index.php/Main_Page<br />
*Screenshots: http://www.archpwn.org/index.php/Screenshots<br />
*DistroWatch Entry:<br />
<br />
=== archboot ===<br />
<br />
Archboot is designed for installation or rescue operations. It provides both the i686 and x86_64 architectures on one CD. It uses hwdetect and a different install script from the official Arch Linux install images. It runs in RAM using iniramfs, without any special filesystems like squashfs,<br />
thus it is limited to the RAM which is installed in your system.<br />
<br />
*Homepage: http://projects.archlinux.org/?p=archboot.git;a=summary<br />
*Forums: http://bbs.archlinux.org/<br />
*Documentation: ftp://ftp.archlinux.org/iso/archboot/Readme.txt<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== archlive ===<br />
<br />
Archlive is a Simple-Chinese live system based on Arch GNU/Linux. It is distinct from the Arch Live! distribution, adding Chinese language software and packages, but it is based upon Arch Live!<br />
<br />
*Homepage: http://code.google.com/p/archlive/<br />
*Forums: http://bbs.linuxeye.cn/forum-70-1.html<br />
*Documentation: http://code.google.com/p/archlive/w/list<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== Chakra ===<br />
<br />
"''Our goal with Chakra is to provide an operating system for desktops that is easy to use, but still has all the functionality, clarity, power and speediness of a KISS operating system. In the long term, we want to build an operating system based on Arch Linux that meets most requirements desktop users have today, like easy installation of software, graphical system administration, configuring power management on mobile devices, or sharing an internet connection.''"<br><br />
:<small>Source: [http://chakra-project.org/about.html The Chakra Project - About]</small><br />
<br />
The creators of the [[KDEmod]] project have created Chakra, based on Arch and KDEMod (of course). Tools like [http://chakra-project.org/tools-shaman.html Shaman] and [http://chakra-project.org/tools-arxin.html Arxin] show the gradual shift towards a more graphical UI oriented Arch derivative. Nonetheless, the project maintains the KISS principle of Arch, even though the [http://chakra-project.org/tools-tribe.html Tribe installer] on the Live CD provides more of the 'you don't have to know what's inside' philosophy. The installed system however is a pure Arch Linux + KDE4 + Shaman, with some artistic touches.<br />
<br />
*Homepage: http://chakra-project.org/<br />
*Forums: http://chakra-project.org/bbs/<br />
*Documentation: http://chakra-project.org/wiki/index.php/Main_Page<br />
*Screenshots: http://chakra-project.org/about-screenshots.html<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=chakra<br />
<br />
=== Chaox ===<br />
<br />
''"Chaox is a live environment based on Arch Linux focusing on pentesting and forensics. We feature current snapshots of aircrack-ng, the dedected toolkit and forensic applications such as testdisk or foremost, along with the usual tools."''<br><br />
:<small>Source: [http://blag.chaox.net/ chaox]</small><br />
*Homepage: http://blag.chaox.net/<br />
*Forums: http://forum.aircrack-ng.org/index.php?board=23.0<br />
*Documentation: <br />
*Screenshots: http://blag.chaox.net/screenshots/<br />
*DistroWatch Entry:<br />
<br />
=== CTKarchLive ===<br />
<br />
''"Un seul mot d'ordre : simple & léger. (et complet, dans la mesure du possible)<br />
Il est désormais installable !"''<br><br />
:<small>Source: [http://calimeroteknik.free.fr/ CTKarchLive]</small><br><br />
A lightweight distro using c²DE (openbox). It´s entirely in french for the time beeing.<br />
*Homepage: http://calimeroteknik.free.fr/<br />
*Forums: <br />
*Documentation: http://calimeroteknik.free.fr/arch-guide/<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
<br />
<br />
=== Kahel OS ===<br />
<br />
''"Kahel OS is the first and remains to be the only Filipino Linux Distro with the rolling release model on Arch Linux + GNOME. In the community, it is the first to release (non-beta) such Linux OS on Arch Linux + GNOME."''<br><br />
:<small>Source: [http://www.kahelos.org/ Kahel OS]</small><br />
*Homepage: http://www.kahelos.org/<br />
*Forums: http://http://forum.kahelos.org/<br />
*Documentation: http://wiki.kahelos.org/index.php?title=Main_Page<br />
*Screenshots: http://www.kahelos.org/gallery.php<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=kahelos<br />
<br />
<br />
=== LinHES ===<br />
<br />
LinHES ('''Lin'''ux '''H'''ome '''E'''ntertainment '''S'''ystem) is a distro based heavily on Arch and centered around [http://mythtv.org MythTV], with the expressed goal of being a HES-appliance. Utilizing open source software and off the shelf hardware, you'll be able to assemble a box that can serve as a PVR, Jukebox, Image Viewer, and Game Station. Users can go from a blank hard drive to fully functional MythTV system in literally 15-20 min. For more information, please see the [[LinHES]] wikipage.<br />
<br />
*Homepage: http://www.linhes.org/<br />
*Forums: http://www.linhes.org/phpBB2<br />
*Documentation: http://mysettopbox.tv/pamphlet.html<br />
*Screenshots: http://www.thecodingstudio.com/opensource/linux/screenshots/index.php?linux_distribution_sm=<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=knoppmyth<br />
<br />
=== live.linuX-gamers.net ===<br />
<br />
The linuX-gamers Live DVD is a bootable medium with a collection of popular 3D games. It contains both the NVIDIA and ATI proprietary Linux drivers and includes the following games: BzFLag, Enemy Territory, Glest, Nexuiz, Sauerbraten, Torcs, Tremulous, True Combat: Elite, Warsow and World of Padman. Although the live DVD is based on Arch Linux, it does not offer any desktop Linux functionality except gaming.<br />
<br />
*Homepage: http://live.linux-gamers.net/<br />
*Forums: http://www.linux-gamers.net/modules/newbb/viewforum.php?forum=49<br />
*Documentation: http://www.linux-gamers.net/modules/wiwimod/<br />
*Screenshots: http://live.linux-gamers.net/content/home_images/dvd-shot.png<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=linuxgamers<br />
<br />
=== Maryan Linux 2 ===<br />
<br />
The Maryan Linux 2 Project is designed to enable older hardware to run a fast and beautiful dekstop. For this reason, Maryan uses Enlightenment 17, which is a lightweight and very visually appealing desktop environment. The Maryan Linux developers strongly believe that this desktop environment is mature, stable (most of the time), and one of the most efficient for minimal computer resources usage.<br />
<br />
*Homepage: http://www.maryanlinux.com/<br />
*Forums: http://en.maryanlinux.com/component/option,com_wrapper/Itemid,45/<br />
*Documentation: http://documentation.maryanlinux.com/dokuwiki/ml2:start<br />
*Screenshots:<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=maryan<br />
<br />
=== Mesk Linux ===<br />
<br />
Mesk Linux is a project aiming at showcasing Arch to Arabic-speaking users . The project is also working on localizing Arch tools and documentation .<br />
<br />
*Homepage: http://www.mesklinux.org/<br />
*Forums: http://www.mesklinux.org/<br />
*Documentation: http://www.wiki.mesklinux.org/<br />
*Screenshots: http://www.fajjralislam.com/linux/index.php/photos/album/1.html<br />
*DistroWatch Entry:<br />
<br />
== Meta Distributions ==<br />
<br />
=== archiso ===<br />
<br />
[[archiso]] is a very simple set of bash scripts that allow for building live bootable CD/DVD/USB images based on Arch Linux. It uses a small uncomplicated code base and is actively developed. archiso is the tool used by Arch Linux to generate the official CD/USB images. It is a very generic tool, so it could potentially be used to generate anything from rescue systems, to install disks, to special interest live systems, and who knows what else. Simply put, if it involves Arch on a shiny coaster, it can do it. <br />
<br />
*Homepage: http://projects.archlinux.org/?p=archiso.git;a=summary<br />
*Forums http://bbs.archlinux.org/viewtopic.php?id=73878<br />
*Documentation: [[archiso|wiki article on archlinux.org]]<br />
*Screenshots:<br />
*DistroWatch Entry:<br />
<br />
=== Archiso-live ===<br />
<br />
Archiso-live is a fork of archiso that has since gained a fair bit of complexity in its development. Archiso-live undergoes rapid development with fresh releases posted on the dev blog found on its homepage. It uses a modular design approach based on slax. It even uses the slax initrd as a base module to get the system going. This allows archiso-live to be used in an everyday fashion since it has a full xfce desktop. It can also be greatly customized since it uses modules.<br />
<br />
*Homepage: http://godane.wordpress.com/ (GIT: http://github.com/godane/archiso-live/tree/master)<br />
*Forums: http://arch-live.2kool4u.net/forum/index.php<br />
*Documentation: http://arch-live.2kool4u.net/articles.php<br />
*Screenshots: http://arch-live.2kool4u.net/photogallery.php?album_id=1<br />
*DistroWatch Entry:<br />
<br />
=== larch ===<br />
<br />
larch is a collection of scripts used to create live CD/DVD/USB-stick versions of Arch Linux. One design aim is easy customization, so that even relatively inexperienced users can build personalized live CDs, containing whatever packages they want and with their own personal configurations. The resulting medium should also be usable for installation purposes, so that one has a customized Arch Linux installation/rescue medium. As the content can be chosen freely, a comfortable working environment is possible, in contrast to the rather Spartan standard Arch installation CD.<br />
<br />
*Homepage: http://larch.berlios.de/<br />
*Forums: <br />
*Documentation: http://larch.berlios.de/doc/index.html<br />
*Screenshots:<br />
*DistroWatch Entry:<br />
<br />
== Arch Influenced Distros ==<br />
<br />
===Alpine Linux===<br />
<br />
Alpine Linux is a run-from-RAM linux distribution. Its original target was small appliances like routers, VPN gateways, or embedded x86 devices. However, it supports hosting other Linux guest OSes under VServer control, making it an attractive hosting solution as well. Though Alpine Linux may not actually be based on Arch, its [http://git.alpinelinux.org/cgit/aports/tree/core/abuild/APKBUILD build system] [http://dev.alpinelinux.org/cgit/aports/tree/ 1]is undoubtably inspired by Arch. [http://lists.busybox.net/pipermail/busybox/2009-January/068280.html 2][http://wiki.alpinelinux.org/w/index.php?title=Creating_an_Alpine_package&oldid=2701#depends_.26_makedepends 3]<br />
<br />
*Homepage: http://alpinelinux.org<br />
*Forums:<br />
*Documentation: http://wiki.alpinelinux.org/w/index.php?title=Documentation<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== Enlisy ===<br />
<br />
Enlisy is an i686 optimized Linux distribution for Pentium 2 based processors and higher. It is also as simple as possible when it comes to the construction of its underlying core. Enlisy uses its own package manager Apport, which is is based on Libpysrc and Libpypac, which are inspired by Arch's package manager Pacman. Enlisy also uses InitNG for the init system.<br />
<br />
*Homepage: http://enlisy.com/<br />
*Forums: http://enlisy.com/en/forum/<br />
*Documentation: http://enlisy.org/ewiki/Documentation<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== Frugalware ===<br />
<br />
''"Frugalware Linux is a general-purpose Linux distribution designed for intermediate users who are familiar with command-line operations. It is based on Slackware, but uses a different package management system, Pacman."''<br><br />
:<small>Source: [[Wikipedia:Frugalware|Wikipedia]]</small><br />
<br />
*Homepage: http://frugalware.org<br />
*Forums: http://forums.frugalware.org<br />
*Documentation: http://frugalware.org/docs<br />
*Screenshots: http://frugalware.org/screenshots<br />
*DistroWatch Entry: http://distrowatch.com/frugalware<br />
<br />
== Discontinued Distributions ==<br />
<br />
=== Aegis Project ===<br />
<br />
The goal of the Arch Environmental/Geographical Information Systems (Arch EGIS) project was to increase awareness of and accessibility to the very latest, free, open-source GIS applications, sample data and other useful geographical and statistical tools, through the development of an Open Source GIS toolkit.<br />
<br />
*Homepage: http://arch-egis.berlios.de/news.php<br />
*Forums: http://arch-egis.berlios.de/forum.php<br />
*Documentation: http://arch-egis.berlios.de/e107_plugins/faq/faq.php<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== Archie ===<br />
<br />
Archie was a complete live Arch linux system run from a CD/USB-stick, built with the KISS philosophy in mind. It provided a full Arch linux system, yet it delivered fast performance without extensive bloating. Archie used its own hw-detection tool, lshwd, to support a wide range of hardware with fast detection time. Archie also provided extended features such as multiple languages, nesting capabilities, and hd-install.<br />
<br />
*Homepage: http://archie.dotsrc.org/<br />
*Forums:<br />
*Documentation: http://archie.sunsite.dk/wiki/doku.php<br />
*Screenshots:<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=archie<br />
<br />
=== archlive-i586 ===<br />
<br />
Arch Linux is an i686 optimized distribution, but sometimes members of the community ask how to install it on VIA C3 (mini-itx systems) or AMD Geode based systems. Since these CPUs are not fully i686 compatible, there is the need for an i586 port. There have been some past attempts to create an i586 port of Arch Linux. Some were successful, but they are not maintained anymore. The goal of archlive-i586 is to have an up to date i586 installation CD, with a reasonably sized package repository with at least 4-5 mirrors.<br />
<br />
*Homepage: http://code.google.com/p/archlinux-i586/<br />
*Forums: http://bbs.archlinux.org/viewforum.php?id=35<br />
*Documentation: http://code.google.com/p/archlinux-i586/w/list<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== Arch Linux Modified ===<br />
<br />
''"Goal:To make a light-weight version of Arch Linux that will accomodate most users without the need to download and configure packages.''"<br><br />
:<small>Source: [http://rusher.webhop.org/wordpress/?page_id=143 Arch Linux Modified]</small><br />
*Homepage: http://rusher.webhop.org/wordpress/?page_id=143<br />
*Forums: <br />
*Documentation: <br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== Borderless Linux ===<br />
<br />
"''I'm the founder of Borderless Linux. I am pleased to announce that we in fact are merging into what is currently the Chakra Project. We will be creating a LiveCD based upon Chakra's configurations and optimizations, but with a GNOME GUI. We will be using Larch to build the CD and hope to provide all the same functionality as Chakra, except using GNOME.''"<br><br />
:<small>Source: [http://www.borderlesslinux.org/ Borderless Linux]</small><br />
<br />
*Homepage: http://www.borderlesslinux.org/<br />
*Forums: http://chakra-project.org/bbs/<br />
*Documentation:<br />
*Screenshots:<br />
*DistroWatch Entry:<br />
<br />
=== FaunOS ===<br />
<br />
FaunOS was a portable, fully integrated Linux operating system with over 600 pre-installed packages. Based on Arch Linux, it was specifically designed to run from a portable USB memory device (such as a USB Flash drive). It could also be configured to boot from other media, such as DVD, and even the internal hard drive. FaunOS was a live desktop system designed to run without setup on most modern x86-based systems.<br />
<br />
*Homepage: http://www.faunos.com/<br />
*Forums: http://forum.faunos.com/<br />
*Documentation: http://wiki.faunos.com/<br />
*Screenshots: http://www.faunos.com/screenshots.html<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=faunos<br />
<br />
=== Firefly Linux ===<br />
<br />
Firefly Linux is a lightweight operating system designed with netbooks in mind. Firefly Linux Float, the main edition of Firefly, comes with the small and fast LXDE desktop environment. It also includes many popular applications to help the user get the most out of a netbook. Firefly Linux is powerful and is not limited to a "netbook-oriented" interface. Being relatively lightweight, Firefly can also be used for low-end systems. <br />
<br />
*Homepage: http://fireflylinux.com/<br />
*Forums: http://fireflylinux.com/forum/index.php<br />
*Documentation: <br />
*Screenshots: http://fireflylinux.com/screenshots/<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=firefly<br />
<br />
=== March Linux ===<br />
<br />
March Linux aimed to be a simple, lean and fast GNU/Linux distribution for the desktop, which urged the users to learn Linux instead of holding their hands at every step. At the same time, it was usable and fully functional with a generous package choices. While it was heavily based on Arch Linux, the author prefered to call March an Arch "distrolet". The default desktop environment in March Linux was [[Fluxbox]].<br />
<br />
*Homepage: http://marchlinux.wikidot.com/<br />
*Forums:<br />
*Documentation: http://marchlinux.wikidot.com/faqs<br />
*Screenshots: http://marchlinux.wikidot.com/screenshots<br />
*DistroWatch Entry:<br />
<br />
=== Shift Linux ===<br />
<br />
Shift Linux was a work in progress that aimed to be a desktop distro based on a solid Arch foundation. As of May 8th, 2009, development ceased. Read more about it here: http://shiftlinux.net/news/item/shift-placed-on-indefinite-hold<br />
<br />
"''Anyone interested in developing a Linux distro should consider helping out Firefly Linux. It's a great project that spawned from Shift.''"<br />
:<small>Source: Simon, [http://shiftlinux.net Shift Linux]</small><br />
<br />
*Homepage: http://shiftlinux.net/<br />
*Forums: http://www.neowin.net/forum/index.php?showforum=182<br />
*Documentation: http://shiftlinux.net/wiki/index.php/Main_Page<br />
*Screenshots: http://shiftlinux.net/art/<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=shift<br />
<br />
=== Underground Desktop ===<br />
<br />
Underground Desktop was a GNU/Linux distribution targeted at the desktop user. It was based on Arch Linux. Its main features were ease of installation, kernel optimisation for modern processors (i686), and the KDE desktop.<br />
<br />
*Homepage:<br />
*Forums:<br />
*Documentation: <br />
*Screenshots:<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=underground<br />
<br />
=== Miscellaneous Distributions ===<br />
<br />
These distributions lack sufficient information or available history to merit their own entry, so they are listed here in abbreviated form.<br />
<br />
*[http://www.datavibe.net/~essiene/ale/ ALE]<br />
:The Arch Linux Embedded Project<br />
<br />
*[http://sourceforge.net/projects/freshmeat_lowarch/ Lowarch]<br />
:A Linux distribution based on Arch Linux and aimed at low-end systems<br />
<br />
*[http://bbs.archlinux.org/viewtopic.php?id=18424 Minimax]<br />
:30 MB micro-LiveCD<br />
<br />
*[http://code.google.com/p/uarch/ uArch]<br />
:The goal of the uArch project was to build super lightweight, scalable and stable micro packages. Suitable for use on Desktops, Laptops, Routers, PDA and Cellphones</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Arch_Based_Distributions&diff=94989Arch Based Distributions2010-02-04T10:45:24Z<p>SHyLoCk: /* ArchBang */</p>
<hr />
<div>[[Category:About Arch (English)]][[Category:General (English)]]<br />
== Active Distributions ==<br />
<br />
=== ArchBang ===<br />
<br />
ArchBang[http://wiki.archlinux.org/index.php/ArchBang] LIVE CD = Arch Linux w/ OpenBox (inspired from #!) so ArchBang!!!<br />
<br />
*Forums: http://bbs.archlinux.org/viewtopic.php?id=89627<br />
*External Links: http://pdg86.wordpress.com/2010/02/02/release-archbang-1-03/<br />
*Screenshot: http://www.zwixy.com/images/5840707911280x960.png<br />
<br />
We are currently working on an installer, so this is a Live CD for now. Feel free to contribute and comment so that we can improve our work.<br />
<br />
=== Arch Linux Mobile ===<br />
<br />
Arch Linux Mobile provides an ARM optimised port to run on the OpenMoko Freerunner, an open-source smartphone. It is currently undergoing early but active development.<br />
<br />
*Homepage: http://www.archmobile.org/<br />
*Forums: http://bbs.archlinux.org/viewforum.php?id=35<br />
*Documentation: http://www.archmobile.org/trac/wiki<br />
*Screenshots: http://archmobile.org/trac/wiki/AFR/SuccessStories<br />
*DistroWatch Entry:<br />
<br />
=== ArchLinux PPC ===<br />
<br />
''"The goal of the Archlinux PPC porting project is to make our favourite distribution, Arch Linux, available for the PPC architecture. Our strong community is diverse and helpful, and we pride ourselves on the range of skillsets and uses for Arch that stem from it. Please check out the forums and mailing list to get your feet wet. Also glance through the wiki if you want to learn more about Arch."''<br><br />
:<small>Source: [http://archlinuxppc.org/ Arch Linux PPC]</small><br />
<br />
*Homepage: http://archlinuxppc.org/<br />
*Forums: http://bbs.archlinux.org/<br />
*Documentation: http://wiki.archlinux.org/index.php/Main_Page<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== ArchPwn ===<br />
<br />
ArchPwn is a security based Linux Live CD/DVD system that aims to be a fully working swiss army knife for pentesting purpose. It is based on the Arch Linux distribution, and follows the Arch philosphy. It keeps the original system intact, and creates on top of it a package repository with all tools that a pentester needs.<br />
<br />
*Homepage: http://www.archpwn.org/index.php/Main_Page<br />
*Forums: <br />
*Documentation: http://www.archpwn.org/index.php/Main_Page<br />
*Screenshots: http://www.archpwn.org/index.php/Screenshots<br />
*DistroWatch Entry:<br />
<br />
=== archboot ===<br />
<br />
Archboot is designed for installation or rescue operations. It provides both the i686 and x86_64 architectures on one CD. It uses hwdetect and a different install script from the official Arch Linux install images. It runs in RAM using iniramfs, without any special filesystems like squashfs,<br />
thus it is limited to the RAM which is installed in your system.<br />
<br />
*Homepage: http://projects.archlinux.org/?p=archboot.git;a=summary<br />
*Forums: http://bbs.archlinux.org/<br />
*Documentation: ftp://ftp.archlinux.org/iso/archboot/Readme.txt<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== archlive ===<br />
<br />
Archlive is a Simple-Chinese live system based on Arch GNU/Linux. It is distinct from the Arch Live! distribution, adding Chinese language software and packages, but it is based upon Arch Live!<br />
<br />
*Homepage: http://code.google.com/p/archlive/<br />
*Forums: http://bbs.linuxeye.cn/forum-70-1.html<br />
*Documentation: http://code.google.com/p/archlive/w/list<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== Chakra ===<br />
<br />
"''Our goal with Chakra is to provide an operating system for desktops that is easy to use, but still has all the functionality, clarity, power and speediness of a KISS operating system. In the long term, we want to build an operating system based on Arch Linux that meets most requirements desktop users have today, like easy installation of software, graphical system administration, configuring power management on mobile devices, or sharing an internet connection.''"<br><br />
:<small>Source: [http://chakra-project.org/about.html The Chakra Project - About]</small><br />
<br />
The creators of the [[KDEmod]] project have created Chakra, based on Arch and KDEMod (of course). Tools like [http://chakra-project.org/tools-shaman.html Shaman] and [http://chakra-project.org/tools-arxin.html Arxin] show the gradual shift towards a more graphical UI oriented Arch derivative. Nonetheless, the project maintains the KISS principle of Arch, even though the [http://chakra-project.org/tools-tribe.html Tribe installer] on the Live CD provides more of the 'you don't have to know what's inside' philosophy. The installed system however is a pure Arch Linux + KDE4 + Shaman, with some artistic touches.<br />
<br />
*Homepage: http://chakra-project.org/<br />
*Forums: http://chakra-project.org/bbs/<br />
*Documentation: http://chakra-project.org/wiki/index.php/Main_Page<br />
*Screenshots: http://chakra-project.org/about-screenshots.html<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=chakra<br />
<br />
=== Chaox ===<br />
<br />
''"Chaox is a live environment based on Arch Linux focusing on pentesting and forensics. We feature current snapshots of aircrack-ng, the dedected toolkit and forensic applications such as testdisk or foremost, along with the usual tools."''<br><br />
:<small>Source: [http://blag.chaox.net/ chaox]</small><br />
*Homepage: http://blag.chaox.net/<br />
*Forums: http://forum.aircrack-ng.org/index.php?board=23.0<br />
*Documentation: <br />
*Screenshots: http://blag.chaox.net/screenshots/<br />
*DistroWatch Entry:<br />
<br />
=== CTKarchLive ===<br />
<br />
''"Un seul mot d'ordre : simple & léger. (et complet, dans la mesure du possible)<br />
Il est désormais installable !"''<br><br />
:<small>Source: [http://calimeroteknik.free.fr/ CTKarchLive]</small><br><br />
A lightweight distro using c²DE (openbox). It´s entirely in french for the time beeing.<br />
*Homepage: http://calimeroteknik.free.fr/<br />
*Forums: <br />
*Documentation: http://calimeroteknik.free.fr/arch-guide/<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
<br />
<br />
=== Kahel OS ===<br />
<br />
''"Kahel OS is the first and remains to be the only Filipino Linux Distro with the rolling release model on Arch Linux + GNOME. In the community, it is the first to release (non-beta) such Linux OS on Arch Linux + GNOME."''<br><br />
:<small>Source: [http://www.kahelos.org/ Kahel OS]</small><br />
*Homepage: http://www.kahelos.org/<br />
*Forums: http://http://forum.kahelos.org/<br />
*Documentation: http://wiki.kahelos.org/index.php?title=Main_Page<br />
*Screenshots: http://www.kahelos.org/gallery.php<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=kahelos<br />
<br />
<br />
=== LinHES ===<br />
<br />
LinHES ('''Lin'''ux '''H'''ome '''E'''ntertainment '''S'''ystem) is a distro based heavily on Arch and centered around [http://mythtv.org MythTV], with the expressed goal of being a HES-appliance. Utilizing open source software and off the shelf hardware, you'll be able to assemble a box that can serve as a PVR, Jukebox, Image Viewer, and Game Station. Users can go from a blank hard drive to fully functional MythTV system in literally 15-20 min. For more information, please see the [[LinHES]] wikipage.<br />
<br />
*Homepage: http://www.linhes.org/<br />
*Forums: http://www.linhes.org/phpBB2<br />
*Documentation: http://mysettopbox.tv/pamphlet.html<br />
*Screenshots: http://www.thecodingstudio.com/opensource/linux/screenshots/index.php?linux_distribution_sm=<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=knoppmyth<br />
<br />
=== live.linuX-gamers.net ===<br />
<br />
The linuX-gamers Live DVD is a bootable medium with a collection of popular 3D games. It contains both the NVIDIA and ATI proprietary Linux drivers and includes the following games: BzFLag, Enemy Territory, Glest, Nexuiz, Sauerbraten, Torcs, Tremulous, True Combat: Elite, Warsow and World of Padman. Although the live DVD is based on Arch Linux, it does not offer any desktop Linux functionality except gaming.<br />
<br />
*Homepage: http://live.linux-gamers.net/<br />
*Forums: http://www.linux-gamers.net/modules/newbb/viewforum.php?forum=49<br />
*Documentation: http://www.linux-gamers.net/modules/wiwimod/<br />
*Screenshots: http://live.linux-gamers.net/content/home_images/dvd-shot.png<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=linuxgamers<br />
<br />
=== Maryan Linux 2 ===<br />
<br />
The Maryan Linux 2 Project is designed to enable older hardware to run a fast and beautiful dekstop. For this reason, Maryan uses Enlightenment 17, which is a lightweight and very visually appealing desktop environment. The Maryan Linux developers strongly believe that this desktop environment is mature, stable (most of the time), and one of the most efficient for minimal computer resources usage.<br />
<br />
*Homepage: http://www.maryanlinux.com/<br />
*Forums: http://en.maryanlinux.com/component/option,com_wrapper/Itemid,45/<br />
*Documentation: http://documentation.maryanlinux.com/dokuwiki/ml2:start<br />
*Screenshots:<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=maryan<br />
<br />
=== Mesk Linux ===<br />
<br />
Mesk Linux is a project aiming at showcasing Arch to Arabic-speaking users . The project is also working on localizing Arch tools and documentation .<br />
<br />
*Homepage: http://www.mesklinux.org/<br />
*Forums: http://www.mesklinux.org/<br />
*Documentation: http://www.wiki.mesklinux.org/<br />
*Screenshots: http://www.fajjralislam.com/linux/index.php/photos/album/1.html<br />
*DistroWatch Entry:<br />
<br />
== Meta Distributions ==<br />
<br />
=== archiso ===<br />
<br />
[[archiso]] is a very simple set of bash scripts that allow for building live bootable CD/DVD/USB images based on Arch Linux. It uses a small uncomplicated code base and is actively developed. archiso is the tool used by Arch Linux to generate the official CD/USB images. It is a very generic tool, so it could potentially be used to generate anything from rescue systems, to install disks, to special interest live systems, and who knows what else. Simply put, if it involves Arch on a shiny coaster, it can do it. <br />
<br />
*Homepage: http://projects.archlinux.org/?p=archiso.git;a=summary<br />
*Forums http://bbs.archlinux.org/viewtopic.php?id=73878<br />
*Documentation: [[archiso|wiki article on archlinux.org]]<br />
*Screenshots:<br />
*DistroWatch Entry:<br />
<br />
=== Archiso-live ===<br />
<br />
Archiso-live is a fork of archiso that has since gained a fair bit of complexity in its development. Archiso-live undergoes rapid development with fresh releases posted on the dev blog found on its homepage. It uses a modular design approach based on slax. It even uses the slax initrd as a base module to get the system going. This allows archiso-live to be used in an everyday fashion since it has a full xfce desktop. It can also be greatly customized since it uses modules.<br />
<br />
*Homepage: http://godane.wordpress.com/ (GIT: http://github.com/godane/archiso-live/tree/master)<br />
*Forums: http://arch-live.2kool4u.net/forum/index.php<br />
*Documentation: http://arch-live.2kool4u.net/articles.php<br />
*Screenshots: http://arch-live.2kool4u.net/photogallery.php?album_id=1<br />
*DistroWatch Entry:<br />
<br />
=== larch ===<br />
<br />
larch is a collection of scripts used to create live CD/DVD/USB-stick versions of Arch Linux. One design aim is easy customization, so that even relatively inexperienced users can build personalized live CDs, containing whatever packages they want and with their own personal configurations. The resulting medium should also be usable for installation purposes, so that one has a customized Arch Linux installation/rescue medium. As the content can be chosen freely, a comfortable working environment is possible, in contrast to the rather Spartan standard Arch installation CD.<br />
<br />
*Homepage: http://larch.berlios.de/<br />
*Forums: <br />
*Documentation: http://larch.berlios.de/doc/index.html<br />
*Screenshots:<br />
*DistroWatch Entry:<br />
<br />
== Arch Influenced Distros ==<br />
<br />
===Alpine Linux===<br />
<br />
Alpine Linux is a run-from-RAM linux distribution. Its original target was small appliances like routers, VPN gateways, or embedded x86 devices. However, it supports hosting other Linux guest OSes under VServer control, making it an attractive hosting solution as well. Though Alpine Linux may not actually be based on Arch, its [http://git.alpinelinux.org/cgit/aports/tree/core/abuild/APKBUILD build system] [http://dev.alpinelinux.org/cgit/aports/tree/ 1]is undoubtably inspired by Arch. [http://lists.busybox.net/pipermail/busybox/2009-January/068280.html 2][http://wiki.alpinelinux.org/w/index.php?title=Creating_an_Alpine_package&oldid=2701#depends_.26_makedepends 3]<br />
<br />
*Homepage: http://alpinelinux.org<br />
*Forums:<br />
*Documentation: http://wiki.alpinelinux.org/w/index.php?title=Documentation<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== Enlisy ===<br />
<br />
Enlisy is an i686 optimized Linux distribution for Pentium 2 based processors and higher. It is also as simple as possible when it comes to the construction of its underlying core. Enlisy uses its own package manager Apport, which is is based on Libpysrc and Libpypac, which are inspired by Arch's package manager Pacman. Enlisy also uses InitNG for the init system.<br />
<br />
*Homepage: http://enlisy.com/<br />
*Forums: http://enlisy.com/en/forum/<br />
*Documentation: http://enlisy.org/ewiki/Documentation<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== Frugalware ===<br />
<br />
''"Frugalware Linux is a general-purpose Linux distribution designed for intermediate users who are familiar with command-line operations. It is based on Slackware, but uses a different package management system, Pacman."''<br><br />
:<small>Source: [[Wikipedia:Frugalware|Wikipedia]]</small><br />
<br />
*Homepage: http://frugalware.org<br />
*Forums: http://forums.frugalware.org<br />
*Documentation: http://frugalware.org/docs<br />
*Screenshots: http://frugalware.org/screenshots<br />
*DistroWatch Entry: http://distrowatch.com/frugalware<br />
<br />
== Discontinued Distributions ==<br />
<br />
=== Aegis Project ===<br />
<br />
The goal of the Arch Environmental/Geographical Information Systems (Arch EGIS) project was to increase awareness of and accessibility to the very latest, free, open-source GIS applications, sample data and other useful geographical and statistical tools, through the development of an Open Source GIS toolkit.<br />
<br />
*Homepage: http://arch-egis.berlios.de/news.php<br />
*Forums: http://arch-egis.berlios.de/forum.php<br />
*Documentation: http://arch-egis.berlios.de/e107_plugins/faq/faq.php<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== Archie ===<br />
<br />
Archie was a complete live Arch linux system run from a CD/USB-stick, built with the KISS philosophy in mind. It provided a full Arch linux system, yet it delivered fast performance without extensive bloating. Archie used its own hw-detection tool, lshwd, to support a wide range of hardware with fast detection time. Archie also provided extended features such as multiple languages, nesting capabilities, and hd-install.<br />
<br />
*Homepage: http://archie.dotsrc.org/<br />
*Forums:<br />
*Documentation: http://archie.sunsite.dk/wiki/doku.php<br />
*Screenshots:<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=archie<br />
<br />
=== archlive-i586 ===<br />
<br />
Arch Linux is an i686 optimized distribution, but sometimes members of the community ask how to install it on VIA C3 (mini-itx systems) or AMD Geode based systems. Since these CPUs are not fully i686 compatible, there is the need for an i586 port. There have been some past attempts to create an i586 port of Arch Linux. Some were successful, but they are not maintained anymore. The goal of archlive-i586 is to have an up to date i586 installation CD, with a reasonably sized package repository with at least 4-5 mirrors.<br />
<br />
*Homepage: http://code.google.com/p/archlinux-i586/<br />
*Forums: http://bbs.archlinux.org/viewforum.php?id=35<br />
*Documentation: http://code.google.com/p/archlinux-i586/w/list<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== Arch Linux Modified ===<br />
<br />
''"Goal:To make a light-weight version of Arch Linux that will accomodate most users without the need to download and configure packages.''"<br><br />
:<small>Source: [http://rusher.webhop.org/wordpress/?page_id=143 Arch Linux Modified]</small><br />
*Homepage: http://rusher.webhop.org/wordpress/?page_id=143<br />
*Forums: <br />
*Documentation: <br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== Borderless Linux ===<br />
<br />
"''I'm the founder of Borderless Linux. I am pleased to announce that we in fact are merging into what is currently the Chakra Project. We will be creating a LiveCD based upon Chakra's configurations and optimizations, but with a GNOME GUI. We will be using Larch to build the CD and hope to provide all the same functionality as Chakra, except using GNOME.''"<br><br />
:<small>Source: [http://www.borderlesslinux.org/ Borderless Linux]</small><br />
<br />
*Homepage: http://www.borderlesslinux.org/<br />
*Forums: http://chakra-project.org/bbs/<br />
*Documentation:<br />
*Screenshots:<br />
*DistroWatch Entry:<br />
<br />
=== FaunOS ===<br />
<br />
FaunOS was a portable, fully integrated Linux operating system with over 600 pre-installed packages. Based on Arch Linux, it was specifically designed to run from a portable USB memory device (such as a USB Flash drive). It could also be configured to boot from other media, such as DVD, and even the internal hard drive. FaunOS was a live desktop system designed to run without setup on most modern x86-based systems.<br />
<br />
*Homepage: http://www.faunos.com/<br />
*Forums: http://forum.faunos.com/<br />
*Documentation: http://wiki.faunos.com/<br />
*Screenshots: http://www.faunos.com/screenshots.html<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=faunos<br />
<br />
=== Firefly Linux ===<br />
<br />
Firefly Linux is a lightweight operating system designed with netbooks in mind. Firefly Linux Float, the main edition of Firefly, comes with the small and fast LXDE desktop environment. It also includes many popular applications to help the user get the most out of a netbook. Firefly Linux is powerful and is not limited to a "netbook-oriented" interface. Being relatively lightweight, Firefly can also be used for low-end systems. <br />
<br />
*Homepage: http://fireflylinux.com/<br />
*Forums: http://fireflylinux.com/forum/index.php<br />
*Documentation: <br />
*Screenshots: http://fireflylinux.com/screenshots/<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=firefly<br />
<br />
=== March Linux ===<br />
<br />
March Linux aimed to be a simple, lean and fast GNU/Linux distribution for the desktop, which urged the users to learn Linux instead of holding their hands at every step. At the same time, it was usable and fully functional with a generous package choices. While it was heavily based on Arch Linux, the author prefered to call March an Arch "distrolet". The default desktop environment in March Linux was [[Fluxbox]].<br />
<br />
*Homepage: http://marchlinux.wikidot.com/<br />
*Forums:<br />
*Documentation: http://marchlinux.wikidot.com/faqs<br />
*Screenshots: http://marchlinux.wikidot.com/screenshots<br />
*DistroWatch Entry:<br />
<br />
=== Shift Linux ===<br />
<br />
Shift Linux was a work in progress that aimed to be a desktop distro based on a solid Arch foundation. As of May 8th, 2009, development ceased. Read more about it here: http://shiftlinux.net/news/item/shift-placed-on-indefinite-hold<br />
<br />
"''Anyone interested in developing a Linux distro should consider helping out Firefly Linux. It's a great project that spawned from Shift.''"<br />
:<small>Source: Simon, [http://shiftlinux.net Shift Linux]</small><br />
<br />
*Homepage: http://shiftlinux.net/<br />
*Forums: http://www.neowin.net/forum/index.php?showforum=182<br />
*Documentation: http://shiftlinux.net/wiki/index.php/Main_Page<br />
*Screenshots: http://shiftlinux.net/art/<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=shift<br />
<br />
=== Underground Desktop ===<br />
<br />
Underground Desktop was a GNU/Linux distribution targeted at the desktop user. It was based on Arch Linux. Its main features were ease of installation, kernel optimisation for modern processors (i686), and the KDE desktop.<br />
<br />
*Homepage:<br />
*Forums:<br />
*Documentation: <br />
*Screenshots:<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=underground<br />
<br />
=== Miscellaneous Distributions ===<br />
<br />
These distributions lack sufficient information or available history to merit their own entry, so they are listed here in abbreviated form.<br />
<br />
*[http://www.datavibe.net/~essiene/ale/ ALE]<br />
:The Arch Linux Embedded Project<br />
<br />
*[http://sourceforge.net/projects/freshmeat_lowarch/ Lowarch]<br />
:A Linux distribution based on Arch Linux and aimed at low-end systems<br />
<br />
*[http://bbs.archlinux.org/viewtopic.php?id=18424 Minimax]<br />
:30 MB micro-LiveCD<br />
<br />
*[http://code.google.com/p/uarch/ uArch]<br />
:The goal of the uArch project was to build super lightweight, scalable and stable micro packages. Suitable for use on Desktops, Laptops, Routers, PDA and Cellphones</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=User:SHyLoCk&diff=94987User:SHyLoCk2010-02-04T10:22:50Z<p>SHyLoCk: </p>
<hr />
<div>A simple man using a simple distro. After a lot of distro-hops I landed on Arch only to find what I was missing so long. Arch is as great as you can make of it. Even though I am supposed to write about myself here, I feel like talking about arch. :) <br />
Thanks to all those who made Arch linux possible! <br />
Keep up the good work.<br />
Cheers<br />
<br />
PS-My blog is @ : [http://pdg86.wordpress.com]<br />
<br />
PPS-Currently working with Will in the ArchBang[http://wiki.archlinux.org/index.php/ArchBang] project.</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Arch_Based_Distributions&diff=94885Arch Based Distributions2010-02-03T02:43:44Z<p>SHyLoCk: /* Active Distributions */</p>
<hr />
<div>[[Category:About Arch (English)]][[Category:General (English)]]<br />
== Active Distributions ==<br />
<br />
=== ArchBang ===<br />
<br />
ArchBang LIVE CD = Arch Linux w/ OpenBox (inspired from #!) so ArchBang!!!<br />
<br />
*Forums: http://bbs.archlinux.org/viewtopic.php?id=89627<br />
*External Links: http://pdg86.wordpress.com/2010/02/02/release-archbang-1-03/<br />
*Screenshot: http://www.zwixy.com/images/988595995version102.jpg<br />
<br />
We are currently working on an installer, so this is a Live CD for now. Feel free to contribute and comment so that we can improve our work.<br />
<br />
=== Arch Linux Mobile ===<br />
<br />
Arch Linux Mobile provides an ARM optimised port to run on the OpenMoko Freerunner, an open-source smartphone. It is currently undergoing early but active development.<br />
<br />
*Homepage: http://www.archmobile.org/<br />
*Forums: http://bbs.archlinux.org/viewforum.php?id=35<br />
*Documentation: http://www.archmobile.org/trac/wiki<br />
*Screenshots: http://archmobile.org/trac/wiki/AFR/SuccessStories<br />
*DistroWatch Entry:<br />
<br />
=== ArchLinux PPC ===<br />
<br />
''"The goal of the Archlinux PPC porting project is to make our favourite distribution, Arch Linux, available for the PPC architecture. Our strong community is diverse and helpful, and we pride ourselves on the range of skillsets and uses for Arch that stem from it. Please check out the forums and mailing list to get your feet wet. Also glance through the wiki if you want to learn more about Arch."''<br><br />
:<small>Source: [http://archlinuxppc.org/ Arch Linux PPC]</small><br />
<br />
*Homepage: http://archlinuxppc.org/<br />
*Forums: http://bbs.archlinux.org/<br />
*Documentation: http://wiki.archlinux.org/index.php/Main_Page<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== ArchPwn ===<br />
<br />
ArchPwn is a security based Linux Live CD/DVD system that aims to be a fully working swiss army knife for pentesting purpose. It is based on the Arch Linux distribution, and follows the Arch philosphy. It keeps the original system intact, and creates on top of it a package repository with all tools that a pentester needs.<br />
<br />
*Homepage: http://www.archpwn.org/index.php/Main_Page<br />
*Forums: <br />
*Documentation: http://www.archpwn.org/index.php/Main_Page<br />
*Screenshots: http://www.archpwn.org/index.php/Screenshots<br />
*DistroWatch Entry:<br />
<br />
=== archboot ===<br />
<br />
Archboot is designed for installation or rescue operations. It provides both the i686 and x86_64 architectures on one CD. It uses hwdetect and a different install script from the official Arch Linux install images. It runs in RAM using iniramfs, without any special filesystems like squashfs,<br />
thus it is limited to the RAM which is installed in your system.<br />
<br />
*Homepage: http://projects.archlinux.org/?p=archboot.git;a=summary<br />
*Forums: http://bbs.archlinux.org/<br />
*Documentation: ftp://ftp.archlinux.org/iso/archboot/Readme.txt<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== archlive ===<br />
<br />
Archlive is a Simple-Chinese live system based on Arch GNU/Linux. It is distinct from the Arch Live! distribution, adding Chinese language software and packages, but it is based upon Arch Live!<br />
<br />
*Homepage: http://code.google.com/p/archlive/<br />
*Forums: http://bbs.linuxeye.cn/forum-70-1.html<br />
*Documentation: http://code.google.com/p/archlive/w/list<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== Chakra ===<br />
<br />
"''Our goal with Chakra is to provide an operating system for desktops that is easy to use, but still has all the functionality, clarity, power and speediness of a KISS operating system. In the long term, we want to build an operating system based on Arch Linux that meets most requirements desktop users have today, like easy installation of software, graphical system administration, configuring power management on mobile devices, or sharing an internet connection.''"<br><br />
:<small>Source: [http://chakra-project.org/about.html The Chakra Project - About]</small><br />
<br />
The creators of the [[KDEmod]] project have created Chakra, based on Arch and KDEMod (of course). Tools like [http://chakra-project.org/tools-shaman.html Shaman] and [http://chakra-project.org/tools-arxin.html Arxin] show the gradual shift towards a more graphical UI oriented Arch derivative. Nonetheless, the project maintains the KISS principle of Arch, even though the [http://chakra-project.org/tools-tribe.html Tribe installer] on the Live CD provides more of the 'you don't have to know what's inside' philosophy. The installed system however is a pure Arch Linux + KDE4 + Shaman, with some artistic touches.<br />
<br />
*Homepage: http://chakra-project.org/<br />
*Forums: http://chakra-project.org/bbs/<br />
*Documentation: http://chakra-project.org/wiki/index.php/Main_Page<br />
*Screenshots: http://chakra-project.org/about-screenshots.html<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=chakra<br />
<br />
=== Chaox ===<br />
<br />
''"Chaox is a live environment based on Arch Linux focusing on pentesting and forensics. We feature current snapshots of aircrack-ng, the dedected toolkit and forensic applications such as testdisk or foremost, along with the usual tools."''<br><br />
:<small>Source: [http://blag.chaox.net/ chaox]</small><br />
*Homepage: http://blag.chaox.net/<br />
*Forums: http://forum.aircrack-ng.org/index.php?board=23.0<br />
*Documentation: <br />
*Screenshots: http://blag.chaox.net/screenshots/<br />
*DistroWatch Entry:<br />
<br />
=== CTKarchLive ===<br />
<br />
''"Un seul mot d'ordre : simple & léger. (et complet, dans la mesure du possible)<br />
Il est désormais installable !"''<br><br />
:<small>Source: [http://calimeroteknik.free.fr/ CTKarchLive]</small><br><br />
A lightweight distro using c²DE (openbox). It´s entirely in french for the time beeing.<br />
*Homepage: http://calimeroteknik.free.fr/<br />
*Forums: <br />
*Documentation: http://calimeroteknik.free.fr/arch-guide/<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
<br />
<br />
=== Kahel OS ===<br />
<br />
''"Kahel OS is the first and remains to be the only Filipino Linux Distro with the rolling release model on Arch Linux + GNOME. In the community, it is the first to release (non-beta) such Linux OS on Arch Linux + GNOME."''<br><br />
:<small>Source: [http://www.kahelos.org/ Kahel OS]</small><br />
*Homepage: http://www.kahelos.org/<br />
*Forums: http://http://forum.kahelos.org/<br />
*Documentation: http://wiki.kahelos.org/index.php?title=Main_Page<br />
*Screenshots: http://www.kahelos.org/gallery.php<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=kahelos<br />
<br />
<br />
=== LinHES ===<br />
<br />
LinHES ('''Lin'''ux '''H'''ome '''E'''ntertainment '''S'''ystem) is a distro based heavily on Arch and centered around [http://mythtv.org MythTV], with the expressed goal of being a HES-appliance. Utilizing open source software and off the shelf hardware, you'll be able to assemble a box that can serve as a PVR, Jukebox, Image Viewer, and Game Station. Users can go from a blank hard drive to fully functional MythTV system in literally 15-20 min. For more information, please see the [[LinHES]] wikipage.<br />
<br />
*Homepage: http://www.linhes.org/<br />
*Forums: http://www.linhes.org/phpBB2<br />
*Documentation: http://mysettopbox.tv/pamphlet.html<br />
*Screenshots: http://www.thecodingstudio.com/opensource/linux/screenshots/index.php?linux_distribution_sm=<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=knoppmyth<br />
<br />
=== live.linuX-gamers.net ===<br />
<br />
The linuX-gamers Live DVD is a bootable medium with a collection of popular 3D games. It contains both the NVIDIA and ATI proprietary Linux drivers and includes the following games: BzFLag, Enemy Territory, Glest, Nexuiz, Sauerbraten, Torcs, Tremulous, True Combat: Elite, Warsow and World of Padman. Although the live DVD is based on Arch Linux, it does not offer any desktop Linux functionality except gaming.<br />
<br />
*Homepage: http://live.linux-gamers.net/<br />
*Forums: http://www.linux-gamers.net/modules/newbb/viewforum.php?forum=49<br />
*Documentation: http://www.linux-gamers.net/modules/wiwimod/<br />
*Screenshots: http://live.linux-gamers.net/content/home_images/dvd-shot.png<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=linuxgamers<br />
<br />
=== Maryan Linux 2 ===<br />
<br />
The Maryan Linux 2 Project is designed to enable older hardware to run a fast and beautiful dekstop. For this reason, Maryan uses Enlightenment 17, which is a lightweight and very visually appealing desktop environment. The Maryan Linux developers strongly believe that this desktop environment is mature, stable (most of the time), and one of the most efficient for minimal computer resources usage.<br />
<br />
*Homepage: http://www.maryanlinux.com/<br />
*Forums: http://en.maryanlinux.com/component/option,com_wrapper/Itemid,45/<br />
*Documentation: http://documentation.maryanlinux.com/dokuwiki/ml2:start<br />
*Screenshots:<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=maryan<br />
<br />
=== Mesk Linux ===<br />
<br />
Mesk Linux is a project aiming at showcasing Arch to Arabic-speaking users . The project is also working on localizing Arch tools and documentation .<br />
<br />
*Homepage: http://www.mesklinux.org/<br />
*Forums: http://www.mesklinux.org/<br />
*Documentation: http://www.wiki.mesklinux.org/<br />
*Screenshots: http://www.fajjralislam.com/linux/index.php/photos/album/1.html<br />
*DistroWatch Entry:<br />
<br />
== Meta Distributions ==<br />
<br />
=== archiso ===<br />
<br />
[[archiso]] is a very simple set of bash scripts that allow for building live bootable CD/DVD/USB images based on Arch Linux. It uses a small uncomplicated code base and is actively developed. archiso is the tool used by Arch Linux to generate the official CD/USB images. It is a very generic tool, so it could potentially be used to generate anything from rescue systems, to install disks, to special interest live systems, and who knows what else. Simply put, if it involves Arch on a shiny coaster, it can do it. <br />
<br />
*Homepage: http://projects.archlinux.org/?p=archiso.git;a=summary<br />
*Forums http://bbs.archlinux.org/viewtopic.php?id=73878<br />
*Documentation: [[archiso|wiki article on archlinux.org]]<br />
*Screenshots:<br />
*DistroWatch Entry:<br />
<br />
=== Archiso-live ===<br />
<br />
Archiso-live is a fork of archiso that has since gained a fair bit of complexity in its development. Archiso-live undergoes rapid development with fresh releases posted on the dev blog found on its homepage. It uses a modular design approach based on slax. It even uses the slax initrd as a base module to get the system going. This allows archiso-live to be used in an everyday fashion since it has a full xfce desktop. It can also be greatly customized since it uses modules.<br />
<br />
*Homepage: http://godane.wordpress.com/ (GIT: http://github.com/godane/archiso-live/tree/master)<br />
*Forums: http://arch-live.2kool4u.net/forum/index.php<br />
*Documentation: http://arch-live.2kool4u.net/articles.php<br />
*Screenshots: http://arch-live.2kool4u.net/photogallery.php?album_id=1<br />
*DistroWatch Entry:<br />
<br />
=== larch ===<br />
<br />
larch is a collection of scripts used to create live CD/DVD/USB-stick versions of Arch Linux. One design aim is easy customization, so that even relatively inexperienced users can build personalized live CDs, containing whatever packages they want and with their own personal configurations. The resulting medium should also be usable for installation purposes, so that one has a customized Arch Linux installation/rescue medium. As the content can be chosen freely, a comfortable working environment is possible, in contrast to the rather Spartan standard Arch installation CD.<br />
<br />
*Homepage: http://larch.berlios.de/<br />
*Forums: <br />
*Documentation: http://larch.berlios.de/doc/index.html<br />
*Screenshots:<br />
*DistroWatch Entry:<br />
<br />
== Arch Influenced Distros ==<br />
<br />
===Alpine Linux===<br />
<br />
Alpine Linux is a run-from-RAM linux distribution. Its original target was small appliances like routers, VPN gateways, or embedded x86 devices. However, it supports hosting other Linux guest OSes under VServer control, making it an attractive hosting solution as well. Though Alpine Linux may not actually be based on Arch, its [http://git.alpinelinux.org/cgit/aports/tree/core/abuild/APKBUILD build system] [http://dev.alpinelinux.org/cgit/aports/tree/ 1]is undoubtably inspired by Arch. [http://lists.busybox.net/pipermail/busybox/2009-January/068280.html 2][http://wiki.alpinelinux.org/w/index.php?title=Creating_an_Alpine_package&oldid=2701#depends_.26_makedepends 3]<br />
<br />
*Homepage: http://alpinelinux.org<br />
*Forums:<br />
*Documentation: http://wiki.alpinelinux.org/w/index.php?title=Documentation<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== Enlisy ===<br />
<br />
Enlisy is an i686 optimized Linux distribution for Pentium 2 based processors and higher. It is also as simple as possible when it comes to the construction of its underlying core. Enlisy uses its own package manager Apport, which is is based on Libpysrc and Libpypac, which are inspired by Arch's package manager Pacman. Enlisy also uses InitNG for the init system.<br />
<br />
*Homepage: http://enlisy.com/<br />
*Forums: http://enlisy.com/en/forum/<br />
*Documentation: http://enlisy.org/ewiki/Documentation<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== Frugalware ===<br />
<br />
''"Frugalware Linux is a general-purpose Linux distribution designed for intermediate users who are familiar with command-line operations. It is based on Slackware, but uses a different package management system, Pacman."''<br><br />
:<small>Source: [[Wikipedia:Frugalware|Wikipedia]]</small><br />
<br />
*Homepage: http://frugalware.org<br />
*Forums: http://forums.frugalware.org<br />
*Documentation: http://frugalware.org/docs<br />
*Screenshots: http://frugalware.org/screenshots<br />
*DistroWatch Entry: http://distrowatch.com/frugalware<br />
<br />
== Discontinued Distributions ==<br />
<br />
=== Aegis Project ===<br />
<br />
The goal of the Arch Environmental/Geographical Information Systems (Arch EGIS) project was to increase awareness of and accessibility to the very latest, free, open-source GIS applications, sample data and other useful geographical and statistical tools, through the development of an Open Source GIS toolkit.<br />
<br />
*Homepage: http://arch-egis.berlios.de/news.php<br />
*Forums: http://arch-egis.berlios.de/forum.php<br />
*Documentation: http://arch-egis.berlios.de/e107_plugins/faq/faq.php<br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== Archie ===<br />
<br />
Archie was a complete live Arch linux system run from a CD/USB-stick, built with the KISS philosophy in mind. It provided a full Arch linux system, yet it delivered fast performance without extensive bloating. Archie used its own hw-detection tool, lshwd, to support a wide range of hardware with fast detection time. Archie also provided extended features such as multiple languages, nesting capabilities, and hd-install.<br />
<br />
*Homepage: http://archie.dotsrc.org/<br />
*Forums:<br />
*Documentation: http://archie.sunsite.dk/wiki/doku.php<br />
*Screenshots:<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=archie<br />
<br />
=== archlive-i586 ===<br />
<br />
Arch Linux is an i686 optimized distribution, but sometimes members of the community ask how to install it on VIA C3 (mini-itx systems) or AMD Geode based systems. Since these CPUs are not fully i686 compatible, there is the need for an i586 port. There have been some past attempts to create an i586 port of Arch Linux. Some were successful, but they are not maintained anymore. The goal of archlive-i586 is to have an up to date i586 installation CD, with a reasonably sized package repository with at least 4-5 mirrors.<br />
<br />
*Homepage: http://code.google.com/p/archlinux-i586/<br />
*Forums: http://bbs.archlinux.org/viewforum.php?id=35<br />
*Documentation: http://code.google.com/p/archlinux-i586/w/list<br />
*Screenshots: <br />
*DistroWatch Entry: <br />
<br />
=== Arch Linux Modified ===<br />
<br />
''"Goal:To make a light-weight version of Arch Linux that will accomodate most users without the need to download and configure packages.''"<br><br />
:<small>Source: [http://rusher.webhop.org/wordpress/?page_id=143 Arch Linux Modified]</small><br />
*Homepage: http://rusher.webhop.org/wordpress/?page_id=143<br />
*Forums: <br />
*Documentation: <br />
*Screenshots: <br />
*DistroWatch Entry:<br />
<br />
=== Borderless Linux ===<br />
<br />
"''I'm the founder of Borderless Linux. I am pleased to announce that we in fact are merging into what is currently the Chakra Project. We will be creating a LiveCD based upon Chakra's configurations and optimizations, but with a GNOME GUI. We will be using Larch to build the CD and hope to provide all the same functionality as Chakra, except using GNOME.''"<br><br />
:<small>Source: [http://www.borderlesslinux.org/ Borderless Linux]</small><br />
<br />
*Homepage: http://www.borderlesslinux.org/<br />
*Forums: http://chakra-project.org/bbs/<br />
*Documentation:<br />
*Screenshots:<br />
*DistroWatch Entry:<br />
<br />
=== FaunOS ===<br />
<br />
FaunOS was a portable, fully integrated Linux operating system with over 600 pre-installed packages. Based on Arch Linux, it was specifically designed to run from a portable USB memory device (such as a USB Flash drive). It could also be configured to boot from other media, such as DVD, and even the internal hard drive. FaunOS was a live desktop system designed to run without setup on most modern x86-based systems.<br />
<br />
*Homepage: http://www.faunos.com/<br />
*Forums: http://forum.faunos.com/<br />
*Documentation: http://wiki.faunos.com/<br />
*Screenshots: http://www.faunos.com/screenshots.html<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=faunos<br />
<br />
=== Firefly Linux ===<br />
<br />
Firefly Linux is a lightweight operating system designed with netbooks in mind. Firefly Linux Float, the main edition of Firefly, comes with the small and fast LXDE desktop environment. It also includes many popular applications to help the user get the most out of a netbook. Firefly Linux is powerful and is not limited to a "netbook-oriented" interface. Being relatively lightweight, Firefly can also be used for low-end systems. <br />
<br />
*Homepage: http://fireflylinux.com/<br />
*Forums: http://fireflylinux.com/forum/index.php<br />
*Documentation: <br />
*Screenshots: http://fireflylinux.com/screenshots/<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=firefly<br />
<br />
=== March Linux ===<br />
<br />
March Linux aimed to be a simple, lean and fast GNU/Linux distribution for the desktop, which urged the users to learn Linux instead of holding their hands at every step. At the same time, it was usable and fully functional with a generous package choices. While it was heavily based on Arch Linux, the author prefered to call March an Arch "distrolet". The default desktop environment in March Linux was [[Fluxbox]].<br />
<br />
*Homepage: http://marchlinux.wikidot.com/<br />
*Forums:<br />
*Documentation: http://marchlinux.wikidot.com/faqs<br />
*Screenshots: http://marchlinux.wikidot.com/screenshots<br />
*DistroWatch Entry:<br />
<br />
=== Shift Linux ===<br />
<br />
Shift Linux was a work in progress that aimed to be a desktop distro based on a solid Arch foundation. As of May 8th, 2009, development ceased. Read more about it here: http://shiftlinux.net/news/item/shift-placed-on-indefinite-hold<br />
<br />
"''Anyone interested in developing a Linux distro should consider helping out Firefly Linux. It's a great project that spawned from Shift.''"<br />
:<small>Source: Simon, [http://shiftlinux.net Shift Linux]</small><br />
<br />
*Homepage: http://shiftlinux.net/<br />
*Forums: http://www.neowin.net/forum/index.php?showforum=182<br />
*Documentation: http://shiftlinux.net/wiki/index.php/Main_Page<br />
*Screenshots: http://shiftlinux.net/art/<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=shift<br />
<br />
=== Underground Desktop ===<br />
<br />
Underground Desktop was a GNU/Linux distribution targeted at the desktop user. It was based on Arch Linux. Its main features were ease of installation, kernel optimisation for modern processors (i686), and the KDE desktop.<br />
<br />
*Homepage:<br />
*Forums:<br />
*Documentation: <br />
*Screenshots:<br />
*DistroWatch Entry: http://distrowatch.com/table.php?distribution=underground<br />
<br />
=== Miscellaneous Distributions ===<br />
<br />
These distributions lack sufficient information or available history to merit their own entry, so they are listed here in abbreviated form.<br />
<br />
*[http://www.datavibe.net/~essiene/ale/ ALE]<br />
:The Arch Linux Embedded Project<br />
<br />
*[http://sourceforge.net/projects/freshmeat_lowarch/ Lowarch]<br />
:A Linux distribution based on Arch Linux and aimed at low-end systems<br />
<br />
*[http://bbs.archlinux.org/viewtopic.php?id=18424 Minimax]<br />
:30 MB micro-LiveCD<br />
<br />
*[http://code.google.com/p/uarch/ uArch]<br />
:The goal of the uArch project was to build super lightweight, scalable and stable micro packages. Suitable for use on Desktops, Laptops, Routers, PDA and Cellphones</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Suspending_to_RAM_with_hibernate-script&diff=93788Suspending to RAM with hibernate-script2010-01-27T08:32:06Z<p>SHyLoCk: /* The hibernate-script and suspension to RAM */</p>
<hr />
<div>[[Category:Power management (English)]] [[Category:Laptops (English)]] [[Category:HOWTOs (English)]]<br />
{{Article summary start| Summary }}<br />
{{Article summary text|Instructions on suspending to RAM, primarily focused on hibernate-script}}<br />
{{Article summary heading|Language}}<br />
{{i18n_entry|English|Suspending to RAM with hibernate-script}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Suspending to Disk with hibernate-script}}<br />
{{Article summary wiki|pm-utils}}<br />
{{Article summary wiki|Laptop}}<br />
{{Article summary end}}<br />
In this article we will explain how to accomplish a successful suspension to RAM using hibernate-script: all the processes are stopped and the current state of your machine is saved to RAM. All the devices enter a low-consumption state and it will be very fast to resume the machine.<br />
Suspension to RAM is an acpi state, but the operation is almost never as simple as telling the machine to enter that state. The vast majority of laptops require additional operations and tricks. However, since this is quite an important feature for laptop users, it is worth spending some hours in finding the working combinations of tricks for your machine.<br />
<br />
====Different methods of suspending to RAM====<br />
There is an application, called s2ram, which contains a "whitelist" of known laptop models and, according to what has been reported by other owners of these laptops, tries to do the right things for that specific laptop. The whitelisted laptops can therefore use s2ram to suspend to RAM "out of the box". Non-whitelisted laptops need to try different command line options of s2ram in order to determine - by trial and error - the appropriate "tricks" needed to make suspend and resume work. Your experience, if reported to the s2ram developers, will contribute to whitelist your machine in the next release of s2ram.<br />
<br />
However, s2ram is not the only resource: the hibernate-script, which is commonly used to accomplish [[Suspend to Disk]] , supports also suspension to RAM and proposes some further tricks which could convince your machine to suspend to RAM and resume properly. Moreover, the hibernate-script can automatize other useful operations which you could want/need to do before suspension or after resuming from suspension to RAM.<br />
<br />
Thus, the first part of this article will be devoted to s2ram. The second will discuss the use of the hibernate-script in suspension to RAM. In particular, we will see how the hibernate-script can be used to suspend to RAM your system just with the s2ram, but providing some additional tweakings. Finally, we will mention the possibility to suspend the machine both to RAM and to disk.<br />
<br />
===s2ram===<br />
The s2ram utility is part of the uswsusp collection, which includes also some goodies relative to [[Suspend to Disk]] . You can find uswsusp in the community repositories. <br />
# pacman -S uswsusp<br />
<br />
Read the notes provided by pacman during the ''uswsusp'' package installation. In essence, you will need to:<br />
* edit /etc/suspend.conf to specify the resume device, i.e. your swap partition.<br />
resume device = /dev/sd''XY''<br />
* update /etc/mkinitcpio.conf to include the ''uresume'' hook<br />
HOOKS="base udev autodetect pata scsi sata ''uresume'' filesystems"<br />
* rebuild the ramdisk<br />
mkinitcpio -p kernel26<br />
<br />
====Testing====<br />
After installing the uswsusp package, check to see whether s2ram recognizes your machine: <br />
# s2ram -n<br />
<br />
If you see a line that says "Machine matched entry #", then your machine is already whitelisted. You SHOULD be able to suspend and resume properly by simply running s2ram:<br />
# s2ram<br />
<br />
Please note that the way to trigger resume from a suspended to RAM machine depends from your BIOS settings and is not predictable in general (sometimes it is enough to press a key whatsoever). If s2ram seems to work, but something goes wrong in the suspension cycle, then some driver or some process is causing problems and you should look at the hibernate section to see how the hibernate-script can help you. In the worst case, your machine has been erroneously whitelisted due to an inadequate report from another owner of the same machine. You should then report your case to the suspend-devel@lists.sourceforge.net, so that the previous mistaken report can stand corrected. In this case, you should quote the identification strings provided by s2ram -i.<br />
<br />
If s2ram doesn't match your machine to an entry in its whitelist, it will output some general purpose identification strings for your machine (the same as those provided s2ram -i). In this case, you will have to force s2ram to suspend your machine by using s2ram -f.<br />
<br />
<br />
If '''s2ram -f''' doesn't work, try the different workarounds offered by s2ram. Run s2ram -h to get a list of the possible options:<br />
# s2ram -h<br />
Usage: s2ram [-nhi] [-fspmrav]<br />
<br />
Options:<br />
-h, --help: this text.<br />
-n, --test: test if the machine is in the database.<br />
returns 0 if known and supported<br />
-i, --identify: prints a string that identifies the machine.<br />
-f, --force: force suspending, even on unknown machines.<br />
<br />
The following options are only available with -f/--force:<br />
-s, --vbe_save: save VBE state before suspending and restore after resume.<br />
-p, --vbe_post: VBE POST the graphics card after resume<br />
-m, --vbe_mode: get VBE mode before suspend and set it after resume<br />
-r, --radeontool: turn off the backlight on radeons before suspending.<br />
-a, --acpi_sleep: set the acpi_sleep parameter before suspend<br />
1=s3_bios, 2=s3_mode, 3=both<br />
-v, --pci_save: save the PCI config space for the VGA card.<br />
<br />
Try the following variations:<br />
s2ram -f -a 1<br />
s2ram -f -a 2<br />
s2ram -f -a 3<br />
s2ram -f -p -m<br />
s2ram -f -p -s<br />
s2ram -f -m<br />
s2ram -f -s<br />
s2ram -f -p<br />
s2ram -f -a 1 -m<br />
s2ram -f -a 1 -s<br />
<br />
If none of those combinations work, start again but add the "-v" switch.<br />
<br />
Note that mixing the "-a" options and the vbetool options ("-p", "-m", "-s")<br />
is normally only a measure of last resort, it usually does not make much<br />
sense.<br />
<br />
<br />
If you find several combinations that work (e.g. "s2ram -f -a 3" and "s2ram -f -p -m" both work on your machine),<br />
the in-kernel method ("-a") should be preferred over the userspace methods ("-p", "-m" and "-s").<br />
<br />
Verify all combinations in both cases when reporting success to the s2ram developers:<br />
* when issuing s2ram from console<br />
* when issuing s2ram from X<br />
<br />
You should really try ANY combination of these options (the only exception is the radeontool one, which can be useuful only if you have a radeon card), until you find a working combination. When you find a working combination, try to reduce it (that is try to see if any of the options are redundant). With any working combination of options, it is crucial to verify that suspension and resuming work fine both if you suspend from X and if you suspend from the plain console. Actually, in many setups the most tricky thing is to suspend and resume properly from the console. In the best case, s2ram -f is enough: this means that your machine does not require any trick to properly suspend and resume.<br />
<br />
There is a trick which does not correspond to a command line option, because it requires additional operations from you. It is marked with NOFB in the whitelist and used for those laptops which suspend and resume properly only if no framebuffer is used. If you verify that no command line option of s2ram works, you can try to disable the framebuffer. In order to do this, you need to edit your grub configuration /boot/grub/menu.lst (or the corresponding lilo file), remove the vga=<foo> value from the kernel line and reboot. This at least if you use the VESAFB framebufeer (as in the arch default kernel). If you use a different framebuffer driver, refer to the documentation of the driver to see how to disable it. <br />
<br />
After you have identified the shortest working combination of options, you should do two things. First, you will want to modify the whitelist for your local copy of s2ram to allow your machine to suspend and resume without any special options. Second, you will want to let the developers of s2ram know what options are needed for your machine so it can be added to the whitelist for future releases s2ram.<br />
<br />
Finally, it may happen that no trick makes s2ram work. In this case - before giving up - you can use some last-resort tricks provided by the hibernation-script discussed later in this article.<br />
<br />
====Whitelisting====<br />
To add your machine to the local whitelist for s2ram, you need to customize the package from [[ABS]]. Copy the /var/abs/community/uswsusp folder somewhere then run makepkg -o to download the sources. After this, edit the file src/suspend-0.8/whitelist.c<br />
<br />
You will see something like this: <br />
struct machine_entry whitelist[] = {<br />
{ "IBM", "", "ThinkPad X32", "", RADEON_OFF|S3_BIOS|S3_MODE },<br />
/* Michael Wagner <michael-wagner@gmx.de> */<br />
{ "4MBOL&S", "7521 *", "REV. A0", "", 0 },<br />
/* Alexander Wirt */<br />
...<br />
<br />
Add a new entry using the same format as the others. The first four fields identify your machine and are provided by:<br />
# s2ram -i<br />
<br />
E.g.:<br />
sys_vendor = "Acer, inc."<br />
sys_product = "Aspire 1640 "<br />
sys_version = "Not Applicable"<br />
bios_version = "3A05"<br />
<br />
Copy these values between the first four sets of quotes. The fifth field identifies which tricks are needed for your machine, seperate each of the tricks with a | character, like the other lines in the file. If no tricks were required, set it to 0.<br />
<br />
Now force a recompilation and reinstallation of uswsusp with makepkg -efi (The -e prevents makepkg from overwriting your customized whitelist.c). Your machine should now suspend properly with a plain:<br />
# s2ram<br />
<br />
You can now report your identification strings and any tricks required to the suspend-devel@lists.sourceforge.net mailing list. Please specify always that everything works both from X and from the plain console.<br />
<br />
=The hibernate-script and suspension to RAM=<br />
The hibernate-script, developed in the field of the tuxonice project for [[Suspend to Disk]], can be used also to suspend your machine to RAM. Actually, you can also try to do this directly, performing the required operations before calling the ACPI S3 state. However, the s2ram seems to be the leading method nowadays and, through the named whitelist, should assure in the future that virtually any laptop can suspend to RAM without too much hassle. So, the actually best way to use the power of the hibernate-script for suspension to RAM is to use it to call s2ram.<br />
<br />
You can edit /etc/hibernate/hibernate.conf to select ususpend-ram.conf as the default action called by:<br />
# hibernate<br />
<br />
Just put the following as the first uncommented line:<br />
TryMethod ususpend-ram.conf<br />
<br />
However, may be that you want to use the hibernate-script primarily to suspend to disk. In that case you should resort to the ram-specific configuration file from the command line:<br />
# hibernate -F /etc/hibernate/ususpend-ram.conf<br />
<br />
Now you should configure the script. Please note that the options that you put in /etc/hibernate/common.conf will be used anytime you call hibernate (that is also for suspension to disk). On the contrary, the options in /etc/hibernate/ususpend-ram.conf will be used only when you suspend to RAM with the s2ram method.<br />
<br />
The hibernate-script options are exhaustively described in the man page hibernate.conf.<br />
<br />
First of all, may be that some module is preventing you from accomplishing a proper suspension cycle. In this case, list it in the UnloadModules: it will be unloaded before suspension and reloaded after resuming. Note that the hibernation script already does this for some blacklisted modules, whose list is /etc/hibernate/blacklisted-modules.<br />
<br />
If you discover that a module is guilty, you should report this to the suspend-devel@lists.sourceforge.net, so that the bad behaviour of the module can be fixed.<br />
<br />
May be also that your display is the guilty and that the tricks provided by s2ram are not enough. The hibernate-script has some further tricks:<br />
<br />
The relevant block of options is the following:<br />
### vbetool<br />
#EnableVbetool yes<br />
#RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
#VbetoolPost yes<br />
# RestoreVCSAData yes<br />
<br />
### xhacks<br />
#SwitchToTextMode yes<br />
#UseDummyXServer yes<br />
#DummyXServerConfig xorg-dummy.conf<br />
<br />
However, most of these tricks are already attempted by s2ram and you should not duplicate the effort. Only three tricks in this section are specific to the script. The first is to uncomment both the following two lines:<br />
EnableVbetool yes<br />
RestoreVbeStateFrom /var/lib/vbetool/vbestate<br />
<br />
Please note that, while s2ram uses an internal vbetool component, the hibernate-script relies on the vbetool package in the extra repo, so you should install it. Basically, this combination of options do something similar to the --vbe_save s2ram option, but, instead of restoring the state saved immediately before suspension, it restores a state manually saved by the user in the file /var/lib/vbetool/vbestate (or any other file you have chosen). You can try to save the state in a peculiar safe situation, like immediately after booting, or before any switching from X to console and back. You can save the state with the following command:<br />
# vbetool vbestate save > /var/lib/vbetool/vbestate<br />
<br />
The second peculiar trick (very often required!) is to uncomment the following line:<br />
SwitchToTextMode yes<br />
<br />
The script will switch from X to console before suspension and back to X after a successful resuming.<br />
<br />
Finally, the UseDummyXServer trick uses a second XServer, with a minimal safe configuration only during the suspension cycle, restoring the full fledged X server only after a complete resume. This can be useful with cards with problematic proprietary drivers: the dummy xserver will use the standard vesa driver instead. Anyway, this last trick should be seldom useful nowadays, because also proprietary drivers seem to support suspension without too many problems.<br />
<br />
The hibernate-script gives you many other useful possibilities (such as restarting services, unmounting partitions, ejecting pccards, and so on). Read about them in the man pages.<br />
<br />
=s2both=<br />
You can also suspend your machine both to disk and to RAM. This is documented in [[Suspend to Disk#Combining suspend to disk with suspend to RAM|a specific section of the wiki page about suspension to disk]].<br />
<br />
=Automatic suspend and wakeup=<br />
Once you have suspend to RAM working, you will probably want it to happend automatically e.g., when you close the laptop lid.<br />
<br />
There are several ways to do this. The easiest is to use a high-level power management tool such as KDE's PowerDevil. Another is to create your own ACPI event handler scripts.<br />
<br />
==Automatic suspend, the hard way==<br />
ACPI events are managed by configuration files in /etc/acpi/events/. (The laptop-mode-tools package contains some examples). A default configuration file called 'anything' is provided by the acpid package, which runs /etc/acpi/handler.sh on every event.<br />
<br />
An simple event configuration file to manage the opening and closing of a laptop lid (that could be called /etc/acpi/events/lid) looks like this:<br />
event=button[ /]lid<br />
action=/etc/acpi/actions/lid_handler.sh %e<br />
<br />
The first line specifies the names of the events applicable to this file with a regexp. You can get the names of events by enabling event logging in acpid and looking at /var/log/acpid. <br />
<br />
The second line specifies an executable to be run when an applicable event occurs. The '%e' is a variable containing arguments that the event provides. It's a good idea to provide them to the program.<br />
<br />
It's customary to put handling programs in /etc/acpi/actions/. A possible implementation of lid_handler.sh in the previous example could be:<br />
#!/bin/sh<br />
# check if the lid is open or closed, using the /proc file<br />
if grep closed /proc/acpi/button/lid/LID/state >/dev/null ; then<br />
# if the lid is now closed, save the network state and suspend to RAM<br />
netcfg all-suspend<br />
pm-suspend<br />
else<br />
# if the lid is now open, restore the network state.<br />
# (if we are running, a wakeup has already occured!)<br />
netcfg all-resume<br />
fi<br />
<br />
The same example, adapted for wicd instead of netcfg:<br />
#!/bin/sh<br />
# check if the lid is open or closed, using the /proc file<br />
if grep closed /proc/acpi/button/lid/LID/state >/dev/null ; then<br />
# if the lid is now closed, save the network state and suspend to RAM<br />
/usr/lib/wicd/suspend.py<br />
pm-suspend<br />
else<br />
# if the lid is now open, restore the network state.<br />
# (if we are running, a wakeup has already occured!)<br />
/usr/lib/wicd/autoconnect.py<br />
fi<br />
<br />
Remember to make it executable. With some basic knowledge of shell scripting, you have a lot of possibilities.<br />
<br />
==Controlling wakeup ==<br />
The ACPI events that trigger wakeup are controlled through the procfile /proc/acpi/wakeup. An example output is:<br />
root@hex in /proc/acpi $ cat wakeup<br />
Device S-state Status Sysfs node<br />
LID S3 *enabled<br />
PBTN S4 *enabled<br />
MBTN S5 enabled<br />
PCI0 S3 disabled no-bus:pci0000:00<br />
USB0 S0 disabled pci:0000:00:1d.0<br />
USB1 S0 disabled pci:0000:00:1d.1<br />
USB2 S0 disabled pci:0000:00:1d.2<br />
USB3 S0 disabled pci:0000:00:1d.3<br />
EHCI S0 disabled pci:0000:00:1d.7<br />
AZAL S3 disabled pci:0000:00:1b.0<br />
PCIE S4 disabled pci:0000:00:1e.0<br />
RP01 S4 disabled pci:0000:00:1c.0<br />
RP02 S3 disabled<br />
RP03 S3 disabled<br />
RP04 S3 disabled pci:0000:00:1c.3<br />
RP05 S3 disabled<br />
RP06 S3 disabled<br />
<br />
To toggle whether an event will trigger a wakeup, pipe its name into the /proc/acpi/wakeup. (Note that every name in the file must have 4 letters, so if it is shorter e.g. LID, it needs be prepended with spaces). So to prevent opening the laptop lid from triggering a wakeup, you could do:<br />
root@hex in /proc/acpi $ echo " LID" > wakeup<br />
root@hex in /proc/acpi $ cat wakeup<br />
Device S-state Status Sysfs node<br />
LID S3 *disabled<br />
PBTN S4 *disabled<br />
MBTN S5 disabled<br />
PCI0 S3 disabled no-bus:pci0000:00<br />
...<br />
<br />
Another thing to note is that the PBTN and MBTN events were also toggle with the LID event. Sometimes events are linked, so that all of them will be enable and disabled in unison. Checking the 'dmesg' command can confirm this:<br />
root@hex in /proc/acpi $ dmesg<br />
...<br />
ACPI: 'PBTN' and 'LID' have the same GPE, can't disable/enable one separately<br />
ACPI: 'MBTN' and 'LID' have the same GPE, can't disable/enable one separately<br />
<br />
This may not actually affect the other events. On a Dell Inspiron 6400, for example, the power button always triggers a wake up. Your mileage may vary.<br />
<br />
None of this will persist between boots, so you might want to add the echo command to /etc/rc.local so it is executed on every boot:<br />
# disable the laptop lid switch<br />
echo " LID" > /proc/acpi/wakeup</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Firefox&diff=82250Firefox2009-11-07T11:58:42Z<p>SHyLoCk: /* Recompiling */</p>
<hr />
<div>[[Category:Internet and Email (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|FireFox (Česky)}}<br />
{{i18n_entry|English|Firefox}}<br />
{{i18n_entry|Italiano|Firefox_(Italiano)}}<br />
{{i18n_links_end}}<br />
<br />
[http://www.firefox.com Firefox] is an open-source graphical web browser from [http://www.mozilla.com Mozilla]. The Firefox package in Arch Linux is compiled without official branding, which means that when Firefox is started it will use an alternate icon and will be named after its release series' codename. This has to be done because a distribution may use the name "Firefox" and its artwork only if there are no unofficial modifications, including security patches.<br />
<br />
== Enabling Firefox Branding ==<br />
There are a few ways to enable official branding and to change the browser's user agent string. Among them, there is recompiling, modifying the browser with add-ons, or using the advanced configuration ({{Codeline|about:config}}). Please note that distributing a version with official branding without previous approval from Mozilla is against the law.<br />
<br />
=== Recompiling ===<br />
This guide will employ [[ABS]] for rebuilding Firefox version 2.x. A branded version of Firefox 3.x is available in the [http://aur.archlinux.org/packages.php?ID=18019 AUR].<br />
<br />
After installing ABS,<br />
# pacman -S abs<br />
sync the ABS tree.<br />
# abs<br />
If this is the first time running abs, it may take a while to sync the package tree. Subsequent runs will be much faster. Now make a temporary work path:<br />
$ mkdir -p ~/devel/abs/firefox<br />
$ cp -r /var/abs/extra/firefox ~/devel/abs/firefox<br />
$ cd ~/devel/abs/firerfox<br />
<br />
Use an editor of choice to open the mozconfig file. Add the following line to the end:<br />
ac_add_options --enable-official-branding<br />
<br />
Save and exit, then run:<br />
$ makepkg -g >> PKGBUILD<br />
This command copies the md5sum values of modified source files (mozconfig in this case) to the PKGBUILD.<br />
<br />
Edit the PKGBUILD file by replacing this line<br />
convert ${startdir}/src/mozilla/browser/app/default.xpm ${startdir}/pkg/usr/share/pixmaps/firefox.png<br />
<br />
with the following:<br />
convert ${startdir}/src/mozilla/dist/branding/default.xpm ${startdir}/pkg/usr/share/pixmaps/firefox.png<br />
<br />
Now scroll down and look for these two lines.<br />
install -m644 ${startdir}/src/mozilla/browser/app/default.xpm ${startdir}/pkg/usr/lib/firefox/chrome/icons/default/<br />
install -m644 ${startdir}/src/mozilla/browser/app/default.xpm ${startdir}/pkg/usr/lib/firefox/icons/<br />
<br />
Replace them with the following:<br />
install -m644 ${startdir}/src/mozilla/dist/branding/default.xpm ${startdir}/pkg/usr/lib/firefox/chrome/icons/default/<br />
install -m644 ${startdir}/src/mozilla/dist/branding/default.xpm ${startdir}/pkg/usr/lib/firefox/icons/ <br />
<br />
Save and exit, then run:<br />
makepkg -s<br />
This will install the required packages for building Firefox prior to making the package itself.<br />
<br />
Once it has created the package, remove the currently installed Firefox version, if any:<br />
pacman -Rd firefox<br />
Then install the newly created version with:<br />
pacman -U firefox-*.pkg.tar.gz<br />
<br />
=== Advanced Configuration ===<br />
Enter {{Codeline|about:config}} in Firefox's address bar to access the advanced configuration options. In the filter, enter {{Codeline|useragent.extra.firefox}}. This will show the current user-agent string, which can be modified as desired. Leave the version part of the string unaltered, and replace {{Codeline|Shiretoko}} with "Firefox" in order to make the browser identify itself with the traditional user-agent string.<br />
<br />
=== Branding without recompilation ===<br />
To brand "Shiretoko" without recompiling the whole browser, it is required to replace the Bon Echo icons with the official Firefox icons, and change the string "Shiretoko" in a few files. The [http://bbs.archlinux.org/viewtopic.php?id=44320 firebrand] script takes care of this (see note in bold in the initial thread post). Run it (as root) after an upgrade or installation of firefox. To revert to the Shiretoko brand again, simply reinstall firefox. The script will by default download the icons every time it is run. To "cache" the icons locally for later firefox upgrades, set the {{Codeline|NEWICONSDIR}} variable to a suitable directory, for instance:<br />
NEWICONSDIR=/usr/local/share/firebrand<br />
<br />
== Recommended Add-ons ==<br />
Before you try to install add-ons, make sure that your /tmp directory was created with the right permissions. If addons won't install, <code>chmod 1777 /tmp</code> should fix it.<br />
<br />
*[https://addons.mozilla.org/firefox/1865/ Adblock Plus]<br />
:Highly effective ad and popup blocker with lots of options and a simplistic UI.<br />
<br />
*[https://addons.mozilla.org/en-US/firefox/addon/220 FlashGot]<br />
:Download all the links, movies and audio clips of a page at the maximum speed with a single click. Very powerful, lightweight and reliable external download manager.<br />
<br />
*[https://addons.mozilla.org/en-US/firefox/addon/722 NoScript]<br />
:Selectively blocks javascript, flash, and other types of content. Allows active content to run only from trusted sites, and protects the system against XSS and Clickjacking attacks.<br />
<br />
*[https://addons.mozilla.org/firefox/446/ MediaPlayerConnectivity]<br />
:Allows launching an embedded video from a website in an external application. Good for those who have problems with media plugins.<br />
<br />
*[https://addons.mozilla.org/firefox/2553/ CCK Wizard]<br />
:Allows customizing every aspect of Firefox. Title bar, user agent, icons, about graphic, and more. <br />
<br />
*[https://addons.mozilla.org/firefox/59/ User Agent Switcher]<br />
:Adds a menu and a toolbar button to switch the user agent of the browser.<br />
<br />
== Plugins ==<br />
To find out what plugins are installed, enter <code>about:plugins</code> in the Firefox address bar.<br />
<br />
=== Flash ===<br />
# pacman -S flashplugin<br />
In addition, it may be needed to install ttf-ms-fonts ({{Codeline|pacman -S ttf-ms-fonts ttf-dejavu ttf-bitstream-vera}}) for flashplayer to render text properly.<br />
<br />
=== MPlayer ===<br />
[[MPlayer]]'s multimedia plugin is one of the most mature. This will generally cover the majority of online video codecs.<br />
# pacman -S mplayer-plugin<br />
<br />
=== Gecko Media Player ===<br />
A good replacement of the now aging ''mplayer-plugin'', is [http://code.google.com/p/gecko-mediaplayer/ Gecko Media Player]. More stable combined with MPlayer 1.0RC2. ''(No more crashes with Apple Trailers.)''<br />
# pacman -S gecko-mediaplayer<br />
{{Note|Be sure to remove mplayer-plugin if already installed.}}<br />
<br />
=== Totem-plugin ===<br />
The totem plugin might be the choice for those seeking a gstreamer based plugin:<br />
# $pacman -S totem-plugin gvfs<br />
<br />
===Java ===<br />
{{Note|Each Java package described here contains the Java runtime as well as the fitting browser-plugin for Firefox.}}<br />
# pacman -S openjdk6<br />
Or install the proprietary version of Java:<br />
# pacman -S jre<br />
Keep in mind that the open-source and closed-source versions can not be installed in parallel. The open-source version is nearly perfect at the time of writing and there is mostly no need anymore to install the proprietary version of Java.<br />
<br />
=== Citrix ===<br />
''See [[Citrix]] how-to''<br />
<br />
=== Adobe Reader ===<br />
Licensing issues prevent Acrobat Reader from being available in any repository. It can only be found in the [[AUR]].<br />
<br />
32-bit AUR package: {{Package AUR| acroread}}<br />
<br />
It installs the Acrobat Reader application as well as the Firefox plugin. Note however that hardware assisted rendering is unavailable under Linux (at least using a Geforce 8600GTS with driver version 185.18.14).<br />
<br />
'''For 64-bit installs''': Adobe Reader is a closed-source application, meaning that users desiring a 64-bit binary have no other choice other than to wait for official support. Workarounds to be considered:<br />
<br />
* Follow this guide posted in the forums: [http://wiki.archlinux.org/index.php/Arch64_Install_bundled_32bit_system this link]. It involves creating a chrooted environment that could be reused for other 32-bit only applications.<br />
<br />
* Or, simply get the 32-bit binary along with the 32-bit dependencies. Install {{Package AUR| bin32-acroread}}. Also, consider installing the extra font packages suggested by the package. Be advised that the Firefox plugin cannot be used ''directly'' with this binary - it will not load in the 64-bit browser. {{Package AUR|nspluginwrapper}} is required to load the plugin. Finally, be sure to run:<br />
$ nspluginwrapper -v -a -i<br />
as a '''normal user'''. This checks your plugin directory and links the plugins as needed. Everything should work as expected now.<br />
<br />
=== Troubleshooting Plugins ===<br />
==== Plugins are installed but not working ====<br />
If Firefox is not using the plugins after installing them (verifiable by typing about:plugins in the adressbar and hitting return.), the problem is most likely erroneous permissions. Fix those with:<br />
# chmod -R 755 /usr/lib/mozilla<br />
After restarting Firefox plugins should function correctly.<br />
<br />
If the above suggestion does not fix anything, and about:plugins still reports that no plugins are installed, run the following command (replace the version in the path with the appropiate one):<br />
# ln -sv /usr/lib/mozilla/plugins /usr/lib/firefox-3.0/plugins<br />
Restart firefox and about:plugins should list all of the currently installed plugins.<br />
<br />
Another common problem is that the plugin path is unset. This typically occurs on a new install, when the user has not re-logged in before running Firefox after the installation. Test if the path is unset:<br />
$ echo $MOZ_PLUGIN_PATH<br />
If unset, then either relogin, or source {{Filename|/etc/profile.d/mozilla-common.sh}} and start Firefox from the same shell:<br />
$ . /etc/profile.d/mozilla-common.sh && firefox<br />
<br />
==== Plugins cannot be downloaded ====<br />
In some cases, users are not able to download (and install) any of the Firefox plugins. The solution is adding the following line in {{Filename|/etc/hosts}}:<br />
64.50.236.214 releases.mozilla.org<br />
<br />
== Tips ==<br />
Recommended readings:<br />
*[[Firefox Tips and Tweaks]]<br />
*[[Firefox Widgets]]<br />
*[[Adding Firefox Search Engines As User|Adding Firefox Search Engines]]<br />
<br />
=== Enable Spell Checking ===<br />
Right click in any text entry field and add the dictionary for the solicited language. Restart firefox, and click in a text entry field again to enable spell checking.<br />
<br />
=== Wheel Mouse Scroll Speed ===<br />
To modify the default values (i.e. speed-up) of the wheel mouse scroll speed, type the following into Firefox's address bar:<br />
about:config<br />
Now enter the following into the 'filter' dialog: '''mousewheel.withnokey'''<br />
<br />
*Double-click the entry entitled, '''mousewheel.withnokey.sysnumlines''' and thereby setting its value to '''True'''<br />
*Double-click the entry entitled, '''mousewheel.withnokey.numlines''' and enter the desired number of lines per movement into the box (12, for example).<br />
<br />
Restart Firefox for this setting to take effect.<br />
<br />
=== Speed-Up Firefox by Defragmenting the Profile's SQLite Databases ===<br />
<br />
{{Warning| This procedure may damage the databases in such a way that sessions are not saved properly.}}<br />
<br />
Firefox 3.0, bookmarks, history, passwords are kept in SQLite databases. SQLite databases become fragmented over time and empty spaces appear all around. But, since there are no managing processes checking and optimizing the database, these factors eventually result in a performance hit. A good way to improve startup and some other bookmarks and history related tasks is to defragment and trim unused space from these databases.<br />
<br />
Run '''sqlite3''' {{Codeline|vacuum}} and {{Codeline|reindex}} commands in the profile directory.<br />
<br />
Example:<br />
$ cd ~/.mozilla/profile/9jdn39sdjk.default<br />
$ sqlite3 urlclassifier3.sqlite 'VACUUM;'<br />
$ sqlite3 urlclassifier3.sqlite 'REINDEX;'<br />
$ sqlite3 places.sqlite 'VACUUM;'<br />
$ sqlite3 places.sqlite 'REINDEX;'<br />
<br />
'''Sample Size Differences Comparison'''<br />
{| border="1"<br />
| SQLite DB || Size Before || Size After || % change<br />
|- <br />
|urlclassifier3.sqlite|| 37 M || 30 M || 19 %<br />
|-<br />
|places.sqlite || 16 M || 2.4 M || 85 %<br />
|-<br />
|}<br />
<br />
To automate the process for all the databases in all the profiles directory, use the following:<br />
for i in `find ~/.mozilla -name \*.sqlite`; do sqlite3 $i vacuum; done<br />
for i in `find ~/.mozilla -name \*.sqlite`; do sqlite3 $i reindex; done<br />
<br />
=== Cache Your Entire Profile into RAM via tmpfs ===<br />
If the system has memory to spare, {{Codeline|tmpfs}} can be used to cache the entire profile directory, which might incur in increased Firefox responsiveness. Full list of possible benifits include:<br />
<br />
*Reduced disk read/writes (ideal when using a SSD)<br />
<br />
*Better user experience through heightened responsive feel<br />
<br />
*Many operations within Firefox become instantaneous (quick search, history, etc.)<br />
<br />
See [[Speed-up Firefox using tmpfs]] for more information<br />
<br />
=== Lighten, Speed-up Firefox / Fix fonts and controls issues ===<br />
''Also, font fix for Mozilla suite''<br />
<br />
Add:<br />
export MOZ_DISABLE_PANGO=1<br />
to ~/.bash_profile and relogin for the change to take place.<br />
<br />
== General Troubleshooting ==<br />
<br />
=== Middle-click errors ===<br />
! The URL is not valid and cannot be loaded.<br />
Another symptom is that middle-clicking results in unexpected behavior, like accessing a random webpage.<br />
<br />
The reason stems from the use of the middle mouse buttons in UNIX-like operating systems. The middle mouse button is used to paste whatever text has been highlighted/added to the clipboard. Then there is the possibly conflicting feature in Firefox, which defaults to loading the url of the corresponding text when the button is depressed. This can be disabled like so:<br />
<br />
Open the browser, and type the following into the address bar:<br />
about:config<br />
Search for '''middlemouse.contentLoadURL''' and set it to false.<br />
<br />
Alternatively, having the traditional scroll cursor on middle-click (default behaviour on Windows browsers) can be achieved by searching for '''general.autoScroll''' and setting it to true.<br />
<br />
=== Backspace does not work as the 'Back' button ===<br />
As per [http://ubuntu.wordpress.com/2006/12/21/fix-firefox-backspace-to-take-you-to-the-previous-page/ this article], the feature has been removed in order to fix a bug. Follow the next steps to retain the original behaviour.<br />
<br />
Open the browser and type the following address:<br />
about:config<br />
Search for '''browser.backspace_action''' and set it to 0 (zero).<br />
<br />
=== Firefox does not remember login information ===<br />
<br />
It maybe cause of a corrupted {{Codeline|cookies.sqlite}} file in [http://support.mozilla.com/en-US/kb/Profiles#How_to_find_your_profile Firefox's profile] folder. In order to fix this, just rename or remove the cookie.sqlite while Firefox is not running.<br />
<br />
Open a terminal of choice and type the following:<br />
$ cd ~/.mozilla/firefox/xxxxxxxx.default/<br />
$ rm -f cookies.sqlite<br />
{{Note|xxxxxxxx represents a random string of 8 characters.}}<br />
<br />
Restart Firefox and see if it solved the problem.<br />
<br />
=== Broken websites / input fields with dark Gtk Themes ===<br />
<br />
When using a dark [[GTK]] theme, one might encounter Internet pages with unreadable input and text fields (p.e. Amazon - white text on white background). This can happen because the site only sets either background or text color, and Firefox takes the other one from the theme.<br />
<br />
A work around is to explicitly setting standard colours for all web pages in {{Filename|~/.mozilla/firefox/.../chrome/userContent.css}}.<br />
<br />
The following sets input fields to standard black text / white background; both can be overridden by the displayed site, so that colors are seen as intended:<br />
<pre><br />
input {<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
textarea {<br />
background-color: white;<br />
color: black;<br />
}<br />
</pre><br />
This will force the colours ("Allow paged to choose their own colors [..]" setting, in the '''Preferences > Content > Color''' dialog):<br />
<pre><br />
input {<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
textarea {<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
</pre><br />
Change color values to suit, or use an add-on like [https://addons.mozilla.org/en-US/firefox/addon/2108 Stylish].<br />
<br />
=== File Association Problems ===<br />
For non-[[GNOME]] users, Firefox may not associate file types (in the "Open With" part of the download dialog). Installing {{Package Official|libgnome}} ammends the problem:<br />
pacman -S libgnome<br />
<br />
== Fonts ==<br />
<br />
=== DPI ===<br />
Modifying the following value can help improve the way fonts looks in Firefox if the system's DPI is below 96. Firefox, by default, uses 96 and only uses the system's DPI if it is a higher value. To force the system's DPI regardless of its value, type about:config into the address bar and search for '''layout.css.dpi'''. Change it to '''0'''.<br />
<br />
=== Font Replacement ===<br />
Another way to improve how fonts look is to replace them with another. Add to, or create a {{Filename|~/.fonts.conf}} file with the following:<br />
<br />
<match target="pattern" name="family" ><br />
<test name="family" qual="any" ><br />
<string>'''Helvetica'''</string><br />
</test><br />
<edit mode="assign" name="family" ><br />
<string>'''Bitstream Vera Sans'''</string><br />
</edit><br />
</match><br />
The first font name is the one being replaced, whereas the second is the replacement font.<br />
<br />
'''For more information on font configuration, please read [[Xorg Font Configuration]]'''<br />
<br />
== Projects Related to Firefox ==<br />
<br />
=== Firefox Derivatives ===<br />
*[http://en.wikipedia.org/wiki/Iceweasel Iceweasel] - The name of '''two''' different Firefox forks. One was a GNU project; the name of this project has since changed to [http://en.wikipedia.org/wiki/GNU_IceCat Icecat]. The [http://wiki.debian.org/Iceweasel second] is being developed by Debian and is based on 2.0. At the time of writing the [[AUR]] only has Icecat.<br />
<br />
*[http://en.wikipedia.org/wiki/GNU_IceCat GNU/IceCat] - formerly known as GNU IceWeasel, is a web browser distributed by the GNU Project. IceCat, which is made entirely of free software, is a fork of Mozilla Firefox. It is compatible with the GNU/Linux operating system and almost all of Firefox's addons. GNU/IceCat really can fully replace Firefox.<br />
<br />
*[http://getswiftfox.com/ Swiftfox] - An optimized and processor-specific build of Firefox. Currently available via AUR. It should be noted that, considering Arch Linux has ABS, you could build your own optimized build of Firefox.<br />
<br />
*[http://swiftweasel.sourceforge.net/ Swiftweasel] - Mostly like Swiftfox, but the binaries aren't under proprietary license. Some PKGBUILDs are available in AUR.<br />
<br />
=== Firefox Alternatives ===<br />
*[[Opera]]<br />
:A closed-sourced full-featured web suite.<br />
*[http://en.wikipedia.org/wiki/Epiphany_%28browser%29 Epiphany]<br />
:GNOME's default web browser. Uses the same rendering engine as Firefox.<br />
*[http://en.wikipedia.org/wiki/Konqueror Konqueror]<br />
:KDE's default web browser. Uses the KHTML rendering engine.<br />
*[http://en.wikipedia.org/wiki/Dillo Dillo]<br />
:A very lightweight web browser.<br />
*[http://en.wikipedia.org/wiki/SeaMonkey SeaMonkey]<br />
:The continuation of the original Mozilla suite. Includes web browser, email client, etc.<br />
*[http://en.wikipedia.org/wiki/Midori_(browser) Midori]<br />
:A webkit-based GTK+ browser. Lightweight and early in development, but with plenty of features already.<br />
*[http://en.wikipedia.org/wiki/Arora_(web_browser) Arora]<br />
:A webkit-based Qt browser in development, very capable and fast.<br />
*[http://www.uzbl.org uzbl]<br />
:A lightweight webkit browser following the UNIX philosophy; to do one thing and do it well.<br />
<br />
== External Links ==<br />
*[http://www.howtocreate.co.uk/browserSpeed.html Browser Speed Comparisons]<br />
:A dated article comparing popular browsers' performance.<br />
*[http://web.glandium.org/blog/?p=97 Facts about Debian and Mozilla® Firefox]<br />
:An account of the trademark issues from the Firefox package maintainer for Debian.<br />
*[http://www.gnu.org/software/gnuzilla/ Gnuzilla and IceWeasel]<br />
:Official website for the GNU Mozilla forks.</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Firefox&diff=82188Firefox2009-11-07T06:05:11Z<p>SHyLoCk: /* Recompiling */</p>
<hr />
<div>[[Category:Internet and Email (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|FireFox (Česky)}}<br />
{{i18n_entry|English|Firefox}}<br />
{{i18n_entry|Italiano|Firefox_(Italiano)}}<br />
{{i18n_links_end}}<br />
<br />
[http://www.firefox.com Firefox] is an open-source graphical web browser from [http://www.mozilla.com Mozilla]. The Firefox package in Arch Linux is compiled without official branding, which means that when Firefox is started it will use an alternate icon and will be named after its release series' codename. This has to be done because a distribution may use the name "Firefox" and its artwork only if there are no unofficial modifications, including security patches.<br />
<br />
== Enabling Firefox Branding ==<br />
There are a few ways to enable official branding and to change the browser's user agent string. Among them, there is recompiling, modifying the browser with add-ons, or using the advanced configuration ({{Codeline|about:config}}). Please note that distributing a version with official branding without previous approval from Mozilla is against the law.<br />
<br />
=== Recompiling ===<br />
The following procedure is for the 2.x version of Firefox. A branded version of Firefox 3.x is available in the [http://aur.archlinux.org/packages.php?ID=18019 AUR]. This guide will employ [[ABS]] for rebuilding Firefox.<br />
<br />
After installing ABS,<br />
# pacman -S abs<br />
sync the ABS tree.<br />
# abs<br />
If this is the first time running abs, it may take a while to sync the package tree. Subsequent runs will be much faster. Now make a temporary work path:<br />
$ mkdir -p ~/devel/abs/firefox<br />
$ cp -r /var/abs/extra/firefox ~/devel/abs/firefox<br />
$ cd ~/devel/abs/firerfox<br />
<br />
Use an editor of choice to open the mozconfig file. Add the following line to the end:<br />
ac_add_options --enable-official-branding<br />
<br />
Save and exit, then run:<br />
$ makepkg -g >> PKGBUILD<br />
This command copies the md5sum values of modified source files (mozconfig in this case) to the PKGBUILD.<br />
<br />
'''NOTE:''' The following steps of editing the PKGBUILD were not necessary for me. Just make sure your new firefox source's md5sum is copied over in the md5sums field.<br />
<br />
Edit the PKGBUILD file by replacing this line<br />
convert ${startdir}/src/mozilla/browser/app/default.xpm ${startdir}/pkg/usr/share/pixmaps/firefox.png<br />
<br />
with the following:<br />
convert ${startdir}/src/mozilla/dist/branding/default.xpm ${startdir}/pkg/usr/share/pixmaps/firefox.png<br />
<br />
Now scroll down and look for these two lines.<br />
install -m644 ${startdir}/src/mozilla/browser/app/default.xpm ${startdir}/pkg/usr/lib/firefox/chrome/icons/default/<br />
install -m644 ${startdir}/src/mozilla/browser/app/default.xpm ${startdir}/pkg/usr/lib/firefox/icons/<br />
<br />
Replace them with the following:<br />
install -m644 ${startdir}/src/mozilla/dist/branding/default.xpm ${startdir}/pkg/usr/lib/firefox/chrome/icons/default/<br />
install -m644 ${startdir}/src/mozilla/dist/branding/default.xpm ${startdir}/pkg/usr/lib/firefox/icons/ <br />
<br />
Save and exit, then run:<br />
makepkg -s<br />
This will install the required packages for building Firefox prior to making the package itself.<br />
<br />
Once it has created the package, remove the currently installed Firefox version, if any:<br />
pacman -Rd firefox<br />
Then install the newly created version with:<br />
pacman -U firefox-*.pkg.tar.gz<br />
<br />
=== Advanced Configuration ===<br />
Enter {{Codeline|about:config}} in Firefox's address bar to access the advanced configuration options. In the filter, enter {{Codeline|useragent.extra.firefox}}. This will show the current user-agent string, which can be modified as desired. Leave the version part of the string unaltered, and replace {{Codeline|Shiretoko}} with "Firefox" in order to make the browser identify itself with the traditional user-agent string.<br />
<br />
=== Branding without recompilation ===<br />
To brand "Shiretoko" without recompiling the whole browser, it is required to replace the Bon Echo icons with the official Firefox icons, and change the string "Shiretoko" in a few files. The [http://bbs.archlinux.org/viewtopic.php?id=44320 firebrand] script takes care of this (see note in bold in the initial thread post). Run it (as root) after an upgrade or installation of firefox. To revert to the Shiretoko brand again, simply reinstall firefox. The script will by default download the icons every time it is run. To "cache" the icons locally for later firefox upgrades, set the {{Codeline|NEWICONSDIR}} variable to a suitable directory, for instance:<br />
NEWICONSDIR=/usr/local/share/firebrand<br />
<br />
== Recommended Add-ons ==<br />
Before you try to install add-ons, make sure that your /tmp directory was created with the right permissions. If addons won't install, <code>chmod 1777 /tmp</code> should fix it.<br />
<br />
*[https://addons.mozilla.org/firefox/1865/ Adblock Plus]<br />
:Highly effective ad and popup blocker with lots of options and a simplistic UI.<br />
<br />
*[https://addons.mozilla.org/en-US/firefox/addon/220 FlashGot]<br />
:Download all the links, movies and audio clips of a page at the maximum speed with a single click. Very powerful, lightweight and reliable external download manager.<br />
<br />
*[https://addons.mozilla.org/en-US/firefox/addon/722 NoScript]<br />
:Selectively blocks javascript, flash, and other types of content. Allows active content to run only from trusted sites, and protects the system against XSS and Clickjacking attacks.<br />
<br />
*[https://addons.mozilla.org/firefox/446/ MediaPlayerConnectivity]<br />
:Allows launching an embedded video from a website in an external application. Good for those who have problems with media plugins.<br />
<br />
*[https://addons.mozilla.org/firefox/2553/ CCK Wizard]<br />
:Allows customizing every aspect of Firefox. Title bar, user agent, icons, about graphic, and more. <br />
<br />
*[https://addons.mozilla.org/firefox/59/ User Agent Switcher]<br />
:Adds a menu and a toolbar button to switch the user agent of the browser.<br />
<br />
== Plugins ==<br />
To find out what plugins are installed, enter <code>about:plugins</code> in the Firefox address bar.<br />
<br />
=== Flash ===<br />
# pacman -S flashplugin<br />
In addition, it may be needed to install ttf-ms-fonts ({{Codeline|pacman -S ttf-ms-fonts ttf-dejavu ttf-bitstream-vera}}) for flashplayer to render text properly.<br />
<br />
=== MPlayer ===<br />
[[MPlayer]]'s multimedia plugin is one of the most mature. This will generally cover the majority of online video codecs.<br />
# pacman -S mplayer-plugin<br />
<br />
=== Gecko Media Player ===<br />
A good replacement of the now aging ''mplayer-plugin'', is [http://code.google.com/p/gecko-mediaplayer/ Gecko Media Player]. More stable combined with MPlayer 1.0RC2. ''(No more crashes with Apple Trailers.)''<br />
# pacman -S gecko-mediaplayer<br />
{{Note|Be sure to remove mplayer-plugin if already installed.}}<br />
<br />
=== Totem-plugin ===<br />
The totem plugin might be the choice for those seeking a gstreamer based plugin:<br />
# $pacman -S totem-plugin gvfs<br />
<br />
===Java ===<br />
{{Note|Each Java package described here contains the Java runtime as well as the fitting browser-plugin for Firefox.}}<br />
# pacman -S openjdk6<br />
Or install the proprietary version of Java:<br />
# pacman -S jre<br />
Keep in mind that the open-source and closed-source versions can not be installed in parallel. The open-source version is nearly perfect at the time of writing and there is mostly no need anymore to install the proprietary version of Java.<br />
<br />
=== Citrix ===<br />
''See [[Citrix]] how-to''<br />
<br />
=== Adobe Reader ===<br />
Licensing issues prevent Acrobat Reader from being available in any repository. It can only be found in the [[AUR]].<br />
<br />
32-bit AUR package: {{Package AUR| acroread}}<br />
<br />
It installs the Acrobat Reader application as well as the Firefox plugin. Note however that hardware assisted rendering is unavailable under Linux (at least using a Geforce 8600GTS with driver version 185.18.14).<br />
<br />
'''For 64-bit installs''': Adobe Reader is a closed-source application, meaning that users desiring a 64-bit binary have no other choice other than to wait for official support. Workarounds to be considered:<br />
<br />
* Follow this guide posted in the forums: [http://wiki.archlinux.org/index.php/Arch64_Install_bundled_32bit_system this link]. It involves creating a chrooted environment that could be reused for other 32-bit only applications.<br />
<br />
* Or, simply get the 32-bit binary along with the 32-bit dependencies. Install {{Package AUR| bin32-acroread}}. Also, consider installing the extra font packages suggested by the package. Be advised that the Firefox plugin cannot be used ''directly'' with this binary - it will not load in the 64-bit browser. {{Package AUR|nspluginwrapper}} is required to load the plugin. Finally, be sure to run:<br />
$ nspluginwrapper -v -a -i<br />
as a '''normal user'''. This checks your plugin directory and links the plugins as needed. Everything should work as expected now.<br />
<br />
=== Troubleshooting Plugins ===<br />
==== Plugins are installed but not working ====<br />
If Firefox is not using the plugins after installing them (verifiable by typing about:plugins in the adressbar and hitting return.), the problem is most likely erroneous permissions. Fix those with:<br />
# chmod -R 755 /usr/lib/mozilla<br />
After restarting Firefox plugins should function correctly.<br />
<br />
If the above suggestion does not fix anything, and about:plugins still reports that no plugins are installed, run the following command (replace the version in the path with the appropiate one):<br />
# ln -sv /usr/lib/mozilla/plugins /usr/lib/firefox-3.0/plugins<br />
Restart firefox and about:plugins should list all of the currently installed plugins.<br />
<br />
Another common problem is that the plugin path is unset. This typically occurs on a new install, when the user has not re-logged in before running Firefox after the installation. Test if the path is unset:<br />
$ echo $MOZ_PLUGIN_PATH<br />
If unset, then either relogin, or source {{Filename|/etc/profile.d/mozilla-common.sh}} and start Firefox from the same shell:<br />
$ . /etc/profile.d/mozilla-common.sh && firefox<br />
<br />
==== Plugins cannot be downloaded ====<br />
In some cases, users are not able to download (and install) any of the Firefox plugins. The solution is adding the following line in {{Filename|/etc/hosts}}:<br />
64.50.236.214 releases.mozilla.org<br />
<br />
== Tips ==<br />
Recommended readings:<br />
*[[Firefox Tips and Tweaks]]<br />
*[[Firefox Widgets]]<br />
*[[Adding Firefox Search Engines As User|Adding Firefox Search Engines]]<br />
<br />
=== Enable Spell Checking ===<br />
Right click in any text entry field and add the dictionary for the solicited language. Restart firefox, and click in a text entry field again to enable spell checking.<br />
<br />
=== Wheel Mouse Scroll Speed ===<br />
To modify the default values (i.e. speed-up) of the wheel mouse scroll speed, type the following into Firefox's address bar:<br />
about:config<br />
Now enter the following into the 'filter' dialog: '''mousewheel.withnokey'''<br />
<br />
*Double-click the entry entitled, '''mousewheel.withnokey.sysnumlines''' and thereby setting its value to '''True'''<br />
*Double-click the entry entitled, '''mousewheel.withnokey.numlines''' and enter the desired number of lines per movement into the box (12, for example).<br />
<br />
Restart Firefox for this setting to take effect.<br />
<br />
=== Speed-Up Firefox by Defragmenting the Profile's SQLite Databases ===<br />
<br />
{{Warning| This procedure may damage the databases in such a way that sessions are not saved properly.}}<br />
<br />
Firefox 3.0, bookmarks, history, passwords are kept in SQLite databases. SQLite databases become fragmented over time and empty spaces appear all around. But, since there are no managing processes checking and optimizing the database, these factors eventually result in a performance hit. A good way to improve startup and some other bookmarks and history related tasks is to defragment and trim unused space from these databases.<br />
<br />
Run '''sqlite3''' {{Codeline|vacuum}} and {{Codeline|reindex}} commands in the profile directory.<br />
<br />
Example:<br />
$ cd ~/.mozilla/profile/9jdn39sdjk.default<br />
$ sqlite3 urlclassifier3.sqlite 'VACUUM;'<br />
$ sqlite3 urlclassifier3.sqlite 'REINDEX;'<br />
$ sqlite3 places.sqlite 'VACUUM;'<br />
$ sqlite3 places.sqlite 'REINDEX;'<br />
<br />
'''Sample Size Differences Comparison'''<br />
{| border="1"<br />
| SQLite DB || Size Before || Size After || % change<br />
|- <br />
|urlclassifier3.sqlite|| 37 M || 30 M || 19 %<br />
|-<br />
|places.sqlite || 16 M || 2.4 M || 85 %<br />
|-<br />
|}<br />
<br />
To automate the process for all the databases in all the profiles directory, use the following:<br />
for i in `find ~/.mozilla -name \*.sqlite`; do sqlite3 $i vacuum; done<br />
for i in `find ~/.mozilla -name \*.sqlite`; do sqlite3 $i reindex; done<br />
<br />
=== Cache Your Entire Profile into RAM via tmpfs ===<br />
If the system has memory to spare, {{Codeline|tmpfs}} can be used to cache the entire profile directory, which might incur in increased Firefox responsiveness. Full list of possible benifits include:<br />
<br />
*Reduced disk read/writes (ideal when using a SSD)<br />
<br />
*Better user experience through heightened responsive feel<br />
<br />
*Many operations within Firefox become instantaneous (quick search, history, etc.)<br />
<br />
See [[Speed-up Firefox using tmpfs]] for more information<br />
<br />
=== Lighten, Speed-up Firefox / Fix fonts and controls issues ===<br />
''Also, font fix for Mozilla suite''<br />
<br />
Add:<br />
export MOZ_DISABLE_PANGO=1<br />
to ~/.bash_profile and relogin for the change to take place.<br />
<br />
== General Troubleshooting ==<br />
<br />
=== Middle-click errors ===<br />
! The URL is not valid and cannot be loaded.<br />
Another symptom is that middle-clicking results in unexpected behavior, like accessing a random webpage.<br />
<br />
The reason stems from the use of the middle mouse buttons in UNIX-like operating systems. The middle mouse button is used to paste whatever text has been highlighted/added to the clipboard. Then there is the possibly conflicting feature in Firefox, which defaults to loading the url of the corresponding text when the button is depressed. This can be disabled like so:<br />
<br />
Open the browser, and type the following into the address bar:<br />
about:config<br />
Search for '''middlemouse.contentLoadURL''' and set it to false.<br />
<br />
Alternatively, having the traditional scroll cursor on middle-click (default behaviour on Windows browsers) can be achieved by searching for '''general.autoScroll''' and setting it to true.<br />
<br />
=== Backspace does not work as the 'Back' button ===<br />
As per [http://ubuntu.wordpress.com/2006/12/21/fix-firefox-backspace-to-take-you-to-the-previous-page/ this article], the feature has been removed in order to fix a bug. Follow the next steps to retain the original behaviour.<br />
<br />
Open the browser and type the following address:<br />
about:config<br />
Search for '''browser.backspace_action''' and set it to 0 (zero).<br />
<br />
=== Firefox does not remember login information ===<br />
<br />
It maybe cause of a corrupted {{Codeline|cookies.sqlite}} file in [http://support.mozilla.com/en-US/kb/Profiles#How_to_find_your_profile Firefox's profile] folder. In order to fix this, just rename or remove the cookie.sqlite while Firefox is not running.<br />
<br />
Open a terminal of choice and type the following:<br />
$ cd ~/.mozilla/firefox/xxxxxxxx.default/<br />
$ rm -f cookies.sqlite<br />
{{Note|xxxxxxxx represents a random string of 8 characters.}}<br />
<br />
Restart Firefox and see if it solved the problem.<br />
<br />
=== Broken websites / input fields with dark Gtk Themes ===<br />
<br />
When using a dark [[GTK]] theme, one might encounter Internet pages with unreadable input and text fields (p.e. Amazon - white text on white background). This can happen because the site only sets either background or text color, and Firefox takes the other one from the theme.<br />
<br />
A work around is to explicitly setting standard colours for all web pages in {{Filename|~/.mozilla/firefox/.../chrome/userContent.css}}.<br />
<br />
The following sets input fields to standard black text / white background; both can be overridden by the displayed site, so that colors are seen as intended:<br />
<pre><br />
input {<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
textarea {<br />
background-color: white;<br />
color: black;<br />
}<br />
</pre><br />
This will force the colours ("Allow paged to choose their own colors [..]" setting, in the '''Preferences > Content > Color''' dialog):<br />
<pre><br />
input {<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
textarea {<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
</pre><br />
Change color values to suit, or use an add-on like [https://addons.mozilla.org/en-US/firefox/addon/2108 Stylish].<br />
<br />
=== File Association Problems ===<br />
For non-[[GNOME]] users, Firefox may not associate file types (in the "Open With" part of the download dialog). Installing {{Package Official|libgnome}} ammends the problem:<br />
pacman -S libgnome<br />
<br />
== Fonts ==<br />
<br />
=== DPI ===<br />
Modifying the following value can help improve the way fonts looks in Firefox if the system's DPI is below 96. Firefox, by default, uses 96 and only uses the system's DPI if it is a higher value. To force the system's DPI regardless of its value, type about:config into the address bar and search for '''layout.css.dpi'''. Change it to '''0'''.<br />
<br />
=== Font Replacement ===<br />
Another way to improve how fonts look is to replace them with another. Add to, or create a {{Filename|~/.fonts.conf}} file with the following:<br />
<br />
<match target="pattern" name="family" ><br />
<test name="family" qual="any" ><br />
<string>'''Helvetica'''</string><br />
</test><br />
<edit mode="assign" name="family" ><br />
<string>'''Bitstream Vera Sans'''</string><br />
</edit><br />
</match><br />
The first font name is the one being replaced, whereas the second is the replacement font.<br />
<br />
'''For more information on font configuration, please read [[Xorg Font Configuration]]'''<br />
<br />
== Projects Related to Firefox ==<br />
<br />
=== Firefox Derivatives ===<br />
*[http://en.wikipedia.org/wiki/Iceweasel Iceweasel] - The name of '''two''' different Firefox forks. One was a GNU project; the name of this project has since changed to [http://en.wikipedia.org/wiki/GNU_IceCat Icecat]. The [http://wiki.debian.org/Iceweasel second] is being developed by Debian and is based on 2.0. At the time of writing the [[AUR]] only has Icecat.<br />
<br />
*[http://en.wikipedia.org/wiki/GNU_IceCat GNU/IceCat] - formerly known as GNU IceWeasel, is a web browser distributed by the GNU Project. IceCat, which is made entirely of free software, is a fork of Mozilla Firefox. It is compatible with the GNU/Linux operating system and almost all of Firefox's addons. GNU/IceCat really can fully replace Firefox.<br />
<br />
*[http://getswiftfox.com/ Swiftfox] - An optimized and processor-specific build of Firefox. Currently available via AUR. It should be noted that, considering Arch Linux has ABS, you could build your own optimized build of Firefox.<br />
<br />
*[http://swiftweasel.sourceforge.net/ Swiftweasel] - Mostly like Swiftfox, but the binaries aren't under proprietary license. Some PKGBUILDs are available in AUR.<br />
<br />
=== Firefox Alternatives ===<br />
*[[Opera]]<br />
:A closed-sourced full-featured web suite.<br />
*[http://en.wikipedia.org/wiki/Epiphany_%28browser%29 Epiphany]<br />
:GNOME's default web browser. Uses the same rendering engine as Firefox.<br />
*[http://en.wikipedia.org/wiki/Konqueror Konqueror]<br />
:KDE's default web browser. Uses the KHTML rendering engine.<br />
*[http://en.wikipedia.org/wiki/Dillo Dillo]<br />
:A very lightweight web browser.<br />
*[http://en.wikipedia.org/wiki/SeaMonkey SeaMonkey]<br />
:The continuation of the original Mozilla suite. Includes web browser, email client, etc.<br />
*[http://en.wikipedia.org/wiki/Midori_(browser) Midori]<br />
:A webkit-based GTK+ browser. Lightweight and early in development, but with plenty of features already.<br />
*[http://en.wikipedia.org/wiki/Arora_(web_browser) Arora]<br />
:A webkit-based Qt browser in development, very capable and fast.<br />
*[http://www.uzbl.org uzbl]<br />
:A lightweight webkit browser following the UNIX philosophy; to do one thing and do it well.<br />
<br />
== External Links ==<br />
*[http://www.howtocreate.co.uk/browserSpeed.html Browser Speed Comparisons]<br />
:A dated article comparing popular browsers' performance.<br />
*[http://web.glandium.org/blog/?p=97 Facts about Debian and Mozilla® Firefox]<br />
:An account of the trademark issues from the Firefox package maintainer for Debian.<br />
*[http://www.gnu.org/software/gnuzilla/ Gnuzilla and IceWeasel]<br />
:Official website for the GNU Mozilla forks.</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Firefox&diff=82187Firefox2009-11-07T06:03:42Z<p>SHyLoCk: /* Recompiling */</p>
<hr />
<div>[[Category:Internet and Email (English)]]<br />
[[Category:HOWTOs (English)]]<br />
{{i18n_links_start}}<br />
{{i18n_entry|Česky|FireFox (Česky)}}<br />
{{i18n_entry|English|Firefox}}<br />
{{i18n_entry|Italiano|Firefox_(Italiano)}}<br />
{{i18n_links_end}}<br />
<br />
[http://www.firefox.com Firefox] is an open-source graphical web browser from [http://www.mozilla.com Mozilla]. The Firefox package in Arch Linux is compiled without official branding, which means that when Firefox is started it will use an alternate icon and will be named after its release series' codename. This has to be done because a distribution may use the name "Firefox" and its artwork only if there are no unofficial modifications, including security patches.<br />
<br />
== Enabling Firefox Branding ==<br />
There are a few ways to enable official branding and to change the browser's user agent string. Among them, there is recompiling, modifying the browser with add-ons, or using the advanced configuration ({{Codeline|about:config}}). Please note that distributing a version with official branding without previous approval from Mozilla is against the law.<br />
<br />
=== Recompiling ===<br />
The following procedure is for the 2.x version of Firefox. A branded version of Firefox 3.x is available in the [http://aur.archlinux.org/packages.php?ID=18019 AUR]. This guide will employ [[ABS]] for rebuilding Firefox.<br />
<br />
After installing ABS,<br />
# pacman -S abs<br />
sync the ABS tree.<br />
# abs<br />
If this is the first time running abs, it may take a while to sync the package tree. Subsequent runs will be much faster. Now make a temporary work path:<br />
$ mkdir -p ~/devel/abs/firefox<br />
$ cp -r /var/abs/extra/firefox ~/devel/abs/firefox<br />
$ cd ~/devel/abs/firerfox<br />
<br />
Use an editor of choice to open the mozconfig file. Add the following line to the end:<br />
ac_add_options --enable-official-branding<br />
<br />
Save and exit, then run:<br />
$ makepkg -g >> PKGBUILD<br />
This command copies the md5sum values of modified source files (mozconfig in this case) to the PKGBUILD.<br />
'''NOTE:''' The following steps of editing the PKGBUILD were not necessary for me. Just make sure your new firefox source's md5sum is copied over in the md5sums field.<br />
Edit the PKGBUILD file by replacing this line<br />
convert ${startdir}/src/mozilla/browser/app/default.xpm ${startdir}/pkg/usr/share/pixmaps/firefox.png<br />
<br />
with the following:<br />
convert ${startdir}/src/mozilla/dist/branding/default.xpm ${startdir}/pkg/usr/share/pixmaps/firefox.png<br />
<br />
Now scroll down and look for these two lines.<br />
install -m644 ${startdir}/src/mozilla/browser/app/default.xpm ${startdir}/pkg/usr/lib/firefox/chrome/icons/default/<br />
install -m644 ${startdir}/src/mozilla/browser/app/default.xpm ${startdir}/pkg/usr/lib/firefox/icons/<br />
<br />
Replace them with the following:<br />
install -m644 ${startdir}/src/mozilla/dist/branding/default.xpm ${startdir}/pkg/usr/lib/firefox/chrome/icons/default/<br />
install -m644 ${startdir}/src/mozilla/dist/branding/default.xpm ${startdir}/pkg/usr/lib/firefox/icons/ <br />
<br />
Save and exit, then run:<br />
makepkg -s<br />
This will install the required packages for building Firefox prior to making the package itself.<br />
<br />
Once it has created the package, remove the currently installed Firefox version, if any:<br />
pacman -Rd firefox<br />
Then install the newly created version with:<br />
pacman -U firefox-*.pkg.tar.gz<br />
<br />
=== Advanced Configuration ===<br />
Enter {{Codeline|about:config}} in Firefox's address bar to access the advanced configuration options. In the filter, enter {{Codeline|useragent.extra.firefox}}. This will show the current user-agent string, which can be modified as desired. Leave the version part of the string unaltered, and replace {{Codeline|Shiretoko}} with "Firefox" in order to make the browser identify itself with the traditional user-agent string.<br />
<br />
=== Branding without recompilation ===<br />
To brand "Shiretoko" without recompiling the whole browser, it is required to replace the Bon Echo icons with the official Firefox icons, and change the string "Shiretoko" in a few files. The [http://bbs.archlinux.org/viewtopic.php?id=44320 firebrand] script takes care of this (see note in bold in the initial thread post). Run it (as root) after an upgrade or installation of firefox. To revert to the Shiretoko brand again, simply reinstall firefox. The script will by default download the icons every time it is run. To "cache" the icons locally for later firefox upgrades, set the {{Codeline|NEWICONSDIR}} variable to a suitable directory, for instance:<br />
NEWICONSDIR=/usr/local/share/firebrand<br />
<br />
== Recommended Add-ons ==<br />
Before you try to install add-ons, make sure that your /tmp directory was created with the right permissions. If addons won't install, <code>chmod 1777 /tmp</code> should fix it.<br />
<br />
*[https://addons.mozilla.org/firefox/1865/ Adblock Plus]<br />
:Highly effective ad and popup blocker with lots of options and a simplistic UI.<br />
<br />
*[https://addons.mozilla.org/en-US/firefox/addon/220 FlashGot]<br />
:Download all the links, movies and audio clips of a page at the maximum speed with a single click. Very powerful, lightweight and reliable external download manager.<br />
<br />
*[https://addons.mozilla.org/en-US/firefox/addon/722 NoScript]<br />
:Selectively blocks javascript, flash, and other types of content. Allows active content to run only from trusted sites, and protects the system against XSS and Clickjacking attacks.<br />
<br />
*[https://addons.mozilla.org/firefox/446/ MediaPlayerConnectivity]<br />
:Allows launching an embedded video from a website in an external application. Good for those who have problems with media plugins.<br />
<br />
*[https://addons.mozilla.org/firefox/2553/ CCK Wizard]<br />
:Allows customizing every aspect of Firefox. Title bar, user agent, icons, about graphic, and more. <br />
<br />
*[https://addons.mozilla.org/firefox/59/ User Agent Switcher]<br />
:Adds a menu and a toolbar button to switch the user agent of the browser.<br />
<br />
== Plugins ==<br />
To find out what plugins are installed, enter <code>about:plugins</code> in the Firefox address bar.<br />
<br />
=== Flash ===<br />
# pacman -S flashplugin<br />
In addition, it may be needed to install ttf-ms-fonts ({{Codeline|pacman -S ttf-ms-fonts ttf-dejavu ttf-bitstream-vera}}) for flashplayer to render text properly.<br />
<br />
=== MPlayer ===<br />
[[MPlayer]]'s multimedia plugin is one of the most mature. This will generally cover the majority of online video codecs.<br />
# pacman -S mplayer-plugin<br />
<br />
=== Gecko Media Player ===<br />
A good replacement of the now aging ''mplayer-plugin'', is [http://code.google.com/p/gecko-mediaplayer/ Gecko Media Player]. More stable combined with MPlayer 1.0RC2. ''(No more crashes with Apple Trailers.)''<br />
# pacman -S gecko-mediaplayer<br />
{{Note|Be sure to remove mplayer-plugin if already installed.}}<br />
<br />
=== Totem-plugin ===<br />
The totem plugin might be the choice for those seeking a gstreamer based plugin:<br />
# $pacman -S totem-plugin gvfs<br />
<br />
===Java ===<br />
{{Note|Each Java package described here contains the Java runtime as well as the fitting browser-plugin for Firefox.}}<br />
# pacman -S openjdk6<br />
Or install the proprietary version of Java:<br />
# pacman -S jre<br />
Keep in mind that the open-source and closed-source versions can not be installed in parallel. The open-source version is nearly perfect at the time of writing and there is mostly no need anymore to install the proprietary version of Java.<br />
<br />
=== Citrix ===<br />
''See [[Citrix]] how-to''<br />
<br />
=== Adobe Reader ===<br />
Licensing issues prevent Acrobat Reader from being available in any repository. It can only be found in the [[AUR]].<br />
<br />
32-bit AUR package: {{Package AUR| acroread}}<br />
<br />
It installs the Acrobat Reader application as well as the Firefox plugin. Note however that hardware assisted rendering is unavailable under Linux (at least using a Geforce 8600GTS with driver version 185.18.14).<br />
<br />
'''For 64-bit installs''': Adobe Reader is a closed-source application, meaning that users desiring a 64-bit binary have no other choice other than to wait for official support. Workarounds to be considered:<br />
<br />
* Follow this guide posted in the forums: [http://wiki.archlinux.org/index.php/Arch64_Install_bundled_32bit_system this link]. It involves creating a chrooted environment that could be reused for other 32-bit only applications.<br />
<br />
* Or, simply get the 32-bit binary along with the 32-bit dependencies. Install {{Package AUR| bin32-acroread}}. Also, consider installing the extra font packages suggested by the package. Be advised that the Firefox plugin cannot be used ''directly'' with this binary - it will not load in the 64-bit browser. {{Package AUR|nspluginwrapper}} is required to load the plugin. Finally, be sure to run:<br />
$ nspluginwrapper -v -a -i<br />
as a '''normal user'''. This checks your plugin directory and links the plugins as needed. Everything should work as expected now.<br />
<br />
=== Troubleshooting Plugins ===<br />
==== Plugins are installed but not working ====<br />
If Firefox is not using the plugins after installing them (verifiable by typing about:plugins in the adressbar and hitting return.), the problem is most likely erroneous permissions. Fix those with:<br />
# chmod -R 755 /usr/lib/mozilla<br />
After restarting Firefox plugins should function correctly.<br />
<br />
If the above suggestion does not fix anything, and about:plugins still reports that no plugins are installed, run the following command (replace the version in the path with the appropiate one):<br />
# ln -sv /usr/lib/mozilla/plugins /usr/lib/firefox-3.0/plugins<br />
Restart firefox and about:plugins should list all of the currently installed plugins.<br />
<br />
Another common problem is that the plugin path is unset. This typically occurs on a new install, when the user has not re-logged in before running Firefox after the installation. Test if the path is unset:<br />
$ echo $MOZ_PLUGIN_PATH<br />
If unset, then either relogin, or source {{Filename|/etc/profile.d/mozilla-common.sh}} and start Firefox from the same shell:<br />
$ . /etc/profile.d/mozilla-common.sh && firefox<br />
<br />
==== Plugins cannot be downloaded ====<br />
In some cases, users are not able to download (and install) any of the Firefox plugins. The solution is adding the following line in {{Filename|/etc/hosts}}:<br />
64.50.236.214 releases.mozilla.org<br />
<br />
== Tips ==<br />
Recommended readings:<br />
*[[Firefox Tips and Tweaks]]<br />
*[[Firefox Widgets]]<br />
*[[Adding Firefox Search Engines As User|Adding Firefox Search Engines]]<br />
<br />
=== Enable Spell Checking ===<br />
Right click in any text entry field and add the dictionary for the solicited language. Restart firefox, and click in a text entry field again to enable spell checking.<br />
<br />
=== Wheel Mouse Scroll Speed ===<br />
To modify the default values (i.e. speed-up) of the wheel mouse scroll speed, type the following into Firefox's address bar:<br />
about:config<br />
Now enter the following into the 'filter' dialog: '''mousewheel.withnokey'''<br />
<br />
*Double-click the entry entitled, '''mousewheel.withnokey.sysnumlines''' and thereby setting its value to '''True'''<br />
*Double-click the entry entitled, '''mousewheel.withnokey.numlines''' and enter the desired number of lines per movement into the box (12, for example).<br />
<br />
Restart Firefox for this setting to take effect.<br />
<br />
=== Speed-Up Firefox by Defragmenting the Profile's SQLite Databases ===<br />
<br />
{{Warning| This procedure may damage the databases in such a way that sessions are not saved properly.}}<br />
<br />
Firefox 3.0, bookmarks, history, passwords are kept in SQLite databases. SQLite databases become fragmented over time and empty spaces appear all around. But, since there are no managing processes checking and optimizing the database, these factors eventually result in a performance hit. A good way to improve startup and some other bookmarks and history related tasks is to defragment and trim unused space from these databases.<br />
<br />
Run '''sqlite3''' {{Codeline|vacuum}} and {{Codeline|reindex}} commands in the profile directory.<br />
<br />
Example:<br />
$ cd ~/.mozilla/profile/9jdn39sdjk.default<br />
$ sqlite3 urlclassifier3.sqlite 'VACUUM;'<br />
$ sqlite3 urlclassifier3.sqlite 'REINDEX;'<br />
$ sqlite3 places.sqlite 'VACUUM;'<br />
$ sqlite3 places.sqlite 'REINDEX;'<br />
<br />
'''Sample Size Differences Comparison'''<br />
{| border="1"<br />
| SQLite DB || Size Before || Size After || % change<br />
|- <br />
|urlclassifier3.sqlite|| 37 M || 30 M || 19 %<br />
|-<br />
|places.sqlite || 16 M || 2.4 M || 85 %<br />
|-<br />
|}<br />
<br />
To automate the process for all the databases in all the profiles directory, use the following:<br />
for i in `find ~/.mozilla -name \*.sqlite`; do sqlite3 $i vacuum; done<br />
for i in `find ~/.mozilla -name \*.sqlite`; do sqlite3 $i reindex; done<br />
<br />
=== Cache Your Entire Profile into RAM via tmpfs ===<br />
If the system has memory to spare, {{Codeline|tmpfs}} can be used to cache the entire profile directory, which might incur in increased Firefox responsiveness. Full list of possible benifits include:<br />
<br />
*Reduced disk read/writes (ideal when using a SSD)<br />
<br />
*Better user experience through heightened responsive feel<br />
<br />
*Many operations within Firefox become instantaneous (quick search, history, etc.)<br />
<br />
See [[Speed-up Firefox using tmpfs]] for more information<br />
<br />
=== Lighten, Speed-up Firefox / Fix fonts and controls issues ===<br />
''Also, font fix for Mozilla suite''<br />
<br />
Add:<br />
export MOZ_DISABLE_PANGO=1<br />
to ~/.bash_profile and relogin for the change to take place.<br />
<br />
== General Troubleshooting ==<br />
<br />
=== Middle-click errors ===<br />
! The URL is not valid and cannot be loaded.<br />
Another symptom is that middle-clicking results in unexpected behavior, like accessing a random webpage.<br />
<br />
The reason stems from the use of the middle mouse buttons in UNIX-like operating systems. The middle mouse button is used to paste whatever text has been highlighted/added to the clipboard. Then there is the possibly conflicting feature in Firefox, which defaults to loading the url of the corresponding text when the button is depressed. This can be disabled like so:<br />
<br />
Open the browser, and type the following into the address bar:<br />
about:config<br />
Search for '''middlemouse.contentLoadURL''' and set it to false.<br />
<br />
Alternatively, having the traditional scroll cursor on middle-click (default behaviour on Windows browsers) can be achieved by searching for '''general.autoScroll''' and setting it to true.<br />
<br />
=== Backspace does not work as the 'Back' button ===<br />
As per [http://ubuntu.wordpress.com/2006/12/21/fix-firefox-backspace-to-take-you-to-the-previous-page/ this article], the feature has been removed in order to fix a bug. Follow the next steps to retain the original behaviour.<br />
<br />
Open the browser and type the following address:<br />
about:config<br />
Search for '''browser.backspace_action''' and set it to 0 (zero).<br />
<br />
=== Firefox does not remember login information ===<br />
<br />
It maybe cause of a corrupted {{Codeline|cookies.sqlite}} file in [http://support.mozilla.com/en-US/kb/Profiles#How_to_find_your_profile Firefox's profile] folder. In order to fix this, just rename or remove the cookie.sqlite while Firefox is not running.<br />
<br />
Open a terminal of choice and type the following:<br />
$ cd ~/.mozilla/firefox/xxxxxxxx.default/<br />
$ rm -f cookies.sqlite<br />
{{Note|xxxxxxxx represents a random string of 8 characters.}}<br />
<br />
Restart Firefox and see if it solved the problem.<br />
<br />
=== Broken websites / input fields with dark Gtk Themes ===<br />
<br />
When using a dark [[GTK]] theme, one might encounter Internet pages with unreadable input and text fields (p.e. Amazon - white text on white background). This can happen because the site only sets either background or text color, and Firefox takes the other one from the theme.<br />
<br />
A work around is to explicitly setting standard colours for all web pages in {{Filename|~/.mozilla/firefox/.../chrome/userContent.css}}.<br />
<br />
The following sets input fields to standard black text / white background; both can be overridden by the displayed site, so that colors are seen as intended:<br />
<pre><br />
input {<br />
background-color: white;<br />
color: black;<br />
}<br />
<br />
textarea {<br />
background-color: white;<br />
color: black;<br />
}<br />
</pre><br />
This will force the colours ("Allow paged to choose their own colors [..]" setting, in the '''Preferences > Content > Color''' dialog):<br />
<pre><br />
input {<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
<br />
textarea {<br />
background-color: pink !important;<br />
color: green !important;<br />
}<br />
</pre><br />
Change color values to suit, or use an add-on like [https://addons.mozilla.org/en-US/firefox/addon/2108 Stylish].<br />
<br />
=== File Association Problems ===<br />
For non-[[GNOME]] users, Firefox may not associate file types (in the "Open With" part of the download dialog). Installing {{Package Official|libgnome}} ammends the problem:<br />
pacman -S libgnome<br />
<br />
== Fonts ==<br />
<br />
=== DPI ===<br />
Modifying the following value can help improve the way fonts looks in Firefox if the system's DPI is below 96. Firefox, by default, uses 96 and only uses the system's DPI if it is a higher value. To force the system's DPI regardless of its value, type about:config into the address bar and search for '''layout.css.dpi'''. Change it to '''0'''.<br />
<br />
=== Font Replacement ===<br />
Another way to improve how fonts look is to replace them with another. Add to, or create a {{Filename|~/.fonts.conf}} file with the following:<br />
<br />
<match target="pattern" name="family" ><br />
<test name="family" qual="any" ><br />
<string>'''Helvetica'''</string><br />
</test><br />
<edit mode="assign" name="family" ><br />
<string>'''Bitstream Vera Sans'''</string><br />
</edit><br />
</match><br />
The first font name is the one being replaced, whereas the second is the replacement font.<br />
<br />
'''For more information on font configuration, please read [[Xorg Font Configuration]]'''<br />
<br />
== Projects Related to Firefox ==<br />
<br />
=== Firefox Derivatives ===<br />
*[http://en.wikipedia.org/wiki/Iceweasel Iceweasel] - The name of '''two''' different Firefox forks. One was a GNU project; the name of this project has since changed to [http://en.wikipedia.org/wiki/GNU_IceCat Icecat]. The [http://wiki.debian.org/Iceweasel second] is being developed by Debian and is based on 2.0. At the time of writing the [[AUR]] only has Icecat.<br />
<br />
*[http://en.wikipedia.org/wiki/GNU_IceCat GNU/IceCat] - formerly known as GNU IceWeasel, is a web browser distributed by the GNU Project. IceCat, which is made entirely of free software, is a fork of Mozilla Firefox. It is compatible with the GNU/Linux operating system and almost all of Firefox's addons. GNU/IceCat really can fully replace Firefox.<br />
<br />
*[http://getswiftfox.com/ Swiftfox] - An optimized and processor-specific build of Firefox. Currently available via AUR. It should be noted that, considering Arch Linux has ABS, you could build your own optimized build of Firefox.<br />
<br />
*[http://swiftweasel.sourceforge.net/ Swiftweasel] - Mostly like Swiftfox, but the binaries aren't under proprietary license. Some PKGBUILDs are available in AUR.<br />
<br />
=== Firefox Alternatives ===<br />
*[[Opera]]<br />
:A closed-sourced full-featured web suite.<br />
*[http://en.wikipedia.org/wiki/Epiphany_%28browser%29 Epiphany]<br />
:GNOME's default web browser. Uses the same rendering engine as Firefox.<br />
*[http://en.wikipedia.org/wiki/Konqueror Konqueror]<br />
:KDE's default web browser. Uses the KHTML rendering engine.<br />
*[http://en.wikipedia.org/wiki/Dillo Dillo]<br />
:A very lightweight web browser.<br />
*[http://en.wikipedia.org/wiki/SeaMonkey SeaMonkey]<br />
:The continuation of the original Mozilla suite. Includes web browser, email client, etc.<br />
*[http://en.wikipedia.org/wiki/Midori_(browser) Midori]<br />
:A webkit-based GTK+ browser. Lightweight and early in development, but with plenty of features already.<br />
*[http://en.wikipedia.org/wiki/Arora_(web_browser) Arora]<br />
:A webkit-based Qt browser in development, very capable and fast.<br />
*[http://www.uzbl.org uzbl]<br />
:A lightweight webkit browser following the UNIX philosophy; to do one thing and do it well.<br />
<br />
== External Links ==<br />
*[http://www.howtocreate.co.uk/browserSpeed.html Browser Speed Comparisons]<br />
:A dated article comparing popular browsers' performance.<br />
*[http://web.glandium.org/blog/?p=97 Facts about Debian and Mozilla® Firefox]<br />
:An account of the trademark issues from the Firefox package maintainer for Debian.<br />
*[http://www.gnu.org/software/gnuzilla/ Gnuzilla and IceWeasel]<br />
:Official website for the GNU Mozilla forks.</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=Fluxbox&diff=75954Fluxbox2009-09-17T03:34:43Z<p>SHyLoCk: /* Additional Resources */</p>
<hr />
<div>[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|Fluxbox}}<br />
{{i18n_entry|Русский|Fluxbox (Русский)}}<br />
{{i18n_entry|Česky|Fluxbox (Česky)}}<br />
{{i18n_entry|Italiano|Fluxbox (Italiano)}}<br />
{{i18n_links_end}}<br />
<br />
= Getting Started =<br />
<br />
==Full Guide==<br />
Thanks to narada; he is the author of this guide.<br />
You can find it at:<br />
[http://bbs.archlinux.org/viewtopic.php?id=77729]<br />
<br />
== Starting Fluxbox ==<br />
=== Method 1: KDM/GDM ===<br />
Users of [[KDM]] or [[GDM]] will find a new fluxbox entry added to their session menu automatically. Simply choose the fluxbox option when logging in.<br />
<br />
=== Method 2: ~/.xinitrc ===<br />
Edit {{Filename|~/.xinitrc}} and add the following code:<br />
exec fluxbox<br />
or if you would like to use the 'startfluxbox' file, add this line instead:<br />
exec startfluxbox <br />
<tt>startfluxbox</tt> is the recommended method, as this will also execute any programs defined in {{Filename|~/.fluxbox/startup}}.<br />
<br />
{{Note | There can only be one <tt>exec</tt> line in your {{Filename|~/.xinitrc}} file.}}<br />
<br />
If it crashes on startup, it may be a locale problem. Setting LC_ALL to the default "C" locale, may avoid this crash. [http://bbs.archlinux.org/viewtopic.php?t=25797 1].<br />
<br />
= Configuration =<br />
== Menu Management ==<br />
=== Built-in method ===<br />
Built-in command:<br />
$ fluxbox-generate_menu<br />
This command will generate a ~/.fluxbox/menu/ file based on your installed programs. There is also "helper / regenerate menu" in the fluxbox menu.<br />
<br />
=== MenuMaker ===<br />
[http://menumaker.sourceforge.net/ MenuMaker] is a powerful tool that creates XML-based menus for a variety of Window Managers, including Fluxbox. MenuMaker will search your computer for executable programs and create a menu based on the results. It can be configured to exclude Legacy X, GNOME, KDE, or Xfce applications if desired.<br />
<br />
MenuMaker is available in [community] via pacman:<br />
# pacman -S menumaker<br />
<br />
Once installed, you can generate a complete menu by running:<br />
$ mmaker -v Fluxbox<br />
<br />
To see a full list of options, run '''mmaker --help'''<br />
<br />
=== Arch Linux Xdg menu ===<br />
Requires [http://aur.archlinux.org/packages.php?ID=10535 Arch Linux xdg menu] <br><br />
$ xdg_menu --fullmenu --format fluxbox --root-menu /etc/xdg/menus/arch-applications.menu >~/.fluxbox/menu<br />
'''Tip:''' replace default xterm/urxvt:<br />
$ sed -i 's/xterm/urxvt/g' ~/.fluxbox/menu<br />
More info:<br />
$ xdg_menu --help<br />
<br />
''See also: [[XdgMenu]]''<br />
<br />
=== Creating a custom menu with fluxconf ===<br />
To start the menu section of fluxconf run:<br />
$ fluxmenu<br />
In the window you will see three columns: Type, Title, & Command/Comment.<br><br />
Clicking on an entry in this will allow you to edit it.<br><br />
Clicking on "Add sub" will add a submenu.<br><br />
Clicking on "Add exec" will add a command.<br><br />
<br />
The type column has several valid options:<br />
#begin, required to start the menu file. The title option is the menu header.<br><br />
#submenu, a "folder" inside the menu. Title is the name of the submenu.<br><br />
#exec, a command line. Title is what is shown and Command/Comment is the command to be executed.<br />
#separator, a divider in the menu. No arguments to this one.<br />
#workspaces, a list of workspaces and what applications are running on each. Title is what will be shown to the user.<br />
#stylesdir, a directory containing styles. Title is the path to the dir. Recommended that you put this into its own subdirectory as it can get quite large. directories to use: /usr/share/fluxbox/styles ~/.fluxbox/styles .<br />
#config, a menu with many options for configuring behavior of fluxbox. Title is the name of the menu shown to the user.<br />
#reconfig, reloads the config file. Title is the title shown to the user.<br />
#restart, restarts fluxbox. Title is the title shown to the user.<br />
#exit, exit fluxbox, will drop back to the desktop manager or exit X depending on the startup method you used. Title is the title shown to the user.<br />
<br />
Remember to hit save before closing<br />
<br />
=== Manually create/edit the menu ===<br />
Use command:<br />
$ nano ~/.fluxbox/menu<br />
Then write lines in this style:<br />
[exec] (name) {command}<br />
If you want to make submenu write:<br />
[submenu] (Name)<br />
...<br />
...<br />
[end]<br />
When done save and exit. There is no need to restart fluxbox.<br />
<br />
== Hotkeys ==<br />
Fluxbox offers basic hotkeys functionality. The fluxbox key file is located at:<br />
~/.fluxbox/keys<br />
Control key is represented by "Control". Mod1 corresponds to Alt and Mod4 corresponds to Meta (not a standard key but many map meta to the win key)<br />
<br />
Here is a quick way of controlling your Master volume, using CTRL-ALT+ Arrow up or down:<br />
Control Mod1 Up :Exec amixer sset Master,0 5%+ <br />
Control Mod1 Down :Exec amixer sset Master,0 5%- <br />
<br />
If you installed fluxconf, you may use its method of editing this in GUI with the command:<br />
$ fluxkeys<br />
<br />
The First text box is for a button and the second is for an action. Select execCommand to set a command and put the name of the command into the 3rd text box.<br />
<br />
More functions of this can be used from the 2nd text box (A drop down menu is available)<br />
<br />
== Workspaces ==<br />
Fluxbox defaults to having four workspaces. These are accessible using Alt+F1-F4 shortcuts, or the arrows on the toolbar next to where it says '''one'''.<br />
<br />
Right clicking on desktop and going to your Workspaces menu (menumaker users: FluxBox>Workspaces, fluxconf users: the workspaces title) will let you interact with the workspaces.<br />
<br />
Workspaces Menu:<br />
Icons - shows minimized applications<br />
--separator--<br />
Workspaces names (default: one,two,three,four) - Shows all the applications on that desktop<br />
--separator--<br />
New Workspace - Adds a workspace<br />
Edit Current workspace name - lets you title your workspace whatever you want. Will show up on the left side of the toolbar <br />
Remove Last - Removes the last workspace on the list, dumps all of the applications running on that desktop into the one before it<br />
<br />
== Background ==<br />
Setting the background requires a background setter. you will need to install one of these packages:<br />
*eterm <br />
*feh (lacks menu transparency). <br />
<br />
There are others but these are the most recommended two, to see others check out the fbsetbg documentation in the "Additional Links section"<br />
To set the background:<br />
$ fbsetbg /path/to/background.image<br />
<br />
You can also add (or modify) the following line to the file ~/.fluxbox/init to something like this:<br />
session.screen0.rootCommand: fbsetbg /path/to/wallpaper<br />
<br />
Or simply:<br />
session.screen0.rootCommand: fbsetbg -l<br />
<br />
====Additional notes for people who like to change wallpaper a lot====<br />
<br />
Place the following submenu in your fluxbox menu<br />
[submenu] (Backgrounds)<br />
[wallpapers] (~/.fluxbox/backgrounds)<br />
[wallpapers] (/usr/share/fluxbox/backgrounds)<br />
[end]<br />
Then put your background images into ~/.fluxbox/backgrounds or any other folder you specify, they will then appear in the same fashion as your styles.\<br />
<br />
=== Feh ===<br />
Install feh with:<br />
# pacman -S feh<br />
You may add a quick submenu to your {{Filename|~/.fluxbox/menu}} file which will allow you to change backgrounds on-the-fly:<br />
[submenu] (Wallpaper)<br />
[wallpapers] (/path/to/your/wallpapers) {feh --bg-scale}<br />
[end]<br />
<br />
To make sure fluxbox will load feh background next time start:<br />
<br />
'''1.''' Make {{Filename|.fehbg}} executable:<br />
$ chmod 770 ~/.fehbg<br />
<br />
'''2.''' Then add (or modify) the following line to the file {{Filename|~/.fluxbox/init}}:<br />
session.screen0.rootCommand: ~/.fehbg<br />
<br />
'''3.''' or add (or modify) the following line to the file {{Filename|~/.fluxbox/startup}}:<br />
~/.fehbg<br />
<br />
== Theming ==<br />
To install a theme extract the archive to a stylesdir the default ones are:<br />
*global - /usr/share/fluxbox/styles<br />
*user only - ~/.fluxbox/styles<br />
Links to some theme sites are provided below.<br />
<br />
== Autostarting Applications ==<br />
xinitrc users should put all code into {{Filename|~/.xinitrc}}. However, fluxbox provides functionality to autostart applications on its own.<br />
<br />
The {{Filename|~/.fluxbox/startup}} file is a script for autostarting applications as well as starting fluxbox itself. The # symbol denotes a comment.<br />
<br />
A sample file:<br />
fbsetbg -l <nowiki>#</nowiki> sets the last background set, very useful and recommended.<br />
<nowiki>#</nowiki> In the below commands the ampersand symbol (&) is required on all applications that do not terminate immediately. <br />
<nowiki>#</nowiki> failure to provide them will cause fluxbox not to start.<br />
idesk & <br />
xterm &<br />
<nowiki>#</nowiki> exec is for starting fluxbox itself, don't put an ampersand (&) after this or fluxbox will exit immediately<br />
exec /usr/bin/fluxbox<br />
<nowiki>#</nowiki> or if you want to keep a log, uncomment the below command and comment out the above command:<br />
<nowiki>#</nowiki> exec /usr/bin/fluxbox -log ~/.fluxbox/log<br />
<br />
== A life after xorg.conf ==<br />
Xorg no longer requires an xorg.conf file. Traditionally this is where you would change your keyboard settings and powersave settings. Luckily there are elegant solutions not using xorg.conf. <br />
<br />
=== Setting your keyboard right ===<br />
Just add the following line to {{Filename|~/.fluxbox/startup}}:<br />
setxkbmap us -variant intl & # to have a us keyboard with special characters enabled (like éóíáú)<br />
<br />
Instead of 'us' you can also pass your language code and remove the variant option. See man setxkbmap for more options.<br />
<br />
To make a help function in your menu, just add in {{Filename|~/.fluxbox/menu}}:<br />
[submenu] (Keyboard)<br />
[exec] (normal) {setxkbmap us}<br />
[exec] (international) {setxkbmap us -variant intl}<br />
[end]<br />
<br />
=== Disable Powersave ===<br />
Do you recognize the problem while watching a movie that the screen goes blank? Congratulations, Xorg just detected that you were doing nothing :). If you don't need these movement exercises, you can disable this feature altogether. You'll just have to remember to manually turn off your monitor if you're not using it.<br />
<br />
Just add the following line at the start of {{Filename|~/.fluxbox/startup}}:<br />
xset s off -dpms &<br />
<br />
= Additional Resources =<br />
<br />
* [http://fluxbox.sourceforge.net/ Fluxbox Homepage]<br />
* [http://en.gentoo-wiki.com/wiki/Fluxbox Gentoo Wiki about Fluxbox]<br />
* [http://www.gentoo.org/doc/en/fluxbox-config.xml Gentoo Fluxbox Documentation]<br />
* [http://box-look.org/ Themes for Fluxbox]<br />
* [http://fluxbox-wiki.org/ Fluxbox Wiki]<br />
* [http://www.xs4all.nl/~hanb/software/fbsetbg/fbsetbg.html fbsetbg documentation]<br />
* [http://archux.com/page/application-recommendations Application recommendations]<br />
* [http://wiki.archlinux.org/index.php/Fluxbox_Style_Guide Fluxbox Style Guide]</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=MPlayer&diff=74775MPlayer2009-08-28T10:37:10Z<p>SHyLoCk: /* Transparent SMPlayer in Gnome with Composite enabled */</p>
<hr />
<div>{{i18n_links_start}}<br />
{{i18n_entry|English|:MPlayer}}<br />
{{i18n_entry|Italiano|:MPlayer_(Italiano)}}<br />
{{i18n_entry|Ελληνικά|:MPlayer_(Ελληνικά)}}<br />
{{i18n_entry|简体中文|:MPlayer_(简体中文)}}<br />
{{i18n_entry|Русский|:MPlayer_(Русский)}}<br />
{{i18n_links_end}}<br />
<br />
<br />
'''MPlayer''' is the oh-so-popular movie player for Linux. MPlayer has support for pretty much every video and audio format out there and is hence very versatile, even though most people use it for viewing videos.<br />
<br />
==Installation==<br />
Type <code>pacman -S mplayer</code> in a shell as root.<br />
<br />
==Additional installation tips==<br />
<br />
===More codecs===<br />
To get the most out of MPlayer, you should really consider installing the <code>codecs</code> package, which adds support for Windows codecs, Real9 and QuickTime (.mov).<br />
<br />
Install it with: <code>pacman -S codecs</code>. [Note: this package is no longer in the repository; see http://bbs.archlinux.org/viewtopic.php?id=73230].<br />
<br />
===Frontends/GUIs===<br />
There are several GUIs for MPlayer.<br />
* Qt: <code>smplayer</code> is in the extra repository. The <code>smplayer-themes</code> package provides themes for it.<br />
* Gtk+: <code>pymp</code> and <code>gnome-mplayer</code> are in the AUR and community repos, respectively.<br />
* gmplayer: this gui is no longer included in the mplayer package. There is an alternative mplayer package (<code>mplayer-x</code>) in AUR in which the gmplayer gui is enabled.<br />
<br />
===Browser integration===<br />
<br />
If you want to let MPlayer control video viewing in your favorite web browser, try one of the following:<br />
<br />
====Firefox====<br />
<code>pacman -S mplayer-plugin</code><br />
<br />
<code>pacman -S gecko-mediaplayer</code><br />
<br />
====Konqueror====<br />
<code>pacman -S kmplayer</code> (also provides a complete frontend to MPlayer.)<br />
<br />
==Usage==<br />
<br />
===Configuration===<br />
System-wide configuration is located in <code>/usr/local/etc/mplayer/mplayer.conf</code>, whereas the user-local settings are stored in <code>~/.mplayer/config</code>.<br />
<br />
<br />
===Translucent Video with radeon and Composite enabled===<br />
<br />
To get translucent video output in X you have to enable textured video in mplayer:<br />
<br />
mplayer -vo xv:adaptor=1 <File><br />
<br />
Or add the following line to ~/.mplayer/config:<br />
<br />
vo=xv:adaptor=1<br />
<br />
You can use <code>xvinfo</code> to check which video modes your graphic card supports.<br />
<br />
===Transparent SMPlayer in Gnome with Composite enabled===<br />
<br />
Have you noticed the transparent screen of smplayer when you are using compiz and maybe cairo-dock? Well it’s ridiculous that when you open your videos using SMplayer you can just hear audio and no video! Here’s how you fix this: [copy paste into terminal]<br />
<br />
sudo bash -c “cat > /usr/bin/smplayer.helper” <<EOF<br />
export XLIB_SKIP_ARGB_VISUALS=1<br />
exec smplayer.real “\$@”<br />
EOF<br />
sudo chmod 755 /usr/bin/smplayer.helper<br />
sudo mv /usr/bin/smplayer{,.real}<br />
sudo ln -sf smplayer.helper /usr/bin/smplayer<br />
<br />
If you don’t use sudo then just use “su” to login as root and do the above!<br />
<br />
===Watching streamed video===<br />
If you want to play a video stream (e.g *.asx link) use <code>mplayer -playlist linktostream.asx</code> to play the stream as these are playlists of streams and won't be playable omitting the -playlist option.<br />
<br />
===Stream mplayer audio to jackd===<br />
<br />
Edit ~/.mplayer/config<br />
add:<br />
<br />
ao=jack<br />
<br />
===Keybindings===<br />
<br />
:''This is a list of the most basic MPlayer keys.''<br />
<br />
{|<br />
! width=50 align=left | Key<br />
! align=left | Description<br />
|-<br />
| p<br />
| Toggle pause/play.<br />
|-<br />
| Space<br />
| Toggle pause/play.<br />
|-<br />
| Left<br />
| Seek backward ten seconds.<br />
|-<br />
| Right<br />
| Seek forward ten seconds.<br />
|-<br />
| Down<br />
| Seek backward one minute.<br />
|-<br />
| Up<br />
| Seek forward one minute.<br />
|-<br />
| <<br />
| Go back in the playlist.<br />
|-<br />
| ><br />
| Go forward in the playlist.<br />
|-<br />
| m<br />
| Mute the sound.<br />
|-<br />
| 0<br />
| Volume up.<br />
|-<br />
| 9<br />
| Volume down.<br />
|-<br />
| f<br />
| Toggle fullscreen mode.<br />
|-<br />
| o<br />
| Toggle OSD state.<br />
|-<br />
| j<br />
| Toggle subtitle visibility.<br />
|-<br />
| <code>I</code><br />
| Show filename.<br />
|-<br />
| 1, 2<br />
| Adjust contrast.<br />
|-<br />
| 3, 4<br />
| Adjust brightness.<br />
|}<br />
<br />
=== Mplayer fails to open files with spaces ===<br />
<br />
If you try to open a file with spaces (The Movie) and mplayer fails, saying that it could not open the file (file:///The%20Movie), where all spaces are converted to %20, then open<br />
<br />
/usr/share/applications/mplayer.desktop<br />
<br />
and change the line<br />
<br />
Exec=mplayer %U<br />
<br />
to<br />
<br />
Exec=mplayer %F<br />
<br />
If you got frontend/GUI enter GUI name in Exec=GUI name %F.<br />
<br />
==External links==<br />
* [http://www.mplayerhq.hu/ Official MPlayer website]<br />
<br />
[[Category:Audio/Video (English)]]</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=MPlayer&diff=74584MPlayer2009-08-25T15:57:18Z<p>SHyLoCk: /* Transparent SMPlayer in Gnome with Composite enabled */</p>
<hr />
<div>{{i18n_links_start}}<br />
{{i18n_entry|English|:MPlayer}}<br />
{{i18n_entry|Italiano|:MPlayer_(Italiano)}}<br />
{{i18n_entry|Ελληνικά|:MPlayer_(Ελληνικά)}}<br />
{{i18n_entry|简体中文|:MPlayer_(简体中文)}}<br />
{{i18n_entry|Русский|:MPlayer_(Русский)}}<br />
{{i18n_links_end}}<br />
<br />
<br />
'''MPlayer''' is the oh-so-popular movie player for Linux. MPlayer has support for pretty much every video and audio format out there and is hence very versatile, even though most people use it for viewing videos.<br />
<br />
==Installation==<br />
Type <code>pacman -S mplayer</code> in a shell as root.<br />
<br />
==Additional installation tips==<br />
<br />
===More codecs===<br />
To get the most out of MPlayer, you should really consider installing the <code>codecs</code> package, which adds support for Windows codecs, Real9 and QuickTime (.mov).<br />
<br />
Install it with: <code>pacman -S codecs</code>. [Note: this package is no longer in the repository; see http://bbs.archlinux.org/viewtopic.php?id=73230].<br />
<br />
===Frontends/GUIs===<br />
There are several GUIs for MPlayer.<br />
* Qt: <code>smplayer</code> is in the extra repository. The <code>smplayer-themes</code> package provides themes for it.<br />
* Gtk+: <code>pymp</code> and <code>gnome-mplayer</code> are in the AUR and community repos, respectively.<br />
* gmplayer: this gui is no longer included in the mplayer package. There is an alternative mplayer package (<code>mplayer-x</code>) in AUR in which the gmplayer gui is enabled.<br />
<br />
===Browser integration===<br />
<br />
If you want to let MPlayer control video viewing in your favorite web browser, try one of the following:<br />
<br />
====Firefox====<br />
<code>pacman -S mplayer-plugin</code><br />
<br />
<code>pacman -S gecko-mediaplayer</code><br />
<br />
====Konqueror====<br />
<code>pacman -S kmplayer</code> (also provides a complete frontend to MPlayer.)<br />
<br />
==Usage==<br />
<br />
===Configuration===<br />
System-wide configuration is located in <code>/usr/local/etc/mplayer/mplayer.conf</code>, whereas the user-local settings are stored in <code>~/.mplayer/config</code>.<br />
<br />
<br />
===Translucent Video with radeon and Composite enabled===<br />
<br />
To get translucent video output in X you have to enable textured video in mplayer:<br />
<br />
mplayer -vo xv:adaptor=1 <File><br />
<br />
Or add the following line to ~/.mplayer/config:<br />
<br />
vo=xv:adaptor=1<br />
<br />
You can use <code>xvinfo</code> to check which video modes your graphic card supports.<br />
<br />
===Transparent SMPlayer in Gnome with Composite enabled===<br />
<br />
Have you noticed the transparent screen of smplayer when you are using compiz and maybe cairo-dock? Well it’s ridiculous that when you open your videos using SMplayer you can just hear audio and no video! Here’s how you fix this:<br />
<br />
sudo bash -c “cat > /usr/bin/smplayer.helper” <<EOF<br />
export XLIB_SKIP_ARGB_VISUALS=1<br />
exec smplayer.real “\$@”<br />
EOF<br />
<br />
sudo chmod 755 /usr/bin/smplayer.helper<br />
sudo mv /usr/bin/smplayer{,.real}<br />
sudo ln -sf smplayer.helper /usr/bin/smplayer<br />
<br />
If you don’t use sudo then just use “su” to login as root and do the above!<br />
<br />
===Watching streamed video===<br />
If you want to play a video stream (e.g *.asx link) use <code>mplayer -playlist linktostream.asx</code> to play the stream as these are playlists of streams and won't be playable omitting the -playlist option.<br />
<br />
===Stream mplayer audio to jackd===<br />
<br />
Edit ~/.mplayer/config<br />
add:<br />
<br />
ao=jack<br />
<br />
===Keybindings===<br />
<br />
:''This is a list of the most basic MPlayer keys.''<br />
<br />
{|<br />
! width=50 align=left | Key<br />
! align=left | Description<br />
|-<br />
| p<br />
| Toggle pause/play.<br />
|-<br />
| Space<br />
| Toggle pause/play.<br />
|-<br />
| Left<br />
| Seek backward ten seconds.<br />
|-<br />
| Right<br />
| Seek forward ten seconds.<br />
|-<br />
| Down<br />
| Seek backward one minute.<br />
|-<br />
| Up<br />
| Seek forward one minute.<br />
|-<br />
| <<br />
| Go back in the playlist.<br />
|-<br />
| ><br />
| Go forward in the playlist.<br />
|-<br />
| m<br />
| Mute the sound.<br />
|-<br />
| 0<br />
| Volume up.<br />
|-<br />
| 9<br />
| Volume down.<br />
|-<br />
| f<br />
| Toggle fullscreen mode.<br />
|-<br />
| o<br />
| Toggle OSD state.<br />
|-<br />
| j<br />
| Toggle subtitle visibility.<br />
|-<br />
| <code>I</code><br />
| Show filename.<br />
|-<br />
| 1, 2<br />
| Adjust contrast.<br />
|-<br />
| 3, 4<br />
| Adjust brightness.<br />
|}<br />
<br />
=== Mplayer fails to open files with spaces ===<br />
<br />
If you try to open a file with spaces (The Movie) and mplayer fails, saying that it could not open the file (file:///The%20Movie), where all spaces are converted to %20, then open<br />
<br />
/usr/share/applications/mplayer.desktop<br />
<br />
and change the line<br />
<br />
Exec=mplayer %U<br />
<br />
to<br />
<br />
Exec=mplayer %F<br />
<br />
If you got frontend/GUI enter GUI name in Exec=GUI name %F.<br />
<br />
==External links==<br />
* [http://www.mplayerhq.hu/ Official MPlayer website]<br />
<br />
[[Category:Audio/Video (English)]]</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=User:SHyLoCk&diff=74571User:SHyLoCk2009-08-25T10:43:24Z<p>SHyLoCk: Created page with 'A simple man using a simple distro. After a lot of distro-hops I landed on Arch only to find what I was missing so long. Arch is as great as you can make of it. Even though I am …'</p>
<hr />
<div>A simple man using a simple distro. After a lot of distro-hops I landed on Arch only to find what I was missing so long. Arch is as great as you can make of it. Even though I am supposed to write about myself here, I feel like talking about arch. :) <br />
Thanks to all those who made Arch linux possible! <br />
Keep up the good work.<br />
Cheers<br />
<br />
PS-My blog is @ : [http://pdg86.wordpress.com]</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=MPlayer&diff=74570MPlayer2009-08-25T10:38:53Z<p>SHyLoCk: /* Usage */</p>
<hr />
<div>{{i18n_links_start}}<br />
{{i18n_entry|English|:MPlayer}}<br />
{{i18n_entry|Italiano|:MPlayer_(Italiano)}}<br />
{{i18n_entry|Ελληνικά|:MPlayer_(Ελληνικά)}}<br />
{{i18n_entry|简体中文|:MPlayer_(简体中文)}}<br />
{{i18n_entry|Русский|:MPlayer_(Русский)}}<br />
{{i18n_links_end}}<br />
<br />
<br />
'''MPlayer''' is the oh-so-popular movie player for Linux. MPlayer has support for pretty much every video and audio format out there and is hence very versatile, even though most people use it for viewing videos.<br />
<br />
==Installation==<br />
Type <code>pacman -S mplayer</code> in a shell as root.<br />
<br />
==Additional installation tips==<br />
<br />
===More codecs===<br />
To get the most out of MPlayer, you should really consider installing the <code>codecs</code> package, which adds support for Windows codecs, Real9 and QuickTime (.mov).<br />
<br />
Install it with: <code>pacman -S codecs</code>. [Note: this package is no longer in the repository; see http://bbs.archlinux.org/viewtopic.php?id=73230].<br />
<br />
===Frontends/GUIs===<br />
There are several GUIs for MPlayer.<br />
* Qt: <code>smplayer</code> is in the extra repository. The <code>smplayer-themes</code> package provides themes for it.<br />
* Gtk+: <code>pymp</code> and <code>gnome-mplayer</code> are in the AUR and community repos, respectively.<br />
* gmplayer: this gui is no longer included in the mplayer package. There is an alternative mplayer package (<code>mplayer-x</code>) in AUR in which the gmplayer gui is enabled.<br />
<br />
===Browser integration===<br />
<br />
If you want to let MPlayer control video viewing in your favorite web browser, try one of the following:<br />
<br />
====Firefox====<br />
<code>pacman -S mplayer-plugin</code><br />
<br />
<code>pacman -S gecko-mediaplayer</code><br />
<br />
====Konqueror====<br />
<code>pacman -S kmplayer</code> (also provides a complete frontend to MPlayer.)<br />
<br />
==Usage==<br />
<br />
===Configuration===<br />
System-wide configuration is located in <code>/usr/local/etc/mplayer/mplayer.conf</code>, whereas the user-local settings are stored in <code>~/.mplayer/config</code>.<br />
<br />
<br />
===Translucent Video with radeon and Composite enabled===<br />
<br />
To get translucent video output in X you have to enable textured video in mplayer:<br />
<br />
mplayer -vo xv:adaptor=1 <File><br />
<br />
Or add the following line to ~/.mplayer/config:<br />
<br />
vo=xv:adaptor=1<br />
<br />
You can use <code>xvinfo</code> to check which video modes your graphic card supports.<br />
<br />
===Transparent SMPlayer in Gnome with Composite enabled===<br />
<br />
Have you noticed the transparent screen of smplayer when you are using compiz and maybe cairo-dock? Well it’s ridiculous that when you open your videos using SMplayer you can just hear audio nd no video! Here’s how you fix this:<br />
<br />
sudo bash -c “cat > /usr/bin/smplayer.helper” <<EOF<br />
export XLIB_SKIP_ARGB_VISUALS=1<br />
exec smplayer.real “\$@”<br />
EOF<br />
<br />
sudo chmod 755 /usr/bin/smplayer.helper<br />
sudo mv /usr/bin/smplayer{,.real}<br />
sudo ln -sf smplayer.helper /usr/bin/smplayer<br />
<br />
If you don’t use sudo then just use “su” to login as root and do the above!<br />
<br />
===Watching streamed video===<br />
If you want to play a video stream (e.g *.asx link) use <code>mplayer -playlist linktostream.asx</code> to play the stream as these are playlists of streams and won't be playable omitting the -playlist option.<br />
<br />
===Stream mplayer audio to jackd===<br />
<br />
Edit ~/.mplayer/config<br />
add:<br />
<br />
ao=jack<br />
<br />
===Keybindings===<br />
<br />
:''This is a list of the most basic MPlayer keys.''<br />
<br />
{|<br />
! width=50 align=left | Key<br />
! align=left | Description<br />
|-<br />
| p<br />
| Toggle pause/play.<br />
|-<br />
| Space<br />
| Toggle pause/play.<br />
|-<br />
| Left<br />
| Seek backward ten seconds.<br />
|-<br />
| Right<br />
| Seek forward ten seconds.<br />
|-<br />
| Down<br />
| Seek backward one minute.<br />
|-<br />
| Up<br />
| Seek forward one minute.<br />
|-<br />
| <<br />
| Go back in the playlist.<br />
|-<br />
| ><br />
| Go forward in the playlist.<br />
|-<br />
| m<br />
| Mute the sound.<br />
|-<br />
| 0<br />
| Volume up.<br />
|-<br />
| 9<br />
| Volume down.<br />
|-<br />
| f<br />
| Toggle fullscreen mode.<br />
|-<br />
| o<br />
| Toggle OSD state.<br />
|-<br />
| j<br />
| Toggle subtitle visibility.<br />
|-<br />
| <code>I</code><br />
| Show filename.<br />
|-<br />
| 1, 2<br />
| Adjust contrast.<br />
|-<br />
| 3, 4<br />
| Adjust brightness.<br />
|}<br />
<br />
=== Mplayer fails to open files with spaces ===<br />
<br />
If you try to open a file with spaces (The Movie) and mplayer fails, saying that it could not open the file (file:///The%20Movie), where all spaces are converted to %20, then open<br />
<br />
/usr/share/applications/mplayer.desktop<br />
<br />
and change the line<br />
<br />
Exec=mplayer %U<br />
<br />
to<br />
<br />
Exec=mplayer %F<br />
<br />
If you got frontend/GUI enter GUI name in Exec=GUI name %F.<br />
<br />
==External links==<br />
* [http://www.mplayerhq.hu/ Official MPlayer website]<br />
<br />
[[Category:Audio/Video (English)]]</div>SHyLoCkhttps://wiki.archlinux.org/index.php?title=HAL&diff=72439HAL2009-07-20T05:15:07Z<p>SHyLoCk: /* Permission Denied */</p>
<hr />
<div>[[Category: Hardware detection and troubleshooting (English)]]<br />
[[Category:Daemons and system services (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{i18n_links_start}}<br />
{{i18n_entry|English|HAL}}<br />
{{i18n_entry|Español|HAL (Español)}}<br />
{{i18n_entry|简体中文|HAL (简体中文)}}<br />
{{i18n_entry|Français|HAL_(Français)}}<br />
{{i18n_entry|Italiano|HAL (Italiano)}}<br />
{{i18n_entry|Polish|HAL_(Polski)}}<br />
{{i18n_entry|Русский|HAL_(Русский)}}<br />
{{i18n_entry|Türkçe|HAL (Türkçe)}}<br />
{{i18n_links_end}}<br />
<br />
=Introduction=<br />
HAL (Hardware Abstraction Layer) is a daemon that allows desktop applications to readily access hardware information so that they can locate and use such hardware regardless of bus or device type. In this way a desktop GUI can present all resources to its user in a seamless and uniform manner.<br />
<br />
==About hotplugging==<br />
There are a number of things involved in 'hotplugging' and HAL is only one of them. When a new device is added, e.g. a USB drive is plugged in, the following occurs (roughly):<br />
* The kernel becomes aware of a new device and registers it in {{Filename|/sys}}.<br />
* [[Udev]] creates a device node (e.g. {{Filename|/dev/sdb1}}), and loads the drivers/modules needed.<br />
* The HAL daemon is notified by [[D-Bus]] and adds the device and what it can find out about it to its database.<br />
* The addition of the new device is broadcast by HAL over D-Bus to whatever programs are subscribing, e.g. Thunar, which shows it as an icon in the shortcuts side panel, or Metacity/Nautilus which will add an icon to the desktop.<br />
* Another program listening may be a volume manager, such as thunar-volman or [[autofs | AutoFS]], configured to automatically create mount points and mount certain types of drives, start Rhythmbox whenever an iPod is connected, etc.<br />
<br />
HAL does not detect the hardware (kernel), manage the devices or the drivers (udev) or automount drives (volume managers). As a '''h'''ardware '''a'''bstraction '''l'''ayer, its role is more akin to a communications center, providing your applications with a clean interface to the devices. Problems with hot-plugged devices not being properly detected, usable, or mounted should be investigated, knowing that it is a long chain and there are more components involved (see 'Troubleshooting').<br />
<br />
==About volumes mount points==<br />
HAL mounts your volumes under {{Filename|/media/''some_folder''}}. To determine what ''some_folder'' should be it uses the '''label''' of a volume or, if the volume does not have a label, it uses the volume's '''type''' (eventually followed by a number if the directory already exists), for example: {{Filename|/media/disk}}, {{Filename|/media/disk-1}} ...<br />
<br />
To give a label to a partition you can use '''GParted''' (available in extra) or its KDE equivalent '''PartitionManager''' (available in [[AUR]]).<br />
<br />
Also keep in mind these three common problems that stop HAL from mounting a device:<br />
*the directory {{Filename|/media/''label_of_your_volume''}} must '''NOT''' exist, it will be dynamically created and destroyed by HAL<br />
*the device must '''NOT''' be listed in fstab, otherwise HAL will refuse to mount it<br />
*you must have the right to mount the device, see [[#Permission Denied|Permission Denied]] for more details<br />
<br />
<br />
<br />
If for some reason you '''can't''' give a label to your partition you can give a fake label to HAL, you will need two things to do so:<br />
* '''$device_uuid''', the uuid of the device ({{Codeline|ls -l /dev/disk/by-uuid/}} may help you for that)<br />
* '''$fake_label''', the fake label you chose<br />
<br />
Place this into {{Filename|/etc/hal/fdi/policy/20-'''$device_name'''.fdi}} without forgetting to replace '''$device_uuid''' and '''$device_name''' by their values.<br />
{{File|name=/etc/hal/fdi/policy/20-$device_name.fdi|content=<nowiki><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="volume.uuid" string="</nowiki>'''$device_uuid'''<nowiki>"><br />
<merge key="volume.label" type="string"></nowiki>'''$device_name'''<nowiki></merge><br />
</match><br />
</device><br />
</deviceinfo><br />
</nowiki>}}<br />
<br />
=Install and configure HAL=<br />
==Step 1: Install==<br />
The HAL daemon requires the presence of the D-Bus daemon, so we need to make sure both are installed. <br />
# pacman -S hal dbus<br />
<br />
Edit {{Filename|/etc/rc.conf}} as root with your favorite editor and add '''dbus''' & '''hal''' to the DAEMONS array, for example:<br />
DAEMONS=(syslog-ng '''dbus hal''' network netfs ...)<br />
The DBus and HAL daemons will now load at boot time. While HAL would load dbus automatically if it wasn't already running it would not unload it properly at shutdown. Therefore to avoid any complications it is best to load DBus before HAL through your daemons array.<br />
<br />
NOTE: Some people have reported problems with this setup. If you also experience problems also you should try loading '''hal''' first followed by '''dbus'''.<br />
<br />
Or, you could start HAL manually by issuing the following command as root:<br />
# /etc/rc.d/hal start<br />
<br />
For D-Bus and HAL to be of any practical use, local user accounts should be members of the following [[groups]]: '''optical''' and '''storage'''. To achieve this, open a terminal and type the following commands as root:<br />
# gpasswd -a ''username'' optical<br />
# gpasswd -a ''username'' storage<br />
Replace ''username'' with your actual username (e.g. johndoe).<br />
<br />
For those group changes to take effect, you have to completely logout and login again.<br />
<br />
==Step 2: Configure==<br />
===Permissions policies===<br />
Your programs communicate with HAL controlled devices through a D-Bus interface. A number of [http://people.freedesktop.org/~david/hal-spec/hal-spec.html#interfaces interfaces] are defined, each associated with a number of methods: The storage device interface, for example, has the methods 'eject' and 'close tray' (for optical drives). In order to 'mount' a partition on a USB key, you need access to the relevant D-Bus interface ('volume' in this case). <br />
<br />
The configuration file {{Filename|/etc/dbus-1/system.d/hal.conf}} specifies HAL-specific privileges, i.e. which users have access to which interfaces. These are defined as exceptions to the overall restrictions imposed on using D-Bus interfaces, specified in {{Filename|/etc/dbus-1/system.conf}}. In short, you'll need to see that {{Filename|hal.conf}} grants your user the right to access specific DBUS/HAL interfaces, because the D-Bus default is not to let you access them.<br />
<br />
The default {{Filename|hal.conf}} will contain a number of policies denying and allowing access, amongst them this default (the later of two defaults and therefore seemingly the deciding one):<br />
{{File|name=/etc/dbus-1/system.d/hal.conf|content=<nowiki><br />
<!-- Default policy for the exported interfaces --><br />
<policy context="default"><br />
<deny send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/><br />
<deny send_interface="org.freedesktop.Hal.Device.VideoAdapterPM"/><br />
<deny send_interface="org.freedesktop.Hal.Device.LaptopPanel"/><br />
<deny send_interface="org.freedesktop.Hal.Device.Volume"/><br />
<deny send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/><br />
</policy><br />
</nowiki>}}<br />
<br />
In short, users are by default denied access to interfaces like Volume which has methods such as mount and unmount. This is overruled by policies allowing users of the groups 'power' and 'storage' to access their respective devices:<br />
{{File|name=/etc/dbus-1/system.d/hal.conf|content=<nowiki><br />
<policy group="power"><br />
<allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/><br />
<allow send_interface="org.freedesktop.Hal.Device.LaptopPanel"/><br />
</policy><br />
<br />
<policy group="storage"><br />
<allow send_interface="org.freedesktop.Hal.Device.Volume"/><br />
<allow send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/><br />
</policy><br />
</nowiki>}}<br />
<br />
That's why you will want to add your user to those [[groups]], thus reducing the number of customized configuration files.<br />
</nowiki>}}<br />
<br />
===Device specific policies===<br />
====NTFS write access====<br />
Upon [[NTFS Write Support|installing ntfs-3g]], a HAL policy file will be created at /usr/share/hal/fdi/policy/10osvendor. This will use ntfs-3g for all NTFS volumes. Simply restart HAL, and NTFS volumes should be writeable.<br />
<br />
=====The last resort=====<br />
{{Warning|This should only be used as a last resort 'hack' if HAL is unable to properly recognize and mount (rw) ntfs drives.}}<br />
If the above policy does not work (make sure you restarted hal) you can force HAL ('''but also all your other programs''') to use the ntfs-3g driver instead of the standard ntfs driver. As root create a symbolic link from mount.ntfs to mount.ntfs-3g:<br />
# ln -s /sbin/mount.ntfs-3g /sbin/mount.ntfs<br />
<br />
Possible issues using this method:<br />
* if mount is called with the "-i" option it doesn't work<br />
* possible issues with the kernel ntfs module<br />
<br />
====Locale issues====<br />
{{Note|this shouldn't happen anymore with ntfs-3g 2009.1.1 and newer.}}<br />
<br />
You may have problem with filenames containing non-latin characters. This happens because your mounthelper is not parsing the policies and locale option correctly. There is a workaround for this:<br />
<br />
* Remove this symlink: {{Codeline|rm /sbin/mount.ntfs-3g}}<br />
* Replace it with a new bash script containing:<br />
{{File|name=/sbin/mount.ntfs-3g|content=<nowiki><br />
#!/bin/bash<br />
/bin/ntfs-3g $1 "$2" -o locale=</nowiki>'''en_US.UTF-8'''<nowiki>,$4 # put your own locale here<br />
</nowiki>}}<br />
* Make it executable: {{Codeline|chmod +x /sbin/mount.ntfs-3g}}<br />
* Add a line to the pacman configuration file:<br />
{{File|name=/etc/pacman.conf|content=<nowiki><br />
...<br />
NoUpgrade = sbin/mount.ntfs-3g<br />
...<br />
</nowiki>}}<br />
<br />
====Enable the noatime mount option for removable devices====<br />
This will speed up file operations and also reduce wear on flash memory devices like USB sticks or SD cards.<br />
{{File|name=/etc/hal/fdi/policy/20-noatime-removable.fdi|content=<nowiki><br />
<device> <br />
<match key="block.is_volume" bool="true"><br />
<match key="@block.storage_device:storage.hotpluggable" bool="true"><br />
<merge key="volume.policy.mount_option.noatime" type="bool">true</merge><br />
</match><br />
<match key="@block.storage_device:storage.removable" bool="true"><br />
<merge key="volume.policy.mount_option.noatime" type="bool">true</merge><br />
</match><br />
</match><br />
</device><br />
</nowiki>}}<br />
<br />
====Disable Automount on login====<br />
You may want to disable automounting of ntfs(/or other filesystem) partitions on login.<br />
<br />
{{File|name=/etc/hal/fdi/policy/20-disable-automount.fdi|content=<nowiki><br />
<device><br />
<match key="storage.hotpluggable" bool="false"><br />
<match key="storage.removable" bool="false"><br />
<merge key="storage.automount_enabled_hint" type="bool">false</merge><br />
</match><br />
</match><br />
</device><br />
</nowiki>}}<br />
<br />
==Step 3: Start or re-start HAL==<br />
For your changes to take effect you need to (re)start HAL:<br />
# /etc/rc.d/hal restart<br />
<br />
=Troubleshooting=<br />
{{Note|for your changes to take effect you need to restart HAL with {{Codeline|/etc/rc.d/hal restart}} !}}<br />
<br />
==Mounting fails==<br />
===IsCallerPrivileged failed===<br />
If you get a message "IsCallerPriviliged failed" and are not using KDM or GDM, use ck-launch-session (part of the '''consolekit''' package) to start your DE/WM.<br />
<br />
For example with startx/KDE, this was originally in {{Filename|~/.xinitrc}}:<br />
exec startkde<br />
The new version:<br />
exec ck-launch-session startkde<br />
<br />
===Permission Denied===<br />
'''Note:''' an alternative approach for solving this issue is presented in [http://bbs.archlinux.org/viewtopic.php?id=65070 I won the struggle against hal and policykit]. It also helps to correct issues with powerdown and shutdown of the system.<br />
<br />
If you just upgraded to hal-0.5.11-7 and suddenly mounting a device stopped working for non-root users with one of these errors:<br />
* "PermissionDeniedByPolicy mount-removable no"<br />
* "PermissionDeniedByPolicy mount-removable-extra-options no"<br />
* "org.freedesktop.hal.storage.mount-removable no <-- (action, result)"<br />
* "org.freedesktop.hal.storage.mount-removable-extra-options no <-- (action, result)"<br />
you can fix the situation by editing {{Filename|/etc/PolicyKit/PolicyKit.conf}} and paste the following into the <config> section:<br />
{{File|name=/etc/PolicyKit/PolicyKit.conf|content=<nowiki><br />
<match user="</nowiki>'''$USER'''<nowiki>"><br />
<!-- replace with your login or delete the line if you want to allow all users to manipulate devices (keep security issues in mind though) --><br />
<match action="org.freedesktop.hal.storage.*"><br />
<return result="yes"/><br />
</match><br />
<match action="hal-storage-mount-fixed-extra-options"><br />
<!-- for internal devices mounted with extra options like a wished mount point --><br />
<return result="yes" /><br />
</match><br />
<match action="hal-storage-mount-removable-extra-options"><br />
<!-- for external devices mounted with extra options like a wished mount point --><br />
<return result="yes" /><br />
</match><br />
</match> <!-- don't forget to delete this line if you deleted the first one --><br />
</nowiki>}}<br />
Restart dbus and hal. If you used KDE you will have to restart KDE as well (the device notifier won't get it otherwise and will stop responding altogether). This was taken from Gullible Jones' "So long, Arch" thread as a hotfix for exactly this type of breakage and is probably not the best fix (especially for machines with a large number of users), but it works.<br />
<br />
{{Note|make sure you type your user name like this {{Codeline|<match user<nowiki>=</nowiki>"myuser">}} and NOT like {{Codeline|<match user<nowiki>=</nowiki>"$myuser">}}.}}<br />
<br />
====Still not working?====<br />
<br />
If the above fix doesn't work then try to put this instead:<br />
<br />
<match user="yourusername"><br />
<return result="yes"/><br />
</match><br />
<br />
NOTE: This allows everything!<br />
<br />
====Alternate Fix====<br />
<br />
If you start your window manager from .xinitrc, see suggestion 2 entries up under "IsCallerPrivileged failed".<br />
<br />
==Auto-mounting fails==<br />
===Inserted CD/DVD doesn't get recognized by HAL===<br />
If inserted CDs/DVDs are not recognized by HAL (no icon on the desktop or notification), check {{Filename|/etc/fstab}} and remove the lines for the optical drives.<br />
<br />
If that does not work, it may be because your device is not "checked" for automount by HAL. I am not sure why but you may have a file under {{Filename|/etc/hal/fdi/information/media-check-disable-storage_model_'''$YOUR_DEVICE'''.fdi}} which should have a content similar to:<br />
{{File|name=/etc/hal/fdi/information/media-check-disable-storage_model_'''$YOUR_DEVICE'''.fdi|content=<nowiki><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.udi" string="/org/freedesktop/Hal/devices/storage_model_DV$<br />
<merge key="storage.media_check_enabled" type="bool">false</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
</nowiki>}}<br />
If the key is set to false (it was in my case), all you have to do is to change the value of the key to true.<br />
<br />
===USB sticks and drives do not automount correctly===<br />
This sub-section is sourced from [http://bbs.archlinux.org/viewtopic.php?pid=248224 this forum page].<br />
<br />
If you are experiencing problems with automounting USB sticks and/or drives, but do not have problems with mounting CDs or DVDs, and if you are able to manually mount the USB device in question, then you should create the file "preferences.fdi" in the folder {{Filename|/etc/hal/fdi/policy}} and paste the following line into the file<br />
{{File|name=/etc/hal/fdi/policy/preferences.fdi|content=<nowiki><br />
<merge key="volume.ignore" type="bool">false</merge><br />
</nowiki>}}<br />
<br />
Also, if you have GParted installed, you might need to delete {{Filename|/usr/share/hal/fdi/policy/gparted-disable-automount.fdi}} as mentioned at the end of [http://bbs.archlinux.org/viewtopic.php?pid=310284].<br />
<br />
Also you should remove from {{Filename|/etc/fstab}} lines, corresponding to usb devices which should be mounted by hal automatically.<br />
<br />
==Removing USB flash causes improper unmount==<br />
If you remove your USB flash without previously unmounting it, automatic unmount by HAL may work improperly.<br />
<br />
You may find that corresponding records from {{Filename|/media/.hal-mtab}} is not deleted, and in nautilus device list (and also on GNOME desktop) remains link to an empty folder, where the device was previously mounted. <br />
<br />
This may be corrected by unmounting flash drive with "lazy" parameter. To do so, you should do some tweaking:<br />
<br />
1) Create an executable script {{Filename|/usr/lib/hal/hal-unmount.sh}} with access rights 755 and the following content<br />
{{File|name=/usr/lib/hal/hal-unmount.sh|content=<nowiki><br />
#!/bin/sh <br />
# sanity check. DEVNAME should start with a / <br />
[ "$DEVNAME" != "${DEVNAME#/}" ] || exit 0<br />
# Lazily unmount drives which are removed, but still mounted <br />
if [ "$ACTION" = remove ] ; then<br />
if [ -x /usr/bin/pumount ] ; then<br />
/usr/bin/pumount -l "$DEVNAME";<br />
else<br />
/bin/umount -l "$DEVNAME";<br />
fi<br />
fi<br />
exit 0<br />
</nowiki>}}<br />
2) Then you should tell HAL to run this script when you remove your usb stick. To do so, you should add to {{Filename|/etc/udev/rules.d/90-hal.rules}} the following line:<br />
{{File|name=/etc/udev/rules.d/90-hal.rules|content=<nowiki><br />
SUBSYSTEM=="block", ACTION=="remove", RUN+="/usr/lib/hal/hal-unmount.sh"<br />
</nowiki>}}<br />
<br />
3) Execute<br />
# /etc/rc.d/hal restart<br />
<br />
=External links=<br />
*[http://people.freedesktop.org/~david/hal-spec/hal-spec.html HAL 0.5.10 specifications] - A comprehensive HAL specification and introduction.<br />
*[http://dventurin.blogspot.com/2007/04/udev-hal-dbus.html Dam's blog] - An attempt to clarify the division of labor among the kernel, udev, D-Bus and HAL with links to HOWTOs and FAQs on each.<br />
*[http://people.freedesktop.org/~david/talks/dynamic-device-handling-OLS-2006.pdf Dynamic Device Handling (pdf)] - A presentation of device handling.</div>SHyLoCk