• Home
  • Help
  • Search
  • Login
  • Register
  Show Posts
Pages: 1 [2] 3 4
16  General Category / General Discussion / Re: New QT based installer: Easy Plug Computer Installer (EPIA) on: August 06, 2010, 08:20:11 AM
Wanting to further explore installations to nand, I decided to try the latest sheeva-with-linux kernal, and so created a new directory on my ESIA usb drive, "26342".  From the Debian_squeeze directory, I copied to it root.tar.gz as my basic root filesystem and MANIFEST.cfg as a sample.  I then got files from sheeva-with-linux.
Code:
wget http://sheeva.with-linux.com/sheeva/2.6.34.2/sheeva-2.6.34.2-uImage
wget http://sheeva.with-linux.com/sheeva/2.6.34.2/sheeva-2.6.34.2-uImage.md5
wget http://sheeva.with-linux.com/sheeva/2.6.34.2/sheeva-2.6.34.2-Modules.tar.gz
wget http://sheeva.with-linux.com/sheeva/2.6.34.2/sheeva-2.6.34.2-Modules.tar.gz.md5
I modified MANIFEST.cfg to reflect the proper filenames and md5 numbers.
Code:
Application=26342
Summary =  sheeva-with-linux + Squeeze root ARM5 SheevaPlug Distribution
Description = This application consists of a Sheeva-with-linux kernel 2.6.34.2, & modules Debian Squeeze root file system (password: nosoup4u) and kernel modules from: http://sheeva.with-linux.com/sheeva/

rootfs.tar.gz = root.tar.gz
rootfs.tar.gz_checksum = 1C1A54095C8DF36627651D75A3FB0A04
uImage = uImage
uImage_checksum = cd49b2df58568e2104da0407a6a81017
modules.tar.gz = sheeva-2.6.34.2-Modules.tar.gz
modules.tar.gz_checksum = de10ee990b5698a2346fa15e42e95a5d
I then ran the ESIA/EPIA installer.  Unfortunately, it died at 85% done, but I was hopeful that this was far enough along so that I could just add the uImage, so I did the following (I would have needed to do it anyway since I have a bad block in the uImage area which ESIA would have tried to overwrite):
Code:
usb start
fatls usb 0 /26342
fatload usb 0 0x800000 /26342/sheeva-2.6.34.2-uImage
nand erase clean 0x00100000 0x00400000
nand write.e 0x800000 0x100000 0x300000
boot
This booted into a 2.6.34.2 debian system.  I haven't played with it enough to confirm that it is stable and that nothing was omitted, but this appears to be a way to get the sheeva-with-linux kernels loaded and a ubifs file system.  I updated password, timezone, /etc/hosts, and /etc/network/interfaces, and rebooted, and all appears to work.
17  General Category / General Discussion / Re: New QT based installer: Easy Plug Computer Installer (EPIA) on: August 06, 2010, 05:15:05 AM
rooster--can you outline the general procedure by which ESIA/EPIA performs its functions in writing to nand?

For instance, the provided Debian_squeeze directory has a uImage file, a modules.tar.gz, and a root.tar.gz.  The uImage gets flashed to the area, 0x100000.  How do the two .gz files get processed to produce an initrd and the contents which are flashed to 0x500000?

As set by bootargs_root, the rootfs is a ubifs--how does that get created?
18  Hardware and U-Boot firmware / U-Boot stuff / Questions regarding nand and u-boot partitions on: August 05, 2010, 07:49:39 PM
By default on the Sheevaplug, in Nand address 0-0xfffff contains u-boot, 0x100000-0x4fffff contains the kernel, and 0x500000 through the end of memory contains the file system.

In some setups, within linux, mtd0 is the u-boot partition, mtd1 is the kernel, and mtd2 is the file system.  In others, mtd0 is the kernel and mtd1 is the file system, and u-boot is not accessible to linux.

My question is this: is this availability of mtd? within linux totally a result of the u-boot argument "mtdparts" within the bootargs environmental variable, for example, mtdparts=orion_nand:0x400000@0x100000(uImage),0x1fb00000@0x500000(rootfs)?  So that this example would give mtd0 as 'uImage' and mtd1 as 'rootfs'?

Many kernel sizes are less than 0x400000--is there any reason not to start the file system at 0x400000 instea of 0x500000?
19  General Category / General Discussion / Re: New QT based installer: Easy Plug Computer Installer (EPIA) on: August 04, 2010, 01:32:49 PM
Ok, I figured out how to get around this problem of a bad block in the uImage nand partition area.  Not too hard, except when you don't know anything.  The solution is given in the thread I originally started: http://plugcomputer.org/plugforum/index.php?topic=2056.0
20  Hardware and U-Boot firmware / U-Boot stuff / Re: Bad block in nand uImage after ESIA/EPIA installation on: August 04, 2010, 01:28:30 PM
Ok, after a week of reading and doing other stuff and installing debian lenny and squeeze to usb and sd, I finally thought I might know enough to come back and get this to work.

I reran the ESIA/EPIA installer for the Ubuntu 9.04 version, and it reported success, but failed again on rebooting as expected with the error for the bad block at 0x02a0000.  But this left everything set up for correct booting, including the environmental variables.  I loaded the uImage file to memory from the usb drive, erased the uImage nand partition, wrote the file from memory with 'nand write.e" to take into account the bad block, and then booted successfully.  I used the following commands.

usb start
fatload usb 0 0x800000 /Ubuntu904/uImage
nand erase clean 0x00100000 0x00400000
nand write.e 0x800000 0x100000 0x300000
boot

The 'nand erase clean' was necessary.  From the Ubuntu prompt, 'reboot' returns to Ubuntu, booting from nand flash.  The bad block is noted, but skipped.
21  General Category / General Discussion / Re: install Sqlite3 on: July 30, 2010, 06:18:15 PM
On a debian squeeze Sheevaplug, "aptitude install sqlite3" works.
22  General Category / General Discussion / Re: Webcam-server on: July 30, 2010, 05:59:47 PM
popon--sorry, I didn't notice your post.  I had already done build-essential.  I had to add the lenny backports repository to get past that problem, but encountered another.  The maintainer said that the second problem was a bug.  He has fixed it, and a new svn download (version 99 or higher) compiles and runs fine.
23  Hardware and U-Boot firmware / U-Boot stuff / A wish to flash openWrt to nand on: July 29, 2010, 11:22:14 AM
I posted a question about how to get openWrt installed to flash under the "Linux distribution" here -- http://plugcomputer.org/plugforum/index.php?topic=2060.0 -- but it may turn out to be really a u-Boot question, so I'm continuing here.

I think I made a bit of progress by setting the files openwrt-kirkwood-uImage and openwrt-kirkwood-rootfs.tar.gz to run with the ESIA/EPIA installer.  This appears to have installed ok as far as the uImage goes (iminfo reports a good image), and my other problem with a bad block at 0x2a0000 is avoided because this uImage is less than one meg. 

But it appears that ESIA/EPIA makes a ubifs with the rootfs file, and openWrt doesn't support ubifs.  Is there a way to flash a rootfs as a jffs2 nand image?  openWrt would understand that.

I'm open to any other suggestions about how to get openWrt installed to nand (tho I'd prefer a u-Boot command solution, so I would understand what is happening).
24  General Category / General Discussion / Re: New QT based installer: Easy Plug Computer Installer (EPIA) on: July 29, 2010, 04:09:09 AM
@birdman--This was the installer I used, first installing squeeze to nand and then ubuntu904.  In both cases the program reported successful installation, but on booting, got the error at 0x2a0000, which is reported as a known bad block by "nand bad".  So is the installer not avoiding bad blocks by using "nand write.e" or the equivalent?  How would I flash so that the device would boot?
25  Linux Stuff / Linux distributions / openWrt snapshot working on SD; now how do I flash it to NAND? on: July 28, 2010, 06:06:34 PM
I got a current snapshot of openWrt working on the Sheevaplug on an SD card (see http://plugcomputer.org/plugforum/index.php?topic=2057).  Now I'd like to be able to flash it to nand. 

One aspect I don't understand is how to get the root file system contained in the file, openwrt-kirkwood-rootfs.tar.gz into a form which may be flashed into the nand?

There also appears to be some magic in the naming of mtd partions as rootfs and rootfs_data, as used in this HOWTO for the dockstar:  https://forum.openwrt.org/viewtopic.php?id=25603

Finally, is there a good general explanation of the use of uBoot on the Sheevaplug with respect to NAND and RAM.  There seem to be certain magic values for addresses, but it's hard to tell whether they are required or conventional.
26  General Category / General Discussion / Re: New QT based installer: Easy Plug Computer Installer (EPIA) on: July 28, 2010, 04:48:31 PM
I have used the ESIA/EPIA installer to try to install two of the distributions in the distro folder to nand (squeeze and ubuntu), and the program reports successful completion, but for both when I try to boot, I get a NAND read "Bad block at 0x2a0000" error message, which causes a bad checksum and failure to boot.  This is on an original Sheevaplug.

Here is the message: 
---------------------------------
...
Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x100000, size 0x400000

Bad block at 0x2a0000 in erase block from 0x2a0000 will be skipped
Reading data from 0x51f800 -- 100% complete.
4194304 bytes read: OK
## Booting image at 00800000 ...
   Image Name:   Linux-2.6.33
   Created:      2010-03-02  21:27:23 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2840500 Bytes =  2.7 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... Bad Data CRC
Marvell>>
-----------------

The command, "nand bad" reports 0x2a0000 as a bad block.  Is it possible that the installer is writing to it anyway, and not using the write.e command which skips bad blocks?

Is there a work-around?
27  Hardware and U-Boot firmware / U-Boot stuff / Re: Bad block in nand uImage after ESIA/EPIA installation on: July 28, 2010, 04:43:58 PM
I suspect you are right that ESIA/EPIA does not use "write.e".  The command, "nand bad" indeed shows 0x2a0000 as bad.  The installer produces a log file of the uBoot commands it uses, but does not include any "write" commands.  So I would guess that the actual write commands are within the instImg file on the usb drive which the installer uses. 

I had thought this was not an installer issue, since it reported a successful installation, but it may be.  I'll report it in the installer thread.  But if anyone has any other ideas, I'ld like to hear.
28  Linux Stuff / Linux distributions / Re: HOWTO: Install stock openWrt snapshot onto SD for Sheevaplug on: July 28, 2010, 02:34:44 PM
OpenWrt gives you a very minimal system.  I add the packages I want by doing the following:

opkg update
opkg install usbutils e2fsprogs cfdisk fdisk
opkg install kmod-usb-core kmod-usb-storage kmod-usb2 kmod-fs-vfat kmod-nls-cp437 kmod-nls-iso8859-1
opkg install kmod-video-core kmod-video-uvc kmod-video-pwc
opkg install ssmtp microcom luci-admin-full openssh-sftp-server empty picocom coreutils-stty wget nano
opkg install mjpg-streamer ffmpeg motion streamripper ushare
opkg install kmod-usb-audio madplay mpd alsa-utils
opkg install kmod-usb-serial kmod-usb-serial-pl2303 kmod-usb-serial-ftdi
opkg install sqlite3-cli luafilesystem luasocket luasql-sqlite3

These packages bring you up to 5% utilization of a 512MB SD card.  They give you usb storage for ext2, ext3 (built-in) and fat, usb video for a webcam, usb audio, usb serial, and some other stuff. 

See http://downloads.openwrt.org/snapshots/trunk/kirkwood/packages/ for the hundreds of packages available.  You can also use the openWrt build system to make a custom image, but with a full set of packages, that may not be necessary.  The Sheevaplug obviates the need for the compressed storage available with a custom build.
29  Linux Stuff / Linux distributions / HOWTO: Install stock openWrt snapshot onto SD for Sheevaplug on: July 28, 2010, 02:28:19 PM
This describes how to download snapshots from the openWrt repository and load them onto an SD/mmc card, and then to boot from the SD.  You need a serial console to do this, and not to have a network cable plugged in.

First download the uImage file and the root file system from here:

http://downloads.openwrt.org/snapshots/trunk/kirkwood/openwrt-kirkwood-uImage
http://downloads.openwrt.org/snapshots/trunk/kirkwood/openwrt-kirkwood-rootfs.tar.gz

(For openWrt info, see www.openWrt.org)

Next partition and format an SD card.  I am using a 512mb card, and am making a single partition.  From a linux command line, do this (assuming /dev/sdb--note: if you get this wrong, you could break your system--really).

fdisk -l
fdisk /dev/sdb
p [check that you have the device you think you have]
[if you must delete existing partitions, use the "d" command until none remain]
n
p
1
1
<enter> [to select through the last cylinder]
t
83
p [Check that your selections are rational.  Do not make this bootable.]
w
umount /dev/sdb1
mkfs.ext2 /dev/sdb1
[next mount the device, perhaps on a directory named "/usb"]
mount /dev/sdb1 /usb
[copy the two openWrt files to the SD device]
[untar the file system]
cd /usb
tar xvpfz kirkwood/openwrt-kirkwood-rootfs.tar.gz -C /usb

Now get to the Marvell uboot prompt on the Sheevaplug (you may need uboot version 3.4.19 (at least) to do this--see http://www.cyrius.com/debian/kirkwood/sheevaplug/install.html -- Upgrading U-Boot).  Enter the following commands to set up the environment and to copy the uImage file to RAM for booting.

setenv mainlineLinux yes; setenv arcNumber 2097;
setenv bootargs_console console=ttyS0,115200
setenv bootmmc3_root 'root=/dev/mmcblk0p1 rootdelay=10'
setenv bootcmd_mmc3 'mmcinit; ext2load mmc 0:1 0x00800000 /openwrt-kirkwood-uImage'
setenv bootmmc3 'setenv bootargs $(bootargs_console) $(bootmmc3_root); saveenv; run bootcmd_mmc3; bootm 0x00800000'
saveenv
run bootmmc3

(Note:  I use "mmc3" because I have two other mmc boot routines.  Once this tests out, you can set it to always boot to the SD by running "setenv bootcmd 'run bootmmc3'; saveenv".)

Your system should boot.  Hit <enter> to get a propmt.  OpenWrt assumes that it is running on a router, so there are several things you need to do to get it connected to your network.

/etc/init.d/dnsmasq disable [this turns off the dns server]
passwd [set your password so you can ssh in--telnet is enabled until this is done]
vi /etc/config/network [set the static ip address to something convenient, like 192.168.1.70, and set your gateway and dns IPs, e.g., "option gateway 192.168.1.1" and "option dns 192.168.1.1".]
vi /etc/config/system [to set a device name, if you like]
reboot

At this point, if you get the Marvell>> prompt, again enter "run bootmmc3" or set the bootcmd variable as above and enter "boot".
You should be able to ssh in to the IP address you set, using the password you set.
30  Hardware and U-Boot firmware / U-Boot stuff / Bad block in nand uImage after ESIA/EPIA installation on: July 28, 2010, 11:34:58 AM
I have used the ESIA/EPIA installer to try to install two of the distributions in the distro folder to nand (squeeze and ubuntu), and the program reports successful completion, but for both when I try to boot, I get a NAND read "Bad block at 0x2a0000" error message, which causes a bad checksum and failure to boot.  This is on an original Sheevaplug.

Here is the message: 
---------------------------------
...
Hit any key to stop autoboot:  0

NAND read: device 0 offset 0x100000, size 0x400000

Bad block at 0x2a0000 in erase block from 0x2a0000 will be skipped
Reading data from 0x51f800 -- 100% complete.
4194304 bytes read: OK
## Booting image at 00800000 ...
   Image Name:   Linux-2.6.33
   Created:      2010-03-02  21:27:23 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2840500 Bytes =  2.7 MB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... Bad Data CRC
Marvell>>
-----------------------------
This seems different from the other "Bad Block" threads I have looked at.  Is there something I can do to have this block marked bad, so the installer doesn't use it, or can I install to and boot from a different location from 0x100000?

Pages: 1 [2] 3 4