Benutzer-Werkzeuge

Webseiten-Werkzeuge


becki:linux:sheevaplug

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
becki:linux:sheevaplug [2010-08-27 14:57]
becki created
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 ==
  
 To log in you need either a DHCP server for SSH or you have to set up a serial connection. These and everyting necessary described [[http://​www.openplug.org/​plugwiki/​index.php/​New_Plugger_How_To|here]] To log in you need either a DHCP server for SSH or you have to set up a serial connection. These and everyting necessary described [[http://​www.openplug.org/​plugwiki/​index.php/​New_Plugger_How_To|here]]
 +
 +Default login is ''​root / nosoup4u''​
  
 ===== USB connection == ===== USB connection ==
  
-For me (on Slack12.2) 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]] 
 + 
 +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 == 
 + 
 +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 == 
 + 
 +<code bash> 
 +# add to /​etc/​exports:​ 
 +/​home/​export/​armedslack 192.168.1.0/​255.255.255.0(ro,​nohide,​root_squash,​sync,​no_subtree_check) 
 +</​code>​ 
 + 
 +<code bash> 
 +# create directory to be exported: 
 +su 
 +mkdir -p /​home/​export/​armedslack 
 +chmod g+w /​home/​export/​armedslack 
 +chgrp users /​home/​export/​armedslack 
 + 
 +# start NFS daemon: 
 +chmod +x /​etc/​rc.d/​rc.rpc # check if this line is really necessary 
 +chmod +x /​etc/​rc.d/​rc.nfsd 
 +/​etc/​rc.d/​rc.nfsd restart 
 +</​code>​ 
 + 
 +==== Setup TFTP boot server == 
 + 
 +<code bash> 
 +# ucomment in /​etc/​inetd.conf:​ 
 +tftp  dgram   ​udp ​    ​wait ​   root    /​usr/​sbin/​in.tftpd ​ in.tftpd -s /tftpboot -r blksize 
 +</​code>​ 
 + 
 +<code bash> 
 +# create directory to be exported: 
 +su 
 +mkdir /tftpboot 
 +chmod g+w /tftpboot 
 +chgrp users /tftpboot 
 + 
 +# start inetd: 
 +chmod +x /​etc/​rc.d/​rc.inetd 
 +/​etc/​rc.d/​rc.inetd restart 
 +</​code>​ 
 + 
 +==== Downloading Slackware ARM == 
 + 
 +<code bash> 
 +cd /​home/​export/​armedslack 
 +rsync --exclude '​*/​source/​*'​ --delete -Pavv ftp.armedslack.org::​armedslack/​armedslack-13.37 . 
 +# or use a mirror: 
 +rsync --exclude '​*/​source/​*'​ --delete -Pavv mirror.inode.at::​mirror/​armedslack/​armedslack-13.37 . 
 +</​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. 
 + 
 +==== Populating the /tftpboot directory == 
 + 
 +<code bash> 
 +mkdir /​tftpboot/​armedslack-13.37 
 +cd /​home/​export/​armedslack/​armedslack-13.37/​ 
 + 
 +# Copy the Slackware ARM installer:​ 
 +cp -fav isolinux/​uinitrd-kirkwood.img /​tftpboot/​armedslack-13.37/​ 
 + 
 +# The Linux Kernel: 
 +cp -fav kernels/​kirkwood/​uImage* /​tftpboot/​armedslack-13.37/​ 
 + 
 +# The Initial RAM disk, used for booting the OS after installation 
 +cp -fav kernels/​kirkwood/​uinitrd* /​tftpboot/​armedslack-13.37/​ 
 +</​code>​ 
 + 
 +Is an uboot update necessary? [[http://​www.armedslack.org/​maint_kirkwooduboot|Source]] 
 + 
 +  Marvell>>​ version 
 +  U-Boot ​1.1.4 (Jul 14 2009 - 06:46:57) Marvell version: 3.4.16 
 + 
 +=> U-Boot version is ok, but Marvell version (whatever that is) is outdated FIXME 
 + 
 +==== Connecting to the Kirkwood system via the Serial Port == 
 + 
 +A ''​screen ​/dev/ttyUSB1 115200''​ is sufficient for me, skipped this section in the source 
 + 
 +Log into the Sheevaplug as root and reboot the systemWhen the system comes up again, hit the enter key several times to get into Uboot. 
 + 
 +==== Configuring the Sheevaplug Uboot == 
 + 
 +Get available uboot commands with ''​help''​. You can scroll in ''​screen''​ upward with ''​Ctl-a [''​ and then simply use the arrow keys. End scrolling with ''​Ctl-a ]''​ [[http://​www.tutorials.de/​linux-tutorials/​151906-einfuehrung-screen.html|Source]] 
 + 
 +<​code>​ 
 +Marvell>>​ printenv ipaddr 
 +ipaddr=10.4.50.165 
 +Marvell>>​ printenv serverip 
 +serverip=10.4.50.5 
 +Marvell>>​ printenv arcNumber 
 +## Error: "​arcNumber"​ not defined 
 +Marvell>>​ printenv mainlineLinux 
 +mainlineLinux=no 
 + 
 +Marvell>>​ setenv ipaddr 192.168.0.99 
 +Marvell>>​ setenv serverip 192.168.0.7 
 +Marvell>>​ setenv arcNumber 2097 
 +Marvell>>​ setenv mainlineLinux yes 
 +Marvell>>​ saveenv 
 +Marvell>>​ reset 
 +</​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 ==
  
-FIXME+  * Check [[http://​www.linuxplanet.com/​linuxplanet/​tutorials/​7292/​|Un-Bricking Linux Plug Computers]] 
 +  * Check www.plugcomputer.org 
 +  * Check www.computingplugs.com
becki/linux/sheevaplug.1282921051.txt.gz · Zuletzt geändert: 2010-08-27 14:57 von becki

Impressum - Datenschutzerklärung