GuruPlug Server Plus Thermal Issues – Design Modifications Set for June May 31, 2010
Posted by Paul Whalen in ARM, Koji.add a comment
In my previous blog post I talked about installing Fedora 12 on the micro-SD for use with the GuruPlug Server Plus. Unfortunately the plug reboots when connected to Gigabit Ethernet due to a known thermal issue. Some have come to creative solutions to prevent this, by voiding their warranty, opening up the plug and attaching a massive heat sink to it. Others have made some attempts through active cooling and attaching a fan.
I have opted to contact Globalscale and request a replacement. During previous contact with them I was told this was indeed a known thermal issue and Globalscale have revised their design and will be shipping the new and improved GuruPlug Server Plus in June. This bodes well for us as we have placed an order for 20 additional GuruPlug’s for the planned Koji Server Farm supporting ARM for Fedora, that order is planned to ship in June and include the new design.
In the meantime I have connected the GuruPlug to a fast Ethernet switch, which prevents the rebooting issue.
More information can be found in this forum.
Installing Fedora 12 on a Guruplug May 13, 2010
Posted by Paul Whalen in ARM.16 comments
The first GuruPlug arrived recently for our planned ARM Koji farrm for the Fedora Project. The plug ships with Debian, so the first step was to install Fedora 12. With 512 MB NAND we decided to install the Fedora root file system provided here onto a 4 GB class 6 micro SD card. Initially we are going to use the Kernel provided on the GuruPlug and then upgrade at a later date. This will also leave the Debian file system in place in case it is needed later. The micro SD card was previously used in our OpenRD client and therefore has some existing partitioning which I left, so if you plan on following this as a guide make sure you substitute the major and minor device numbers so that your Uboot commands work for your partitioning.
First untar the provided rootfs tarball onto the SD card (pls change mount point of the SD card to match yours):
** The SD card should be formatted as an ext2/3 filesystem, and below commands executed as root**
[root@newzealand ~]# tar -jxf rootfs-f12.tar.bz2
[root@newzealand ~]# cp -r rootfs-f12/* /media/flash/
Insert the micro SD into your GuruPlug, connect the JTAG breakout box (hopefully you have one) provided to the GuruPlug and connect the USB to another PC running Linux (hopefully Fedora!). You will need to have the package Minicom installed, if you do already please skip the first step:
[root@newzealand ~]# yum install minicom
[root@newzealand ~]# minicom -s
Running the last command as root will allow you to configure minicom to use the USB you have connected to the GuruPlug as a serial connection. Go to the option ‘Serial port setup’ and hit enter. Edit the fields as shown below, substituting the USB connection if needed to match yours.
| A - Serial Device : /dev/ttyUSB0
| B - Lockfile Location : /var/lock
| C - Callin Program :
| D - Callout Program :
| E - Bps/Par/Bits : 115200 8N1
| F - Hardware Flow Control : No
| G - Software Flow Control : No
Once completed run the following command to connect to the serial connection on the GuruPlug:
[root@newzealand ~]# minicom
Power on the GuruPlug and you should see the boot up sequence, allow it to boot to Debian so you can find out the major and minor device numbers for the micro SD card that has the Fedora rootfs on it. Run the following command when you have logged into Debian as root:
sheevaplug-debian:/dev# ls -l /dev/sd*
brw-rw---- 1 root floppy 8, 0 2009-08-08 09:30 /dev/sda
brw-rw---- 1 root floppy 8, 16 2009-08-08 09:30 /dev/sdb
brw-rw---- 1 root floppy 8, 17 2009-08-08 09:30 /dev/sdb1
brw-rw---- 1 root floppy 8, 18 2009-08-08 09:30 /dev/sdb2
This shows that the major and minor device numbers for ‘/dev/sdb2′ which I put the rootfs on, are 8 and 18 respectively. That number needs to be converted to hex, for entry in Uboot – 8,18 in decimal converts to 8,12 in Hex, for entry in Uboot this will be entered as ’0812′. Again, yours will be different, so be sure to substitute the correct values.
Reboot the GuruPlug and this time hit any key before the system boots into Debian. Once at the Marvell prompt type:
Marvell>> nand read.e 0x6400000 0x100000 0x400000
Marvell>> setenv bootargs console=ttyS0,115200 root=0812 rootdelay=10
Marvell>> bootm 0x6400000
This should boot the GuruPlug into Fedora 12, the default password for root is ‘fedoraarm’. I had some issues booting the plug initially as it was not recognizing the micro SD card and finding the rootfs, once I added the rootdelay of 10 this worked, however lesser numbers did not. You will also of course have issues if the major and minor numbers are incorrect, so please make sure this is correct and converted to Hex. If you are happy with the these settings and would like the GuruPlug to boot using the Fedora file system you will need to reboot, again hitting any key to get to the Marvell prompt, this time you will need to edit and remove existing boot parameters, below is the default output of the ‘printenv’ command:
Marvell>> printenv
bootcmd=setenv ethact egiga0; ${x_bootcmd_ethernet}; setenv ethact egiga1; ${x_;
bootdelay=3
baudrate=115200
x_bootcmd_ethernet=ping 192.168.2.1
x_bootcmd_usb=usb start
x_bootcmd_kernel=nand read.e 0x6400000 0x100000 0x400000
x_bootargs=console=ttyS0,115200
x_bootargs_root=ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs
ethact=egiga0
ethaddr=00:50:43:01:80:3C
eth1addr=00:50:43:01:80:3D
stdin=serial
stdout=serial
stderr=serial
To change the location of the rootfs, enter commands below, changing the values again to represent your configuration:
Marvell>> editenv x_bootargs_root
edit: ubi.mtd=2 root=0812 rootdelay=10
Marvell>> saveenv
Saving Environment to NAND...
Erasing Nand...
Erasing at 0x40000 -- 100% complete.
Writing to Nand... done
Marvell>> reset
Hopefully you see ‘Welcome to Fedora’ after the boot. If you would like to change the plug back to the default install of Debian, then you simply have to edit the boot parameters and change back to their original values, saving once completed.