Boot from SD card doesn't work


I actually contacted Dave1234 about that, and he said he no longer has time to do any pandora work and gave me admin rights for SD installer. If anyone could test this version (I'm out of spare SD cards), I could upload it to the repo:
Great job, thanks! It works and makes a bootable SD out of the box with 1.52.

However, I had two issues:

- It only put the 3.2 kernel on the boot partition

- the boot partition was only 16MB though I believe I specified 4Gb

When I tried to correct that with gparted, it failed and everything blew up, so I'll repeat the procedure soon.

So this is preliminary. I might have more info after the next try. But maybe you already have an explanation or I made an obvious blunder...
 
Great job, thanks! It works and makes a bootable SD out of the box with 1.52.

However, I had two issues:

- It only put the 3.2 kernel on the boot partition

- the boot partition was only 16MB though I believe I specified 4Gb
Neither kernel should be in the BOOT partition anymore, the configuration changed, both kernels should be in ROOT/boot. If it still put one of the kernels in the BOOT partition that must be a bit of the previous installer operation still kicking in? Any kernel in the BOOT partition should be redundant. If you hold the right trigger when booting and choose 'boot from sd1' does it work, booting without splashscreen?

Take a look in the 'boot' folder in the ROOT partition to double check the two kernels are present.

Can't shed light on any partition size problems, I'm going to have to find a card to test new version of the installer on myself. You specified 4000+mb?
 
Last edited by a moderator:
Hm. I used the installer dated 14.01.2013 from the repository.

It *did* create a VFAT BOOT partition (4Gb this time, and it worked this time. I don't know what the hell I did the first time, my guess: leaving the proposed 4 Mb and maybe getting 16 instead), and it uses the autoboot.txt there (which was functional right from the start, a change you achieved afaik)

I'm rather convinced it does boot the kernel from the BOOT partition, like the autoboot.txt does specify:

There is no directory /boot or /media/ROOT/boot, so no other kernel.

(It's definitely the os from the SD card; I have different user and machine names there.)

There is only the kernel uImage in BOOT, which seems to be a 3.2.30

Maybe the SD installer script branches on the layout (I used 4Gb BOOT, 512 swap, rest for root) and I got parts of the old routine?

Actually I don't mind having the kernels on BOOT. That's afaik the only way to have root on ext4.
 
Bumped for Notaz's attention.<br /><br />If the OP Gandi is looking, is your card set up as it should be with no kernel in BOOT partition, and both in ROOT/boot ?<br /><br />Mysterious.
 
If you use ext2 you can get away without a boot partition, u-boot can then read the rootfs by itself.

It's also possible to boot kernel from NAND, but mount fs from SD, so no need for boot partition in that case too.

For any other fs you probably need one. Some people report that just having ext4 on SD makes it unbootable though.
 
Bumped for Notaz's attention.<br /><br />If the OP Gandi is looking, is your card set up as it should be with no kernel in BOOT partition, and both in ROOT/boot ?<br /><br />Mysterious.
I believe the kernel is in the BOOT partition.

I'll check this evening when I get home...
 
Bumped for Notaz's attention.<br /><br />If the OP Gandi is looking, is your card set up as it should be with no kernel in BOOT partition, and both in ROOT/boot ?<br /><br />Mysterious.
 I believe the kernel is in the BOOT partition.

I'll check this evening when I get home...
Oddness, there should be two, in ROOT partition, 'boot' folder. If there are, I'm guessing the one in BOOT is just a bit of old code kicking about in the installer, and if you confirm that the two are in ROOT/boot/ and that the autoboot and boot.txt files are correct (you can replace them with the ones in my previous post if not) you can do away with the one that's in the BOOT partition.

If there is one in BOOT, when you report back let us know what it's named.
 
this is my autoboot.txt:


setenv bootargs root=/dev/mmcblk0p3 rw rootwait vram=6272K omapfb.vram=0:3000K mmc_core.removable=0
fatload mmc 0:1 0x80300000 uImage
bootm 0x80300000


this is the boot.txt:


setenv bootargs root=/dev/mmcblk0p3 rw rootwait vram=6272K omapfb.vram=0:3000K mmc_core.removable=0 psplash=false
fatload mmc 0:1 0x80300000 uImage
bootm 0x80300000


the BOOT partiton looks like this:


-rwxrwxrwx 1 root root     152 Jan 14 21:22 autoboot.txt
-rwxrwxrwx 1 root root     166 Jan 14 21:22 boot.txt
drwxrwxrwx 6 root root   16384 Jan 14 21:22 pandora
-rwxrwxrwx 1 root root 2622984 Jan 14 21:22 uImage

there is no boot folder in the ROOT partition!

the ROOT partition looks like this:


drwxr-xr-x  2 root root  4096 Jan 14 22:26 bin
drwxr-xr-x  2 root root  4096 Oct 16 05:33 dev
drwxr-xr-x 54 root root  4096 Jan 14 22:40 etc
drwxr-xr-x  4 root root  4096 Jan 14 22:39 home
drwxr-xr-x  5 1019 1014  4096 Jan 14 22:26 lib
lrwxrwxrwx  1 root root    12 Jan 14 21:22 linuxrc -> /bin/busybox
drwx------  2 root root 16384 Jan 14 21:14 lost+found
drwxr-xr-x  7 root root  4096 Jan 14 22:43 media
drwxr-xr-x  3 root root  4096 Nov 30 02:16 mnt
drwxr-xr-x  2 root root  4096 Oct 16 05:33 proc
drwxr-xr-x  2 root root  4096 Jan 14 22:26 sbin
drwxr-xr-x  2 root root  4096 Oct 16 05:33 sys
lrwxrwxrwx  1 root root     8 Jan 14 22:23 tmp -> /var/tmp
drwxr-xr-x 12 root root  4096 Oct 15 13:20 usr
drwxr-xr-x  8 root root  4096 Jan 14 22:26 var

So it looks like the kernel named uImage is the only kernel on the card, right?
 
Hmm. In order for it to offer the same functionality as a Nand install, there should be two kernels, and if correctly located (what Notaz was fixing) they should be in ROOT/boot - and the current kernel should be called 'uImage-3' , the older optional kernel should be 'uImage-2.6.27.57-omap1' - if you look at the autoboot.txt and boot.txt I posted on the previous page you'll see them referenced as such there - boot.txt being the one that goes with the older kernel.

I see both your autoboot and boot files appear to be directing it to load the same kernel from the BOOT (FAT) partition, so it isn't quite fixed as thought then, unless this was intentional?

Here's my autoboot (for the new kernel)

setenv bootargs debug root=/dev/mmcblk0p3 rw rootdelay=2 vram=6272K omapfb.vram=0:3000K mmc_core.removable=0
ext2load mmc 0:3 0x80300000 /boot/uImage-3
bootm 0x80300000
Note it directs it to the ext2 ROOT partition (The SD installer formatted and partitioned the card) locating the uImage-3 kernel in the boot folder (which I had to make).

Then my boot.txt, to optionally load the older kernel:

setenv bootargs debug root=/dev/mmcblk0p3 rw rootdelay=2 vram=6272K omapfb.vram=0:3000K psplash=false mmc_core.removable=0
ext2load mmc 0:3 0x80300000 /boot/uImage-2.6.27.57-omap1

bootm 0x80300000
Same, but identifying the older kernel instead, same location.

IIRC the location of the kernels was changed to ROOT/boot because of a risk of corruption in BOOT partition, so it probably isn't critical that they are located where I have put mine, but maybe more desirable.

When the older version of SD Installer was not complying with the Super-Zaxxon firmware images setup, it would drop a 'uImage' named kernel (not 3.2 when I used it) into BOOT partition as you describe (but no other/older kernel anywhere) - so it seems as if it's really still doing this? Are you sure it's actually the 3.2 kernel (you can extract it from the firmware image and compare/replace if you need to).

I have to buy another card to test this myself, but unless you only want the new kernel option, the fix I described previously I guess still stands.
 
Last edited by a moderator:
I'm very sure it's te new kernel.

I downloaded the letest Image from pandora-rootfs.tar-bz2 from http://openpandora.org/firmware/ and when booting it says "Kernel 3.2" on the splash screen.

Looks like the installer just doesn't work as proposed in your previous posts.

Maybe I'll try to change it manually - though for me the card does everything I want her to do just as it is ;) .

Can I simply replace ext2load with ext3load when trying to do so - since the installer created an ext3 partition for ROOT?
 
I'm very sure it's te new kernel.

I downloaded the letest Image from pandora-rootfs.tar-bz2 from http://openpandora.org/firmware/ and when booting it says "Kernel 3.2" on the splash screen.

Looks like the installer just doesn't work as proposed in your previous posts.

Maybe I'll try to change it manually - though for me the card does everything I want her to do just as it is ;) .
Just for comparison reference, my uImage-3 kernel (definitely 3.2!) properties: 2.5 MB (2622984 Bytes)

Can I simply replace ext2load with ext3load when trying to do so - since the installer created an ext3 partition for ROOT?
Over to Notaz for that one, the current SD installer seems to behave differently in several respects.

BTW, there's no feedback or thread specifically on it (AFAIK) yet but Linux-SWAT posted a new tool to install several choices of OS to SD card (including Super Zaxxon) on the repo:

http://repo.openpandora.org/?page=detail&app=sl4p_pack-0.6
 
Last edited by a moderator:
It's definitly the same file size, Asmo (see my previous posting with the directory listing).

BTW - your "repo" link leads us back to this thread ;) !

This one looks better :p ...
 
Re: my bad link to Repo for SL4P SD Installer, yes there's something wrong with the forum at the moment!

When I edit any of my posts, any URL in them gets changed to include a spurious link to this board instead of the link I inserted!

EDIT:

Ah, it doesn't like URL tags any more, if you use them it inserts a link back to this thread!
 
Last edited by a moderator:
I gave the SL4P SD Installer a try to install SuperZaxxon today but it didn't reall work out of the box :( .

Autoboot.txt looked like this:


setenv bootargs root=/dev/mmcblk0p1 rw rootwait vram=6272K omapfb.vram=0:3000K mmc_core.removable=0
ext2load mmc 0 0x80300000 /boot/uImage
bootm 0x80300000

Boot.txt looked like this:


setenv bootargs debug root=/dev/mmcblk0p3 rw rootdelay=2 vram=6272K omapfb.vram=0:3000K psplash=false mmc_core.removable=0
fatload mmc 0:1 0x80300000 uImage
bootm 0x80300000

Both of them didn't seem to work:
Without pressing the right trigger the Pandora booted from NAND.

With pressing it the screen just got black again.

the uImage in BOOT seems to be an old/wrong one since it is only 2.002.944 Bytes large (see below)

there is a BOOT folder in the ROOT partition that seems to contain the correct files (both kernels).

The BOOT partition contaions quite many subfolders (differently from the install via Daves/Notaz's "SD Installer":


13.01.2013  16:18         2.002.336 uImage
26.01.2013  12:25               156 autoboot.txt
13.01.2013  16:18               175 boot.txt
13.01.2013  16:18    <DIR>          pandora
16.01.2013  00:21       198.685.356 pandora-rootfs.tar.bz2
22.06.2012  12:43    <DIR>          lib
16.01.2013  00:18    <DIR>          usr
22.06.2012  12:42    <DIR>          boot
16.10.2012  03:33    <DIR>          sys
16.01.2013  00:18    <DIR>          media
16.10.2012  03:33    <DIR>          dev
16.01.2013  00:19    <DIR>          mnt
26.06.2010  15:55    <DIR>          var
16.10.2012  03:33    <DIR>          proc
16.01.2013  00:19    <DIR>          etc
16.01.2013  00:19    <DIR>          bin
16.10.2012  03:33    <DIR>          tmp
16.01.2013  00:19    <DIR>          sbin
16.01.2013  00:18    <DIR>          home
               4 Datei(en),    200.688.023 Bytes


I had to manually copy the boot folder to ROOT and change autoboot.txt to this to make it work:


setenv bootargs root=/dev/mmcblk0p3 rw rootwait vram=6272K omapfb.vram=0:3000K mmc_core.removable=0
ext2load mmc 0:3 0x80300000 /boot/uImage-3
bootm 0x80300000

Maybe the default autoboot.txt is supposed to work differently than I expected?

It was still booting from NAND but maybe it uses the filesystem on the card? (Please remember: I'm a Linux-noob!)?

I also didn't like about the SL4P installer that I had no possibility to choose the size of the partitions (except for swap).

(And it asked "Do you really want to proceed?" a little too often ;) )

So after all Dave/Notaz's updated installer worked better for me.

But maybee I'll just try to set up a card manually now... :huh:

I'm looking forward to try the CodeBlocks and Lazarus PND's :)
 
Last edited by a moderator:
So I managed to set up a SD card with Super Zaxxon manually now!

I created a vfat, a swap and a ext2 partition by using the command line - a good learning experience...

Question: Will the OS use the swap partition automatically or do I have to configure that somehow?
 
I gave the SL4P SD Installer a try to install SuperZaxxon today but it didn't reall work out of the box :( .
Oh. Pity, looks like it currently doesn't reference the correct Kernels, even though it seems to at least place them in the right location. Good that someone noted this, and presumably the autobbot/boot.txt files posted on the first page should fix a card created this way without the need to do anything else more technical.

I'm sure someone with SWAP experience will step in shortly, IIRC it just has to be enabled.
 
Last edited by a moderator:
To just enable any swap for the moment (before reboot) say (as root or prepend sudo) swapon /dev/<swap-device>

If you are running from SD and have swap on the same SD, I think it will work automatically if you add it to /etc/fstab - same as with any other linux out there.

Eg. example line:

/dev/<device> none swap defaults 0 0

Where <device> is your swap device (propably something like mmcblk0p3), fdisk -l will list your partitions for you.

I recommend not doing anything to the fstab on NAND. I recall bad things when adding swap to fstab while running from nand (like boot failure with nonexistent swap partition... but not sure).
 
Last edited by a moderator:
I never had feedback about my installer, so things may be broken in it as you currently tested it.

I don't plan to make size selectable, it's a very automatic tool "for noobs".

Also, i ask confirmation many times because the SD will be erased.
 
If you are running from SD and have swap on the same SD, I think it will work automatically if you add it to /etc/fstab - same as with any other linux out there.


Eg. example line:


/dev/<device> none swap defaults 0 0
Thanks! I followed your instruction and read a little about fstab on the way... (still got a lot to learn)

Checked with "swapon -s" after reboot and it seems to work.

I never had feedback about my installer, so things may be broken in it as you currently tested it.
Your installer nevertheless came in handy to me: It is helpfull to see how a bootable SD card should look like -.even if it doesn't work completely as expected.

(And I liked the "Hello" entry in the first menu - I immedeately selected it... :rolleyes: )

I think after some small corrections in boot.txt and autoboot.txt it should work just fine...
 
Back
Top