supplies-
Model A Raspberry Pi (256MB, 1 usb port, no ethernet)- should also work on Model B
usb-serial adapter connected to pi (I don't use video, so this is my only initial link to pi)
sd card formatted to fat32 (if new card, is most likely already done)
programs-
terminal program of your choice (I use putty for both Windows and Linux)
7zip program (for Windows only, to extract boot.tar.gz files)
downloads-
http://os.archlinuxarm.org/os/rpi/boot.tar.gz (boot files)
http://os.archlinuxarm.org/os/rpi/root.tar.gz (root file system)
setup.sh (helper script)-
https://drive.google.com/uc?export=down ... zlCRVVvN2Minitrootfs (initramfs root)-
https://drive.google.com/uc?export=down ... mFiQjhkVDQcmdline.txt (optional- can edit existing file)
https://drive.google.com/uc?export=down ... 0xIWjZGWUUconfig.txt (optional- can edit existing file)
https://drive.google.com/uc?export=down ... 3hfM3BNRDQ* make sure you have the sd card formatted as fat/fat32
* extract boot.tar.gz to the sd card (the files to the root of the sd card)
* copy root.tar.gz to the sd card (no extract, just copy it)
* copy initrootfs to sd card
* copy setup.sh to the sd card
* edit the cmdline.txt file on the sd card as shown below (if not downloaded)
---cmdline.txt - the 1 line below---
$this->bbcode_second_pass_code('', 'break=4 loglevel=2 ipv6.disable=1 avoid_safe_mode=1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 console=tty1 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/mmcblk0p1/ArchLinuxArm.img rootfstype=ext4 elevator=noop rootwait rw')
* edit the config.txt file on the sd card as shown below (if not downloaded)
---config.txt - the 2 lines below---
$this->bbcode_second_pass_code('', 'gpu_mem=16
initramfs initrootfs 0x00f00000')
=== cmdline.txt === notes ===
console=ttyAMA0 is listed after console=tty1 in order for the console to work in initramfs
root=/mmcblk0p1/ArchLinuxArm.img - this will be the root file system (will get setup inside initramfs)
rw (to make sure root is mounted rw)
break=4 (this will give an opportunity to break in the initramfs if needed)
=== config.txt === notes ===
I am not using video output, so I set gpu ram to minimum
the initramfs option specifies the filename and an address where to load it
(I chose the filename 'initrootfs', but can be anything)
(the address I found somewhere on the internet- thats all I know, but it seems to work)
$this->bbcode_second_pass_code('', '===============================================================================
summary of (necessary) files on sd card to setup Arch Linux Arm-
===============================================================================
bootcode.bin -boot code read by gpu bootloader
start.elf -loaded by bootcode.bin
start_cd.elf -cut down version of start.elf (when gpu_mem=16)
fixup.dat -sdram info I think
fixup_cd.dat
kernel.img -the linux kernel loaded by start.elf (or start_cd.elf)
cmdline.txt -command line parameters passed to the kernel
config.txt -configuration options
root.tar.gz -the latest Arch Linux Arm root file system (for rpi)
initrootfs -the 'initial' root file system copied to ram
setup.sh -shell functions to create the loop file
===============================================================================')
connect terminal program to serial port device
put sd card into pi, power up pi
initramfs looproot script will run setup since the image file does not exist
(setup will not run if either setup.sh or root.tar.gz do not exist)
follow instructions to create the image file
(YES enter 1000 enter YES enter will get you a 1GB image)
should now be booted into ArchLinuxArm
username/password= root/root
I am not a Linux guru, but this is working for me. I tested it with an 8GB micro sd card, and an 8GB usb flash drive. Both were formatted to fat32 in Windows. If you want to change what image file you are using, or want to create a new one, change the 'root=' value in cmdline.txt. If I wanted to use a usb drive, I would make it something like this- 'root=/sda1/myarch.img', if using an sd card and only 1 partition (normal), it would be something like this- 'root=/mmcblk0p1/myarch.img'.
The 'break=' value in cmdline.txt can be- looproot , premount, postmount, or a value between 2 and 10-
break=looproot -break to interactive shell at the beginning of the looproot 'hook' function
break=sec (2 to 10, like break=5) -like looproot, but break if a B is pressed within 'sec' seconds
break=premount -break to interactive shell in init function before it tries to mount root
break=postmount -break to interactive shell in init function after it mounts root