Installing Ubuntu/Debian on Mini210s

Jago
Hello all!

I have been cycling through the forums for the last couple of days trying
to get a handle on how I go about installing Debian on a Mini210s. In
theory, I understand the process. I have gotten other boards to work-- but
I still to be having a hard time getting the Mini210s to flash the
filesystem to the NAND. 

I have done a modified version of the instructions at:
http://code.google.com/p/mini6410-debian/wiki/Tutorial

However, it seems like I fall into a couple situations:

1. The nand installation/flash fails while trying to install the root
filesystem image. The error message is: Installing yaffs2-image failed.
(when using the "mkyaffs2image-mlc2" method for creating the img file).

2. When I use the windows version of mkyaffs2, the image installs
successfully, but during boot the console reports that "/r/console" cannot
be found.

3. Just as a test... When trying to use the Android installations/files the
process will not even start. 


Has anyone gotten Ubuntu/Debian to install successfully? Could someone
share what methodology and files they used. I have read that some of the
Superboot files have been reported to not work so well, as well as some of
the kernels.

Thanks in advance

aingtea
i hope someone will share their emdebian BIN file, hehehehe 
but they just share the tutorial only :( and it's difficult to do

Jago
Yeah. I was thinking that maybe I should try something with u-boot. I had
sort of the same issue with BeagleBoard. I am hoping if I can't get any
help than maybe I can try a similar method.

Reggie
the /r/ stuff is because of something goofy in the cpio image that the
kernel uses.  I can't tell you what it is that's gone wrong in it but if
you want to get rid, just untick the initrd/initramfs options in the kernel
config.

As for ubuntu/debian on nand, if the image file is bigger than 2GB then
superboot *cannot* physically burn it.  It's incapable of addressing files
> 2GB.


From memory the debian should install ok but the ubuntu image specifically
has instructions to tell you to run it from an SD card.

Jago
@Reggie: Thanks man for your input!

I had a feeling something was wrong with the Superboot burn.

Is there anyway I can fix the error/panic via the kernel command in the
FriendlyArm.ini? I was trying to get around recompiling the kernel over
again.

Have you ever tried installing the filesystem directly to the SD card and
using something like GRUB (which would be loaded into the nand) to call the
SD card files?

I know the FriendlyArm.ini has a "run" parameter. Maybe the same can be
done without using another bootloader?

Thanks guys.

Reggie
yes, I've done it with the run parameter, you just need to set it up
properly in the commandline string

Jago
@Reggie

I passed the parameters to disable the initial ramdisk via the command
line-- but I am still getting the kernel panic. 

When I try with both "/dev/mtdblock4" (which is used by android and qtopia)
and "/dev/mmcblk0p2" which is default in the Ubuntu FriendlyARM.ini file on
the FTP server)

I have done both using the YAFFS2 root filesystem.

Reggie
why are you using the yaffs2 filesystem on the SD card?  If you set it up
to use /dev/mmcblk0p2 then you should format a 2nd partition on the sd card
to ext3 or 4 I think and as root, from a commandline unpack the ubuntu
rootfs to the 2nd partition on the sd card, you may need to use a switch
when using tar to strip out the first directory in the path (easy way to
find out, unpack it, check the sd card, if it looks like a linux folder
layout, it's fine, if it's a single folder then you need to use the
function to strip the leading folder name from the extracted path.

You ALSO need to disable the initrd stuff in the kernel source code via
menuconfig and recompile the kernel.

As for debian, you just need a >2GB sd card and use dd to copy the image to
the sd card device.

This is a direct translation for the instructions for debian:

Linux Host
RAW Image writing before the first SD card into the reader ready, and then
determine their equipment, device name is assumed to have been identified
/dev/sdc, then You can perform the following steps: 
1) Umount: Because it is written to the SD card directly to the image, so
all of the SD card partition unmount:

umount /dev/sdc*

If the PC environment is Ubuntu, then the command is sudo umount /dev/sdc*

2) Use the dd command to write Image:

bzcat Debian-Mini210S-2g-20130221.raw.bz2 | dd bs=4096 of=/dev/sdc

If the PC environment is Ubuntu, then the command is:
 bzcat Debian-Mini210S-2g-20130221.raw.bz2 | sudo dd bs=4096 of=/dev/sdc 
 
 If it is 4G or above capacity card, use the File
Debian-Mini210S-4g-20130221.raw.bz2. This process can take some time,
please be patient.

Windows Host Proceed as follows:
1) unzip bz2 files, you can use 7-Zip, WinRAR and other tools to complete
According to the size of the SD card select the appropriate compressed RAW
Image files, such as Debian-Mini210S-2g-20130221.raw.bz2, After extracting
the file named Debian-Mini210S-2g-20130221.raw. As Win32DiskImager only
recognizes the extension. Img files, so please modify after extracting the
file extension. Img. Note: After extracting the file reaches 2G/4G, so make
sure enough disk space.

2) Use Win32DiskImager Write Image Run Win32DiskImager.exe, select Image
File, select the SD card corresponding Device, points Write began to write
Image SD card.

Jago
Thanks Reggie!

I looked in my manual and did not see ANY references to Debian. I recently
was told that an updated version of the Debian installation/kernel stuff
was uploaded to andahammer.com -- It looks solid. I spent a lot of time
trying to get Debian to work based off of the old Ubuntu files on the ftp
server. 

I read a similar breakdown for one of the other boards which essentially
used the FriendlyArm utility to create/fuse Superboot. Then it suggested to
create an additional partition ext3 partition and to extract the filesystem
created using rootstock. Then to call the init via the kernel boot
commandline.

Either way... Thanks for your help!

Reggie
The debian stuff isn't in the manual, it's a newer thing :-)

As for ubuntu/debian/any distro, essentially, if you can boot a kernel,
then you can have the rootfs wherever you like, however, the biggest issue
is getting a rootfs onto nand.  Things like the qt-linux, windows CE or
android images are easy enough because the rootfs.img files are less than
2GB in size.

However, the ubuntu image is > 2GB (only just but enough), superboot cannot
burn image files >2GB so the only way to boot anything with a rootfs >2GB
is either via an sd card or NFS.  It's just a question of setting up the
correct commandline to make it boot.

I have had an idea how it might be possible to get ubuntu onto nand though,
it involves setting up ubuntu or debian on an SD card first (an 8GB one
would do it!) and then installing the appropriate nand utils (mtd-utils)
and then flashing the image that way, although it all depends whether the
linux driver can address > 2GB files or not.  It would also require
creating your own slc/mlc rootfs img file.