Include:Copying Alpine to Flash: Difference between revisions

From Alpine Linux
mNo edit summary
m (Propose for deletion. Completely unused and obsolete include.)
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
The following part describes various ways how to create bootable USB stick with Alpine Linux.
{{Delete|This include has become obsolete. It is completely unused on the wiki}}
 
=== Clone ISO image content to USB stick (Alpine Linux from 3.3.0 and later) ===
 
From Alpine Linux 3.3.0, the generated ISO's are a hybridISO, which means they contain a valid MBR and can be raw copied directly to the USB stick, Hard Drive (If you really know what you're doing), or burnt to a CD/DVD.
 
The following ''dd'' instructions follow helpful guidance from https://wiki.voidlinux.eu/Live_Images wholly or in part.
 
If the USB stick is in a Unix/Linux/OSX system, you will need to find out what the USB device is.  There are various utilities to determine the device name (e.g. {{Path|/dev/sdx}}) for your USB device.  One way is:
 
$ sudo fdisk -l
 
If it is still unclear which is your USB's device name, in Linux you could try <code>sudo lsblk -a</code> ;  or use {{Pkg|parted}} (<code>sudo parted -l</code>).
 
Then, in order to dd the iso, ensure that your usb drive is '''not''' mounted, as various desktop environments automatically mount usb pen drives:
 
$ sudo umount /dev/sdx
 
Next, change to the directory where your Alpine .iso file is located, for example:
 
$ cd ~/Downloads
 
{{Warning|The following instruction will '''destroy''' data on the device being written to - be sure that you have identified your USB device name correctly first!}}
 
Then you can use '''dd''' to copy the iso to it.  Change <code>alpine.iso</code> in the following command to the name of your '''.iso''' file; and change <code>/dev/sdx</code> to the name of your pen drive's device name.  The following command may take a few minutes to execute:
  $ sudo dd if=alpine.iso of=/dev/sdx && sync
 
=== Setup USB stick as usual installation from ISO image ===
 
# Insert the Alpine Linux CD-ROM into a computer.
# Boot the computer from the Alpine Linux CD-ROM.
#* This step may require changes to the BIOS settings to select booting from CD.
# Login with the username ''root''. No password is needed.
 
{{Tip|If you're not able to boot from the CD, then another option is to boot from a regular Alpine installation, and [[Burning_ISOs|manually mount the ISO image to {{Path|/media/cdrom}}]].}}
 
==== Determine the Device Name of the {{{1|Flash Medium}}} ====
Determine the name your computer uses for your {{{1|flash medium}}}. The following step is one way to do this.
# After inserting the {{{1|flash medium}}}, run the command:
#* {{Cmd|dmesg}}
#* At the end of this command you should see the name of your {{{1|flash medium}}}, likely starting with "sd". (For example: "sda").
#* The remainder of this document will assume that your {{{1|flash medium}}} is called /dev/sda
# Use "fdisk -l" or "blkid" to check the device name by size or label
 
==== Format {{{1|Flash Medium}}} ====
Run fdisk (replacing sdX with your {{{1|flash medium}}} name):
{{Cmd|fdisk /dev/sdX}}
 
# (''Optional'') - Create new partition table with one FAT32 partition
#* '''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''' Partition type (Win95 FAT32/LBA)
#Verify that the primary partition is bootable
#* '''p''' Print list of partitions
#* If there is no '*' next to the first partition, follow the next steps:
#** '''a''' <big>Make the partition bootable (set boot flag)</big>
#** '''1''' Partition number 1
#'''w''' Write your changes to the device
 
Format the new partition with:
{{Cmd|mkfs.vfat /dev/sdX1}}
 
==== Add Alpine Linux to the {{{1|Flash Medium}}}  ====
To boot from your {{{1|flash medium}}} you need to copy the contents of the CDROM to the {{{1|flash medium}}} and make it bootable. Those two operations can be automated with the [[setup-bootable]] tool or can be done manually.
 
See also notes to [http://it-offshore.co.uk/linux/alpine-linux/48-alpine-linux-usb-stick-kvm create an Alpine Linux USB stick from within KVM] with [[setup-bootable]].
 
{{Note|If the following commands fail due to 'No such file or directory', you may have to remove and reinsert the {{{1|flash medium}}}, or even reboot, to get /dev/sda1 to appear}}
 
===== Automated =====
{{Tip|If using Alpine Linux 1.10.4 or newer, you can use this section to complete the install. Otherwise, follow the Manual steps below.}}
{{Note|The target partition has to be formatted. Use the <code>mkdosfs</code> command from the Manual steps below if needed.}}
# Run the [[setup-alpine]] script to setup network(Alpine Linux 3.3 not contain syslinux), answer the last three questions as 'none'
## Which disk(s) would you like to use: none
## Enter where to store configs: none
## Enter apk cache directory: none
# Run "apk add syslinux" to install syslinux package
# Run "modprobe vfat" to load vfat kernel module
# Run the [[setup-bootable]] script to add Alpine Linux to the {{{1|flash medium}}} and make it bootable (replacing sda with your {{{1|flash medium}}} name):
#: {{Cmd|setup-bootable /media/cdrom /dev/sda1}}
## if "Resource busy" occurs, maybe the old files on /media/sda1, "rm /media/sda1/.alpine-release" and "reboot" to try again.
{{Note|If you get something like '<code>Failed to mount /dev/sda1 on /media/sda1</code>' when running the above [[setup-bootable]] command, you might want to try running:
{{Cmd|modprobe vfat}}
and then try re-run the [[setup-bootable]] command as described above.}}
{{Warning|If you are installing to a USB Stick, you may need to modify the {{Path|syslinux.cfg}} file to say <code>usbdisk</code> as [[#Wrong_Device_Name|described below]], or you will face possible problems booting and definite problems with the package cache. Recent versions of <code>setup-bootable</code> will specify the alpine_dev using a UUID instead, so it should work properly by default.}}
 
=== Copy ISO content to USB stick as individual files ===
 
# (''Optional'') - If you created a new partition above, format the {{{1|flash medium}}} with a FAT32 filesystem (replacing sda with your {{{1|flash medium}}} name):
#: {{Cmd|apk add dosfstools<BR>mkdosfs -F32 /dev/sda1}}
# Install syslinux and MBR (replacing sda with your {{{1|flash medium}}} name):
#: {{Cmd|{{{|apk add syslinux<BR>dd if=/usr/share/syslinux/mbr.bin of=/dev/sda}}}<BR>syslinux /dev/sda1}}
#Copy the files to the {{{1|flash medium}}} (replacing sda with your {{{1|flash medium}}} name):
#: {{Cmd|<nowiki>mkdir -p /media/sda1
mount -t vfat /dev/sda1 /media/sda1
cd /media/cdrom
cp -a .alpine-release * /media/sda1/
umount /media/sda1</nowiki>}}
# (''Optional'') Remove any apkovl files that were transfered as part of the copy process.  This should be done if you wish to have a fresh install.  Replace sda with your {{{1|flash medium}}} name)
#: {{Cmd|<nowiki>mount -t vfat /dev/sda1 /media/sda1
rm /media/sda1/*.apkovl.tar.gz
umount /media/sda1</nowiki>}}
 
=== Troubleshooting ===
==== Wrong Device Name ====
If you cannot boot from the {{{1|flash medium}}} and you see something like:
Mounting boot media failed.
initramfs emergency recovery shell launched. Type 'exit' to continue boot
then it is likely that the device name in {{Path|syslinux.cfg}} is wrong. You should replace the device name in this line:
append initrd=/boot/grsec.gz alpine_dev='''usbdisk''':vfat modules=loop,cramfs,sd-mod,usb-storage quiet
with the proper device name.
* For boot from USB, the device name should be 'usbdisk' (as shown above)
* For other options, you can run <code>cat /proc/partitions</code> to see the available disks (i.e. 'sda' or 'sdb')
 
==== Non-FAT32 Filesystems ====
When your {{{1|flash medium}}} is formatted with a filesystem other than FAT32, you might have to specify the necessary filesystem modules in the boot parameters.
 
To do so, mount the {{{1|flash medium}}} and change the {{Path|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:'''ext3''' modules=loop,cramfs,sd-mod,usb-storage''',ext3''' quiet
in the case of an ext3 formatted partition. A similar procedure might apply to other filesystems (if they are supported by syslinux and the Alpine Linux kernel).
 
[[Category:Installation]]

Latest revision as of 00:50, 15 December 2021

This material is proposed for deletion ...

This include has become obsolete. It is completely unused on the wiki (Discuss)
Make sure no other pages link here and check the page's history before deleting.