Template:Copying Alpine to Flash
Copy Alpine to a Flash Medium
- Insert the removable flash medium (CF or USB stick) into the computer.
- Determine the name your computer uses for your flash medium. The following step is one way to do this.
- After inserting the flash medium, run the command:
dmesg
- At the end of this command you should see the name of your flash medium, likely starting with "sd". (For example: "sda").
- The remainder of this document will assume that your flash medium is called /dev/sda
Format Flash Medium
fdisk /dev/sda
- p Print list of partitions
- d Delete all partitions (this may take a few steps)
- n Create a new partition
- p A primary partition
- 1 Partition number 1
- Use defaults for first and last cylinder (just press [Enter] twice).
- t Change partition type
- c Type: Win95 FAT32 (LBA)
- a Make the partition bootable (set boot flag)
- 1 Partition number 1
- w Write your changes to the device
Install Syslinux
- Install syslinux and dosfstools. If you have booted from an Alpine CD-ROM, use these commands:
apk add syslinux dosfstools
dd if=/usr/share/syslinux/mbr.bin of=/dev/sda
- Format the flash medium with a VFAT filesystem:
mkdosfs -F32 /dev/sda1
syslinux /dev/sda1
mkdir -p /media/sda1
mount -t vfat /dev/sda1 /media/sda1
- Mount the Alpine Linux CD-ROM, and copy the files to the flash medium
mount /media/cdrom
cd /media/cdrom
cp -a .alpine-release * /media/sda1/
Set up a Serial Console (Optional)
You can now edit syslinux.cfg to add a serial console to the flash medium.
- Open /media/sda1/syslinux.cfg for editing.
vi /media/sda1/syslinux.cfg
- Add the line `serial 0 9600` to the top of the file
- Add the text ` console=tty1,38400 console=ttyS0,9600` to the end of the "append" line.
The result should look like this:
serial 0 9600 timeout 20 prompt 1 default grsec label grsec kernel /boot/grsec append initrd=/boot/grsec.gz alpine_dev=usbdisk:vfat modules=loop,cramfs,sd-mod,usb-storage console=tty1,38400 console=ttyS0,9600
Next, enable the serial console on ttyS0 by editing the inittab file:
- Open /media/sda1/etc/inittab for editing.
vi /media/sda1/etc/inittab
- Find and uncomment the following line:
#ttyS0::respawn:/sbin/getty -L ttyS0 9600 vt100
- So it looks like this:
ttyS0::respawn:/sbin/getty -L ttyS0 9600 vt100
Troubleshooting
When your USB device is formatted to other filesystem than fat32, you might have to specify the necessary filesystem modules in boot parameters.
To do so, mount the device, and alter the syslinux.cfg file line from
append initrd=/boot/grsec.gz alpine_dev=usbdisk:vfat modules=loop,cramfs,sd-mod,usb-storage quiet
to
append initrd=/boot/grsec.gz alpine_dev=usbdisk:vfat modules=loop,cramfs,sd-mod,usb-storage,ext3 quiet
in case of using ext3 formatted partition. Similar procedure might apply to other filesystems (if they are supported by syslinux or other bootloader of your choice and alpine kernel).
Also, specifying waitusb=X option might help with certain usb devices that take a bit longer to register. X stands for the amount of seconds kernel will wait before looking for the installation media.