http://dev.gentoo.org/~armin76/arm/sheevaplug/install.xmlGentoo on the Marvell SheevaPlugContent: 1. Overview 2. Requirements 3. Preparing to boot your plug 4. Booting the installation environment 5. Installing Gentoo 6. Booting to our new system 7. References 8. ThanksInstalling Gentoo in the SheevaPlug is pretty simple. You can either use an USB mass storage device, like an USB stick or an USB HDD, or you can use an SD card. The SheevaPlug also has 512MB of NAND(flash) storage, but unless you want to install a very small system it won't be enough for running a Gentoo installation. This is due to the portage tree, which is ~499MB. You could install Gentoo on the NAND, but you'll need to mount the portage tree using NFS or other kind of storage. Therefore, since we want a standalone system, we'll just use one of the two options mentioned above. To be able to install Gentoo, you'll need the following:
3. Preparing to boot your plug Before we start the installation process, we need to set up our plug's serial and install a TFTP server on our computer. For accessing the plug's serial, we need an USB cable where one end is a B-mini USB connector, which we'll connect it to the connector of the same type near the SD slot, which is located on the left side of the plug, supposing the RJ-45 and the normal USB connector are at the top. Don't plug it to your computer yet. For the serial to work, you need to have the needed kernel driver loaded on the computer. Make sure you have it either as built-in in your kernel or as a module, if the latter, load it.
If you built the driver as a module and you are unable to get the ttyUSB* devices(those devices should only show up if the plug is powered on), you need to pass a few parameters when loading it:
After that, you need a serial terminal emulator. You can use, for example net-misc/minicom or net-misc/picocom, configured with the following parameters:
That configuration is also known as 115200 8N1. After configuring your favorite serial terminal emulator, plug your Sheevaplug and you should see some boot information. Since we need a TFTP server so our plug can get the kernel and the initramfs of the installation environment, we'll install one. Remember that the TFTP server has to be in a computer that its in the same network as the plug. I used net-misc/tftp-hpa.
Specify the directory where the kernel and initramfs files are located:
Now, start the TFTP server:
Now we have our TFTP server running, next, download the files needed for booting your plug Getting the kernel and the initramfs Now we'll download the kernel and the initramfs:
4. Booting the installation environment For booting our plug using the files from the TFTP server, we need to set up some variables on U-Boot. Once you have your serial terminal emulator working, start or reboot your plug, so you can see the boot process and break into the U-Boot console.
Once we get the Marvell>> prompt, it means we're in U-Boot's console. You need to give to the plug the IP address of the tftpserver and the IP for the device itself:
For booting kernels from the mainline kernel, we need the following variables set:
Now we'll tftpboot our plug:
Once it has booted, you can now proceed to the installation chapter. The installation on this device is more or less the same as any other kind of machine. So please read and follow the ARM Handbook from the beginning, just skip the 10th chapter, as its irrelevant for our machine. I'll just explain what we have to do differently. Please read below first so you know when you have to go back to this document during the installation. As I already explained, we don't need a boot partition, although you can create it anyway if you want to have your kernels and initramfs separated from the main partition. Here's some information about the stages.
We'll be using the new EABI, also called gnueabi, instead of the old ABI. That is armel on Debian. There's no exact reason for why we should use this EABI and not the old one, apart that this one is better than the old. Therefore, we need an armv5tel-softfloat-linux-gnueabi stage3, available under the releases/arm/autobuilds directory in your favourite mirror Configuring and installing the kernel The SheevaPlug is supported in the mainline kernel since 2.6.30-rc1. First, we need the following packages for compiling our own kernel:
Now, let's emerge vanilla-sources:
After that we can start configuring our kernel:
Once you've configured it, you need to run the following command for creating an U-Boot kernel image and the kernel modules:
Now we flash the kernel to the flash partition, mtdblock1.
Now we add sshd to the startup of our system so we can access it when we boot into our new system.
Enabling serial console access By default the ttyS0 port is configured to 9600bps. Thats okay if you have your client configured to 9600bps, however, as you probably know, the serial port on the machine is configured at 115200bps. So probably you want to change the speed of the port in the ttyS0 line of the /etc/inittab file:
This is pretty much all the installation, read all the recommendations of the handbook, and remember to change the root password and/or create some users. Once you've finished the installation of Gentoo into your SheevaPlug, there's still something you need to do so it boots to our new system. We need to break into U-Boot console again, have a look at the section explaining it to remember how to do it. Once you're in, type the following commands:
After doing that, your plug should reboot into your new system! Have fun! You may find more documentation about the device itself and Linux-related on the following links: |
