Write image to USB key
dd if=archlinux-2008.06-ftp-i686.img of=/dev/sdc
Mount the USB key
mount /dev/sdc1 /mnt/usb
Edit /mnt/usb/boot/grub/menu.lst
Extract squashfs image
unsquashfs -d /tmp/arch /mnt/usb/archlive.sqfs
Edit /tmp/arch/etc/inittab
and change the first virtual console to use serial port
Edit /tmp/arch/etc/securetty
and add ttyS0
after console
so that root can login to the serial console
Rebuild squashfs image
mksquashfs /tmp/arch /mnt/usb/archlive.sqfs
To get around kernel panic when initializing the SATA controller add the kernel option acpi=noirq
to the grub config.
Edit /etc/inittab
for login console
c0:2345:respawn:/sbin/agetty 38400 ttyS0 linux
Add near the top of /boot/grup/menu.lst
serial --unit=0 --speed=38400 terminal --timeout=2 serial console
Edit kernel options to include console=ttyS0,38400
ANSI capable terminal emulator screen /dev/ttyS0 38400
Most of this comes from the Arch Wiki.
Comment out unused virtual terminals in /etc/inittab
.
All modules are compiled into the kernel so set MOD_AUTOLOAD=“no”
and MODULES=()
in /etc/rc.conf
.
Background all of the service startup scripts in /etc/rc.conf
DAEMONS=(@syslog-ng @network @sshd)
Create dedicated user:
useradd -m -G wheel,audio mediacenter
Update /etc/inittab
to boot into X, and modify line for the X login manager to simply login the dedicated user.
id:5:initdefault: [...] x:5:once:/bin/su mediacenter -l -c "/bin/bash --login -c startx >/dev/null 2>&1"
Lauch MMS when X windows starts ~/.xinitrc
exec mms
Add to /etc/fstab
none /tmp tmpfs size=64M 0 0 none /var/log tmpfs size=64M 0 0
Fixup /tmp
permissions in /etc/rc.local
chmod 777 /tmp chmod +t /tmp
Set to fullscreen and adjust resolution
cp /etc/mms/Config ~/.mms
fullscreen = true h_res = 720 v_res = 480
Turn off splash screen and gui in xine
cp /etc/mms/GenericPlayerConfig ~/.mms
generic_movie_opts = --no-splash -I %f %a