• Home
  • Help
  • Search
  • Login
  • Register
Pages: [1]
Author Topic: Slackware-current (~13.1) on SheevaPlug  (Read 4524 times)
tylernt
Jr. Member
**

Karma: 2
Posts: 56


View Profile
« on: June 13, 2010, 12:16:15 PM »

Here is my recipe for getting armedslack-current (about 13.1) working on a SheevaPlug. My procedure differs a little from the official instructions, because I think my way was much easier. Wink I didn't have to set up a PXE/TFTP/NFS environment, which is a pain if you don't already have them.

First hurdle was my Sheeva did not come with a CD, so I had to download the difficult-to-find Windows support tools from http://www.plugcomputer.org/index.php/us/resources/downloads?func=startdown&id=44. I was then able to use the USB/serial connection to verify the Sheeva booted OK with the stock Linux install.

For Slackware, I used an SD card for my boot device and a USB hard drive for the root fs. I originally tried an old 64MB MMC (not SD, but actual MMC) but u-Boot's 'mmcinit' did not recognize it so I had to switch to a 1GB SD card. My reason for using an MMC/SD was because of many reported problems with a USB boot device not being ready. Rather than deal with this with u-Boot workarounds and sleep/waiting in the bootup scripts, I simply used Windows to format my SD card with FAT and then dropped the kernel and the two Slackware initial ramdisks on it -- one initrd for the installer, one for normal booting. One thing to mention is I renamed the installer initrd file, because the default name is easily confused with the standard initrd.

I also prepped the USB drive using an existing x86 Linux box (actually, VM, but whatever). I partitioned it (no need to set a bootable partition) and formatted the first partition as ext2 (though since u-Boot doesn't need to read this FS, it could really be any FS you want that the default armedslack kernel supports). I then mounted my new fs, cd'd to it, and rsync'd the armedslack-current tree to it with

rsync --exclude '*/source/*' --delete -Pavv ftp.armedslack.org::armedslack/armedslack-current .

Don't forget that last . at the end!

I plugged in my SD and my USB drive to the Sheeva, fired up my serial terminal, and powered on. I pressed any key to break into the u-Boot bootloader and ran the following commands. Please note that absolutely NO permanent changes are made to u-Boot at this point, so if anything goes wrong, you just powercycle and end up back at the stock Debian Linux install from the internal flash.

setenv arcNumber 2097
setenv mainlineLinux yes
setenv bootargs console=ttyS0,115200 nodhcp kbd=us root=/dev/ram rw
mmcinit
fatload mmc 0:1 0x01100000 /uinitrd-kirkwood-installer
fatload mmc 0:1 0x8000000 uImage-kirkwood
bootm 0x8000000 0x01100000

Once booted into the Slack installer, I simply ran 'setup', selected my target partition as /dev/sda1, then when prompted for a source I selected "pre-mounted" (note: I did NOT pre-mount it! The installer mounts it for you) and entered /mnt/armedslack-current/slackware. The install proceeded normally from this point and I typed 'reboot' when it was complete.

Again, I broke into u-Boot and this time I ran the following, slightly different, commands. Again, NO permanent changes are being made, so the Sheeva will still failsafe to the factory state if you powercycle.

setenv bootargs console=ttyS0,115200 kbd=us root=/dev/sda1 rw
setenv arcNumber 2097
setenv mainlineLinux yes
mmcinit
fatload mmc 0:1 0x01100000 /uinitrd-kirkwood
fatload mmc 0:1 0x8000000 uImage-kirkwood
bootm 0x8000000 0x01100000

Unbelievably, it worked on the first try (well, after an fsck and reboot). Linux boots from the SD, and by the time it gets around to mounting the rootfs off the USB drive, the USB drive is ready to go.

Once I confirmed that everything was working and I was happy with it, I rebooted again, broke into u-Boot again, and this time ran

setenv bootargs console=ttyS0,115200 kbd=us root=/dev/sda1 rw
setenv arcNumber 2097
setenv mainlineLinux yes
setenv bootcmd 'mmcinit; fatload mmc 0:1 0x01100000 /uinitrd-kirkwood; fatload mmc 0:1 0x8000000 uImage-kirkwood; bootm 0x8000000 0x01100000'
saveenv

The 'saveenv' makes these changes permanent, so only do it if you're ready to commit to Slackware. This done, issue a 'reset' or powercycle again and Slackware will get booted from now on.

The first thing that needs to be done to Slack is edit either the rc.ntpd script or rc.local to run 'ntpdate' to set the clock (because there is no RTC clock battery in the Sheeva). I used 0.us.pool.ntp.org, but you should pick an appropriate time server for your situation.

One thing I may consider doing at some point is flashing my kernel and initrd into the Sheeva's internal flash memory so I can remove the SD card. Not at all necessary though.

That's as far as I've gotten. I plan to use this as my MythTV 0.22 backend, so I will post again if/when I make progress on that front.
« Last Edit: June 23, 2010, 08:13:29 AM by tylernt » Logged

tylernt
Jr. Member
**

Karma: 2
Posts: 56


View Profile
« Reply #1 on: June 23, 2010, 08:31:45 AM »

Update: Turns out MythTV 0.23 was released, so I used that. Other than specifying armv5te for the ./configure script, everything worked normally just as if it was on an x86 box, so you really need no howto for Myth on Sheeva other than existing Myth documentation. Of course, you will need to install and run the vncserver (Xvnc) package to run mythtv-setup from a remote PC, but that's really the only hitch.

Performance: I use a SiliconDust HD HomeRun for my recordings. The Sheeva records HD content to a 2.5" USB drive just fine with 20% CPU utilization max, so it would probably even be able to handle a second HD tuner. I haven't gotten my MythTV frontend working yet, but copying a few gigs of data with Samba still doesn't push more than 20% CPU utilization so I don't forsee any problems there either, even while recording.

One thing the Sheeva falls short on is transcoding (and I presume commercial flagging) -- about 2fps compared to ~30fps on my old 1.4GHz Duron backend. So as long as you don't care about transcoding or commflagging (or have a slave backend you wake up to do these tasks), I think the Sheeva is the hot ticket for a low-end Myth backend.
Logged

marcus
Jr. Member
**

Karma: 5
Posts: 83


View Profile
« Reply #2 on: November 02, 2010, 11:55:13 AM »

These instructions worked fine for me:

http://mirrors.vbi.vt.edu/mirrors/linux/armedslack/armedslack-current/INSTALL_KIRKWOOD.TXT

I installed to SD card (the full installation occupies 4.8G in /, and 22M in /boot ). I used an eSATA plug, but don't have the eSATA drive recognised at the moment. First time I've used Slackware, so now that I've installed it, I'm not completely sure what to do with it. But those instructions are excellent, and like tylernt, I had success first time.
Logged

Pages: [1]
Print
Jump to: