Tiny Core Base > TCB Talk

TCL, CF-to-ZIF & extlinux

(1/3) > >>

sm8ps:
Hello all!
My fruitless tries of installing Tinycore Linux have got me almost despairing! I have searched the internet up and down and always end up turning in circles. Any help or pointer to the right direction would be highly appreciated.
My rig is a bit non-standard in that it uses a CF-to-ZIF adapter which seemingly necessitates the usage of extlinux as only boot loader capable of handling such. (I explained this finding at length here
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/477430/comments/17 and
http://forum.ubuntuusers.de/topic/grub-bootet-nicht-von-cf-karte-acer-aspire-on/#post-2520362)
Installing TCL should be a breeze, I thought. That was long time ago, though, and I still cannot boot into TCL as of today. Here is a list of my partitions from cfdisk:

--- Code: ---sda1              Primäre     Linux ext3                [HOME]     2582.74
sda2              Primäre     Linux ext2                [TCL]           213.86
sda3              Primäre     Linux ext2                [TCL2]         345.47
sda5  Boot     Logische    Linux ext3                [ROOT]      7336.95
                     Logische    Freier Bereich                             3964.59
sda6              Logische    Linux Swap / Solaris                  1571.03

--- End code ---
Here is my extlinux.conf:

--- Code: ---prompt 1
TIMEOUT 20
DEFAULT ubuntu104

DISPLAY extlinux.txt

LABEL ubuntu104
  KERNEL /boot/vmlinuz-2.6.32-24-generic
  APPEND initrd=/boot/initrd.img-2.6.32-24-generic root=UUID=322df84a-2013-4da4-84de-8b2509cc2edc ro splash pciehp.pciehp_force=1 elavator=noop quiet splash enable_mtrr_cleanup --

LABEL ubuntu104R
  KERNEL /boot/vmlinuz-2.6.32-24-generic
  APPEND initrd=/boot/initrd.img-2.6.32-24-generic root=UUID=322df84a-2013-4da4-84de-8b2509cc2edc ro single splash --

LABEL tcl
COM32 chain.c32
APPEND hd0 2

--- End code ---
A couple of remarks to that: Ubuntu boots perfectly fine from sda5 which is referred to by UUID here.
You may wonder why I have extlinux chain load to partition sda2. Without that, my file system on sda5 gets mess up badly and needs to be checked when booting Ubuntu. (Needless to say that TCL does not boot from sda5 either. It crashes with the same kernel panic, cf. below)
Extlinux is configured the following way on sda2:

--- Code: ---prompt 1
TIMEOUT 20
DEFAULT tcl

LABEL tcl
  kernel /bzImage
  initrd /tinycore.gz
  APPEND ide_core.nodma=0.0 --

--- End code ---
This is the best I have been able to do but the booting ends in a kernel panic of which I have attached a screen shot. I had been worried about sda3 being mentioned but having the tinycore files located there or not does not make any difference. Ditto for the nodma-option being present or not. I have also filmed the full boot process but cannot recognize anything bad happening.

It seems to me as if the initial ram disk does not provide tinycore with the necessary tools for dealing with the CF-to-ZIF adapter set-up. Can anybody share some insight?

St. Mueller, Switzerland

tinypoodle:
Not that I'd really fully understand your setup, but looking at your screenie, something is obviously wrong.

The kernel seems to mount root on sda3, which appears to be an ext4 fs but gets mounted as ext2 fs(without journal)...

This does not resemble default TC behaviour.

If you want to persist on trying to boot with extlinux, I'd suggest you consult documentation of syslinux and possibly visit the #syslinux channel on irc.freenode.net

Otherwise you might consider alternative methods of booting.

curaga:
The initrd does not get loaded, your syntax in the later extlinux conf file isn't quite right.

Comparing to the above conf file, the initrd statement should be on the APPEND= line, not by itself.

tinypoodle:
I had totally overlooked that, in fact it should be

--- Code: ---APPEND initrd=tinycore.gz

--- End code ---

maro:
I've been trying to re-create the situation using QEMU and a (virtual) disk in which I've created two (primary) partitions:
--- Code: ---tc@box:~$ fdisk -l /dev/hda
Disk /dev/hda: 31 MB, 31457280 bytes
1 heads, 63 sectors/track, 975 cylinders
Units = cylinders of 63 * 512 = 32256 bytes

   Device Boot      Start         End      Blocks  Id System
/dev/hda1   *           2          64        1984+ 83 Linux
/dev/hda2              65         975       28696+ 83 Linux

--- End code ---
The first partition (in an attempt to be similar to 'sda5') has just EXTLINUX installed,

--- Code: ---tc@box:~$ mount /dev/hda1
tc@box:~$ ls -l /mnt/hda1
total 67
-rw-r--r--    1 root     root         19552 Jul 14 16:42 chain.c32
-rw-r--r--    1 root     root            78 Nov  4 07:53 extlinux.conf
-r--r--r--    1 root     root         32768 Nov  4 07:33 ldlinux.sys
drwx------    2 root     root         12288 Nov  4 07:32 lost+found/

--- End code ---
and the following 'extlinux.conf':
--- Code: ---tc@box:~$ cat /mnt/hda1/extlinux.conf
prompt 1
TIMEOUT 20
DEFAULT tcl
LABEL tcl
  COM32 chain.c32
  APPEND hd0 2

--- End code ---
The second one (in an attempt to be similar to 'sda2') contains EXTLINUX, the kernel and the inird

--- Code: ---tc@box:~$ mount /dev/hda2
tc@box:~$ ls -l /mnt/hda2
total 10503
-r--r--r--    1 root     root       2294848 May 13 01:43 bzImage
-rw-r--r--    1 root     root           129 Nov  4 08:06 extlinux.conf
-r--r--r--    1 root     root         32768 Nov  4 07:33 ldlinux.sys
drwx------    2 root     root         12288 Nov  4 07:32 lost+found/
-r--r--r--    1 root     root       8367526 Oct 12 14:15 tinycore.gz

--- End code ---
plus the following 'extlinux.conf':
--- Code: ---tc@box:~$ cat /mnt/hda2/extlinux.conf
prompt 1
TIMEOUT 20
DEFAULT tcl
LABEL tcl
  kernel /bzImage
  initrd /tinycore.gz
  APPEND ide_core.nodma=0.0 --

--- End code ---

My problem is that I can't find an issue: The first EXTLINUX starts (via 'chain.32') the second EXTLINUX which boots TC just fine. The fact that all goes well seems to disproof the theory that 'append initrd=tinycore.gz' should be used instead of 'initrd /tinycore.gz'

A couple of thoughts / questions:
(1) What version of EXTLINUX is installed on 'sda5' and 'sda2'? In my testing I was using v4.01 (from the TC 3.x repository).

(2) What is the purpose of 'sda2' vs. 'sda3'? I assume that 'sda2' holds EXTLINUX, the kernel and the inird, but what is meant to be on 'sda3'? I hope there are no duplicates to the files of 'sda2' as that might cloud the issue a bit.

(3) Has that system been booted successfully with TC from CD-ROM (or bootable USB pendrive)? It might be possible to isolate problems of the boot loader and / or the non-standard disk this way. Is it possible to mount all filesystems from the disk when the disk is not involved in booting TC?

(4) Is the initrd still the original one, or has it been remastered? Just before Curaga wrote reply #2 I discovered that one gets a fairly similar kernel panic when no initrd is present (eg. via qemu -kernel bzImage).

(5) Are you sure that the boot code is really 'ide_core.nodma' and not 'ide-core.nodma'? Looking at the kernel documentation (i.e. 'Documentation/kernel-parameters.txt') one gets the impression that it should be a hyphen and not an underscore. OTOH in a different file (i.e. 'Documentation/ide/ide.txt') the underscore is in use.

(6) Would it be possible to get a slightly larger screenshot? I guess if one would use boot code 'vga=ask' (and select something like 80x60) more lines before the kernel panic could be shown.

(7) I also don't agree that there is a confusion about the filesystem type of 'sda3'. TC uses a kernel build with the following options:
--- Code: ---# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT23=y

--- End code ---
AFAIK that means that the EXT-4 driver will take care of EXT2 (and EXT3) filesystems. I therefore believe that the 'mounted file system without journal' message indicates that an EXT2 filesystem was found.

Navigation

[0] Message Index

[#] Next page

Go to full version