Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
becki:linux:sheevaplug [2010-11-05 10:23] becki |
becki:linux:sheevaplug [2011-06-10 10:05] (aktuell) becki |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Sheevaplug == | ====== Sheevaplug == | ||
+ | |||
+ | Installation of Slackware on a Sheevaplug with MMCard | ||
+ | |||
+ | ===== Where to buy == | ||
+ | |||
+ | http://www.sheevaplug.de/links/16-europaeische-bezugsquellen.html | ||
+ | |||
===== Login == | ===== Login == | ||
Zeile 10: | Zeile 17: | ||
For me (on Slack 12.2 and 13.0) it was necessary to ''modprobe ftdi_sio vendor=0x9e88 product=0x9e8f'' before a serial connection with seyon or minicom was possible. [[http://www.openplug.org/plugwiki/index.php/Serial_terminal_program|Source]] | For me (on Slack 12.2 and 13.0) it was necessary to ''modprobe ftdi_sio vendor=0x9e88 product=0x9e8f'' before a serial connection with seyon or minicom was possible. [[http://www.openplug.org/plugwiki/index.php/Serial_terminal_program|Source]] | ||
- | Establish serial connection with eg: ''screen /dev/ttyUSB1 115200'' (and exit with ''Ctrl-a K'' [[http://www.tutorials.de/linux-tutorials/151906-einfuehrung-screen.html|Source]]) | + | After inserting the kernel module and powering on the Sheevaplug, ''/var/log/messages'' tells that 2 serial device files are created, eg. ''ttyUSB1'' and ''ttyUSB2''. One of them (probably the latter) ist for the serial terminal. Try both! |
+ | |||
+ | Establish serial connection with eg: ''screen /dev/ttyUSB1 115200'' (and exit with ''Ctrl-a K''; see also: [[gnu screen]]) | ||
===== MMC mount == | ===== MMC mount == | ||
- | With the off the shelf Ubuntu install an inserted SD Card can be mounted on ''/dev/mmcblk0p1''. Note that ''/var/log/messages'' only reports ''/dev/mmcblk0''. You have to inspect the ''/dev'' directory to get the actual device. | + | With the off the shelf Ubuntu a SD Card can be mounted on ''/dev/mmcblk0p1''. Note that ''/var/log/messages'' only reports ''/dev/mmcblk0''. You have to inspect the ''/dev'' directory to get the actual device. |
===== Installing Slackware == | ===== Installing Slackware == | ||
- | [[ftp://ftp.armedslack.org/armedslack/armedslack-13.1/INSTALL_KIRKWOOD.TXT|Source]] | + | Source: [[http://mirror.inode.at/data/armedslack/armedslack-13.37/INSTALL_KIRKWOOD.TXT|INSTALL_KIRKWOOD.TXT]] |
+ | |||
+ | Note that it is currently not possible to [[http://lists.armedslack.org/2009-September/000239.html|install Armed on the internal Sheeva NAND Flash]]. You need an MMCard or eSata card. (Used Trascend Ultimate 8GB SDHC Class10, 11,99€) | ||
==== Activate NFS == | ==== Activate NFS == | ||
Zeile 24: | Zeile 35: | ||
<code bash> | <code bash> | ||
# add to /etc/exports: | # add to /etc/exports: | ||
- | /export/armedslack 192.168.1.0/255.255.255.0(ro,nohide,root_squash,sync,no_subtree_check) | + | /home/export/armedslack 192.168.1.0/255.255.255.0(ro,nohide,root_squash,sync,no_subtree_check) |
</code> | </code> | ||
Zeile 30: | Zeile 41: | ||
# create directory to be exported: | # create directory to be exported: | ||
su | su | ||
- | mkdir -p /export/armedslack | + | mkdir -p /home/export/armedslack |
- | chmod g+w /export/armedslack | + | chmod g+w /home/export/armedslack |
- | chgrp users /export/armedslack | + | chgrp users /home/export/armedslack |
# start NFS daemon: | # start NFS daemon: | ||
Zeile 62: | Zeile 73: | ||
<code bash> | <code bash> | ||
- | cd /export/armedslack | + | cd /home/export/armedslack |
- | rsync --exclude '*/source/*' --delete -Pavv ftp.armedslack.org::armedslack/armedslack-13.1 . | + | rsync --exclude '*/source/*' --delete -Pavv ftp.armedslack.org::armedslack/armedslack-13.37 . |
# or use a mirror: | # or use a mirror: | ||
- | rsync --exclude '*/source/*' --delete -Pavv mirror.inode.at::mirror/armedslack/armedslack-13.1 . | + | rsync --exclude '*/source/*' --delete -Pavv mirror.inode.at::mirror/armedslack/armedslack-13.37 . |
</code> | </code> | ||
+ | This creates ''/home/export/armedslack/armedslack-13.37''. | ||
+ | |||
Other mirrors are listed in www.armedslack.org/getslack. Note that it is better to use rsync than FTP, because with rsync you can resume an aborted download with reusing already downloaded files. | Other mirrors are listed in www.armedslack.org/getslack. Note that it is better to use rsync than FTP, because with rsync you can resume an aborted download with reusing already downloaded files. | ||
Zeile 72: | Zeile 85: | ||
<code bash> | <code bash> | ||
- | mkdir /tftpboot/armedslack-13.1 | + | mkdir /tftpboot/armedslack-13.37 |
- | cd /export/armedslack/armedslack-13.1/ | + | cd /home/export/armedslack/armedslack-13.37/ |
# Copy the Slackware ARM installer: | # Copy the Slackware ARM installer: | ||
- | cp -fav isolinux/uinitrd-kirkwood.img /tftpboot/armedslack-13.1/ | + | cp -fav isolinux/uinitrd-kirkwood.img /tftpboot/armedslack-13.37/ |
- | + | ||
# The Linux Kernel: | # The Linux Kernel: | ||
- | cp -fav kernels/kirkwood/uImage* /tftpboot/armedslack-13.1/ | + | cp -fav kernels/kirkwood/uImage* /tftpboot/armedslack-13.37/ |
- | # The Initial RAM disk, used for booting the OS after installation | + | # The Initial RAM disk, used for booting the OS after installation |
- | cp -fav kernels/kirkwood/uinitrd* /tftpboot/armedslack-13.1/ | + | cp -fav kernels/kirkwood/uinitrd* /tftpboot/armedslack-13.37/ |
</code> | </code> | ||
Zeile 120: | Zeile 133: | ||
</code> | </code> | ||
+ | ==== Slackware ARM installation == | ||
+ | |||
+ | Plug in the MMC card and type ''mmcinit'' (May not work the first time, so retry): | ||
+ | |||
+ | <code> | ||
+ | Marvell>> mmcinit | ||
+ | SDHC found. Card desciption is: | ||
+ | Manufacturer: 0x1b, OEM "SM" | ||
+ | Product name: "00000", revision 1.0 | ||
+ | Serial number: 1962687311 | ||
+ | Manufacturing date: 9/2010 | ||
+ | CRC: 0x00, b0 = 0 | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | Marvell>> tftpboot 0x01100000 armedslack-13.37/uinitrd-kirkwood.img | ||
+ | Marvell>> tftpboot 0x00800000 armedslack-13.37/uImage-kirkwood | ||
+ | Marvell>> printenv bootargs | ||
+ | [empty] | ||
+ | setenv bootargs console=ttyS0,115200 nodhcp kbd=de root=/dev/ram rw | ||
+ | bootm 0x00800000 0x01100000 | ||
+ | </code> | ||
+ | |||
+ | An animated loading sequence comes up. After the first 2 commands | ||
+ | Note that keyboard was set to ''de''. Use your appropriate entry. After ''bootm ...'' the kernel gets uncompressed und you will see the welcome screen of the standard Slackware installation :-) Log in as root. | ||
+ | |||
+ | <code> | ||
+ | # Bring up network: | ||
+ | # (a ping to the sheevaplug should work after this command) | ||
+ | ifconfig eth0 192.168.0.99 netmask 255.255.255.0 | ||
+ | |||
+ | # start SSH daemon: | ||
+ | /etc/rc.d/rc.dropbear start | ||
+ | </code> | ||
+ | |||
+ | Now you can log into the Sheevaplug with SSH as user root with no password: ''ssh root@192.168.0.99''. From here use the ssh, not the serial login. | ||
+ | |||
+ | ''fdisk -l'' shows your available drive: ''/dev/mmcblk0''. Use ''fdisk'' to partition the drive, cfdisk did not work: | ||
+ | |||
+ | <code> | ||
+ | fdisk /dev/mmcblk0 | ||
+ | </code> | ||
+ | |||
+ | Unset DOS Compatibility flag and change display/entry units to sectors: | ||
+ | <code> | ||
+ | Command (m for help): c | ||
+ | DOS Compatibility flag is not set | ||
+ | Command (m for help): u | ||
+ | Changing display/entry units to sectors | ||
+ | </code> | ||
+ | |||
+ | Now with fdisk delete the existing FAT32 partition and set up the following partitions (100MB for /boot, 800MB for swap, the rest for /): | ||
+ | |||
+ | <code> | ||
+ | Command (m for help): p | ||
+ | Disk /dev/mmcblk0: 8011 MB, 8011120640 bytes | ||
+ | ... | ||
+ | Device Boot Start End Blocks Id System | ||
+ | /dev/mmcblk0p1 2048 206847 102400 83 Linux | ||
+ | /dev/mmcblk0p2 206848 1845247 819200 82 Linux swap | ||
+ | /dev/mmcblk0p3 1845248 15646719 6900736 83 Linux | ||
+ | </code> | ||
+ | |||
+ | Set the TERM varialble to linux (why?) and run Slack setup: | ||
+ | |||
+ | root@slackware:~# TERM=linux setup | ||
+ | |||
+ | Because the following steps are very similar to a normal [[slack_setup_tips|Slack installation]], here only the key points: | ||
+ | |||
+ | * Keymap: qwertz/de-latin1-nodeadkeys.map | ||
+ | * Using ''/dev/mmcblk0p2'' as swap | ||
+ | * Using ''/dev/mmcblk0p3'' :!: as ''/'' with ext4 | ||
+ | * Using ''/dev/mmcblk0p1'' as ''/boot'' with ext2 | ||
+ | |||
+ | <note important>With armedslack-13.37, selection of ''ext2'' was ignored and the ''/boot'' was partition formattet with ''ext4'' anyway! Hence booting the system failed after install. Here is a workaround: | ||
+ | - Insert the MMCard into a Notbook after installation of armedslack has finished | ||
+ | - Save the contents of ''/dev/mmcblk0p1'' | ||
+ | - Reformat ''/dev/mmcblk0p1'' with the notebook (''mkfs.ext2 /dev/mmcblk0p1'') | ||
+ | - Restore the contents of ''/dev/mmcblk0p1'' | ||
+ | </note> | ||
+ | |||
+ | * Install from NFS with ''/home/export/armedslack/armedslack-13.37/slackware'' as source | ||
+ | * Package selection: Everything except KDEI (=default); mode: full. Installation takes a long time. | ||
+ | |||
+ | ==== Booting the Slackware ARM OS == | ||
+ | |||
+ | Reboot the system with ''reboot'' and enter U-boot once again. | ||
+ | |||
+ | /* | ||
+ | <code> | ||
+ | Marvell>> printenv bootargs_console | ||
+ | ## Error: "bootargs_console" not defined | ||
+ | Marvell>> printenv bootargs_root | ||
+ | bootargs_root=root=/dev/nfs rw | ||
+ | Marvell>> printenv bootcmd | ||
+ | bootcmd=nand read.e 0x800000 0x100000 0x400000; bootm 0x800000 | ||
+ | Marvell>> printenv bootcmd_slk | ||
+ | ## Error: "bootcmd_slk" not defined | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | Marvell>> printenv bootargs_console | ||
+ | bootargs_console=console=ttyS0,115200 | ||
+ | Marvell>> printenv bootargs_root | ||
+ | bootargs_root=ubi.mtd=1 root=ubi0:rootfs rootfstype=ubifs | ||
+ | Marvell>> printenv bootcmd | ||
+ | bootcmd=run bootcmd_mmc; run bootcmd_nand | ||
+ | Marvell>> printenv bootcmd_slk | ||
+ | ## Error: "bootcmd_slk" not defined | ||
+ | </code> | ||
+ | */ | ||
+ | |||
+ | <code> | ||
+ | Marvell>> setenv bootargs_console console=ttyS0,115200 | ||
+ | # note changed device file: | ||
+ | Marvell>> setenv bootargs_root 'root=/dev/mmcblk0p3 waitforroot=10 rootfs=ext4' | ||
+ | Marvell>> setenv bootcmd 'setenv bootargs $(bootargs_console) $(bootargs_root); run bootcmd_slk ; reset' | ||
+ | # for MMC: | ||
+ | Marvell>> setenv bootcmd_slk 'mmcinit;ext2load mmc 0:1 0x01100000 /uinitrd-kirkwood;ext2load mmc 0:1 0x00800000 /uImage-kirkwood;bootm 0x00800000 0x01100000' | ||
+ | # save | ||
+ | Marvell>> saveenv | ||
+ | Marvell>> reset | ||
+ | </code> | ||
+ | |||
+ | ===== Install Go == | ||
+ | See [[golang]] | ||
===== Pending / Todo == | ===== Pending / Todo == | ||
+ | * Check [[http://www.linuxplanet.com/linuxplanet/tutorials/7292/|Un-Bricking Linux Plug Computers]] | ||
* Check www.plugcomputer.org | * Check www.plugcomputer.org | ||
* Check www.computingplugs.com | * Check www.computingplugs.com |