Tiny Core Linux

Off-Topic => Off-Topic - Tiny Core Lounge => Topic started by: floppy on September 25, 2011, 04:10:20 PM

Title: (solved) Start ISOs via Grub -> extlinux -> Grub4DOS
Post by: floppy on September 25, 2011, 04:10:20 PM
hello,
on a quite new box, I wanted to try few distros with memdisk (I have no CD reader).
So, in the extlinux I included..

...
#
label archlinux 2011 08 19 core i686 iso
   menu label archlinux 2011 08 19 core i686 iso
   kernel /boot/diverse/memdisk
   append iso
   initrd /boot/diverse/archlinux-2011.08.19-core-i686.iso
#
#
label Crunchbang-10 openbox 686 iso
   menu label Crunchbang-10 openbox 686 iso
   kernel /boot/diverse/memdisk
   append iso
   initrd /boot/diverse/crunchbang-10-20110207-openbox-i686.iso
#
#
label Debian 6 iso
   menu label Debian 6 iso
   kernel /boot/diverse/memdisk
   append iso
   initrd /boot/diverse/debian-live-6.0.2-i386-lxde-desktop.iso
#
#
label finnix 102 iso
   menu label finnix 102 iso
   kernel /boot/diverse/memdisk
   append iso
   initrd /boot/diverse/finnix-102.iso
#
#
label Legacy OS 2 iso
   menu label Legacy OS 2 iso
   kernel /boot/diverse/memdisk
   append iso
   initrd /boot/diverse/Legacy-OS-2.iso
#
#
label LinuxMint 11 lxde iso
   menu label LinuxMint 11 lxde iso
   kernel /boot/diverse/memdisk
   append iso
   initrd /boot/diverse/linuxmint-11-lxde-cd-32bit.iso
#
#
label papug linux iso
   menu label papug linux iso
   kernel /boot/diverse/memdisk
   append iso
   initrd /boot/diverse/papuglinux-11.1a.iso
#
#
label slax 6.1.2 iso
   menu label slax 6.1.2 iso
   kernel /boot/diverse/memdisk
   append iso
   initrd /boot/diverse/slax-6.1.2.iso
#
#
label Vectorlinux iso
   menu label Vectorlinux iso
   kernel /boot/diverse/memdisk
   append iso
   initrd /boot/diverse/VL6.0-Light-LIVE-Final.iso
#

.. but NOTHING boots. Is is normal? or perhaps memdisk should have other parameters?
A bit disppointing: I was expecting memdisk would launch all those distros..
(TCL 3.8.4 is running on the box).
Title: Re: Linux ISOs and memdisk are compatible?
Post by: gerald_clark on September 25, 2011, 05:35:52 PM
Read some syslinux docs so you get the config file right.
http://pie.ucs.ed.ac.uk/pie-1.0/doc/SysLinux.html (http://pie.ucs.ed.ac.uk/pie-1.0/doc/SysLinux.html)
Title: Re: Linux ISOs and memdisk are compatible?
Post by: SvOlli on September 25, 2011, 06:46:02 PM
As far as I know, what you're trying can't be done. The "memdisk"-ISO only works when accessed via the BIOS. After the kernel starts, the memory will be released, and the initrds supplied with the kernels scan all available devices to see which one contains the "live"-part of the distro. It is very well seen when starting Knoppix. This live part has been dropped when starting the kernel. Tiny Core works, because it's just the kernel and initrd and no "live"-part. When you run a remaster with additional packages on the ISO, Tiny Core wouldn't find these either.

The distro you want to start needs to be made aware to look into ISOs by itself.

Greetings,
SvOlli
Title: Re: Linux ISOs and memdisk are compatible?
Post by: beerstein on October 01, 2011, 07:03:11 AM
hi floppy: could you please explain (in short) what memdisk is?
For what do you need that? Thank you for that
Title: Re: Linux ISOs and memdisk are compatible?
Post by: netnomad on October 01, 2011, 09:09:29 AM
i met memdisk in relation to little boot-programs, mostly packaged as *.gz,
to load a boot-manager, a harddisk-checker or a memory-tester.
i guess it's something like a boot-floppy-emulation, am i right?
please correct me, if i'm wrong.

f.e. in my syslinux.cfg, based on boot-manager-entries that you can find in pmagic:

LABEL hdt
MENU LABEL ^A. hardware detection tool
TEXT HELP
An interactive hardware analyzer by Erwan Velu.
ENDTEXT
  LINUX /boot/syslinux/memdisk
  APPEND initrd=/iso/hdt.gz

LABEL memtest_86
MENU LABEL ^B. memtest86+
TEXT HELP
Check system RAM for errors.
ENDTEXT
  LINUX /iso/memtest

LABEL supergrubdisk
MENU LABEL ^C. super grub  disk
TEXT HELP
Easily restore grub-legacy. Boot into many systems. Fix Windows MBR.
ENDTEXT
  LINUX /boot/syslinux/memdisk
  APPEND initrd=/iso/sgd.gz

LABEL supergrubdisk2
MENU LABEL ^D. super grub2 disk
TEXT HELP
Boot into many systems (including Grub2 ones).
To restore Grub2 use the CLI suite included in PartedMagic.
ENDTEXT
  LINUX /boot/syslinux/memdisk
  APPEND iso raw initrd=/iso/sgd2.gz

LABEL mhdd
MENU LABEL ^E. mhdd
TEXT HELP
This software can make precise diagnostic of the mechanical part of a drive,
view SMART attributes, perform Low-level format, bad sector repair, different
tests and tens of other functions.
ENDTEXT
  LINUX /boot/syslinux/memdisk
  APPEND initrd=/iso/mhdd.gz

LABEL plp
MENU LABEL ^F. plop boot manager
TEXT HELP
The Plop Boot Manager is a small program to boot different operating systems.
The boot manager has a builtin ide cdrom and usb driver to access those hardware without the help/need of a bios.
ENDTEXT
  LINUX /iso/plpbt.bin
Title: Re: Linux ISOs and memdisk are compatible?
Post by: vinnie on October 01, 2011, 10:26:45 PM
I don't say if it correlated, I have yet to try http://reboot.pro/8258/ (http://reboot.pro/8258/)

P.S. If I understand what SvOlli mean, he's right, it don't work
I was able to start iso ([remaster]) using syslinux, but it start only tinycore without the additional extensions.
It is very bad luck  :(

P.P.S. is comical to have replaced the name of a modified version of tinycore with a [remaster]  ;D
Title: Re: Linux ISOs and memdisk are compatible?
Post by: floppy on October 02, 2011, 03:57:46 AM
hi floppy: could you please explain (in short) what memdisk is?
For what do you need that? Thank you for that
I found memdisk by googling because I understood (wrongly) this would launch an iso like a CDROM: I wanted to start an ISO directly, because by installing for example the files of the partedmagic iso (not the iso) on my CF8GB, a file partedmagicxxx.sfs was not found. So, I was hopping "booting" the iso directly would solve the issue.
I cannot say more about memdisk than reading what is written in the net.
Title: Re: Linux ISOs and memdisk are compatible?
Post by: floppy on October 02, 2011, 03:59:33 AM
The distro you want to start needs to be made aware to look into ISOs by itself.
Dont understand... with a boot code?
like    APPEND ISO LOOKATISO
Title: Re: Linux ISOs and memdisk are compatible?
Post by: SvOlli on October 02, 2011, 12:14:40 PM
The distro you want to start needs to be made aware to look into ISOs by itself.
Dont understand... with a boot code?
like    APPEND ISO LOOKATISO
More like in iso=/path/to/file.iso, or tce=/path/to/file.iso, but handling this still needs to be implemented. Since you need to modify parts of the core it would be wise to discuss this with Robert first.
Title: Re: Linux ISOs and memdisk are compatible?
Post by: floppy on October 07, 2011, 12:53:12 PM
Im back.. ;-)....
so, how can I start my ISOs (distros slitaz etc.) from extlinux ?
The ISOs are in the directory /boot/diverse of a CF card

? Should I perhaps put the grldr file (Grub4DOS) and a menu.lst (with all ISOs listed) in this directory.

? And in my extlinux command of this CF card would be
...
label ISO linux menu
   menu label ISO linux menu
   linux /boot/diverse/grldr
...
The menu.lst structure has an example if I remember in this forum from SvOlli .. but cannot find it (I have to search).

Before I start this, can I have your professional evaluation of this Idea?

Idea summary = starting grub4dos from extlinux for booting ISOs (so far I understood, grub4dos has more functionality than extlinux and can start ISOs, simulating a CDROM)
Title: Re: Linux ISOs and memdisk are compatible?
Post by: SvOlli on October 07, 2011, 06:08:15 PM
The menu.lst structure has an example if I remember in this forum from SvOlli .. but cannot find it (I have to search).
Did you mean this thread: http://forum.tinycorelinux.net/index.php/topic,10430.0.html (http://forum.tinycorelinux.net/index.php/topic,10430.0.html) ?
Title: Re: Linux ISOs and memdisk are compatible?
Post by: SamK on October 08, 2011, 05:23:41 AM
The replies towards the end of this topic might also be helpful:
http://forum.tinycorelinux.net/index.php/topic,11424.0.html (http://forum.tinycorelinux.net/index.php/topic,11424.0.html)
Title: Re: Linux ISOs and memdisk are compatible?
Post by: floppy on October 08, 2011, 05:50:25 AM
The menu.lst structure has an example if I remember in this forum from SvOlli .. but cannot find it (I have to search).
Did you mean this thread: http://forum.tinycorelinux.net/index.php/topic,10430.0.html (http://forum.tinycorelinux.net/index.php/topic,10430.0.html) ?
Yes. Thanks. I will have a look.
Title: Re: Linux ISOs and memdisk are compatible?
Post by: floppy on October 08, 2011, 06:04:08 PM
Last status:

in my extlinux.conf file of the CF 8GB card (on IDE adapter, recognized in the PC as sdb, 1 is the partition with the extlinux.conf), I included
   ...
   label start grub
      kernel /boot/diverse/grub.exe   (from grub4dos zip file)
   ...

it starts grub.
Grub then seems to find the menu.lst I have on my sda (1 partition).

It dont find on the screen the menu.lst I included in the sdb1, directory /boot/diverse (where grub.exe is)
==============  menu.lst ================
#
color blue/green yellow/red white/magenta white/magenta
timeout 30
default /default
#
title papug linux iso
find --set-root /papuglinux-11.1a.iso
map --mem /papuglinux-11.1a.iso (hd32)
map --hook
root (hd32)
chainloader (hd32)
...
========================================
So, this is probably a question of default setup of grub where it has to find the menu.lst.
I will further search how to say to grub.exe to use the menu.lst of the "sdb1/boot/diverse".
Any idea is welcome.
Title: Re: Linux ISOs and memdisk are compatible?
Post by: vitex on October 08, 2011, 11:52:31 PM
So, this is probably a question of default setup of grub where it has to find the menu.lst.
I will further search how to say to grub.exe to use the menu.lst of the "sdb1/boot/diverse".
Any idea is welcome.

See Grub4dos Guide - Embedded Menu (http://diddy.boot-land.net/grub4dos/files/embedded.htm) for a description of where grub4dos (grub.exe or grldr) looks for the file menu.lst.  You can place an abbreviated version of menu.lst in one of those standard places and use the configfile command to transfer control to a full version of menu.lst that resides in a non-standard location.
Title: Re: Linux ISOs and memdisk are compatible?
Post by: SvOlli on October 09, 2011, 05:09:55 AM
Easiest way would be to put a menu.lst in the root of sdb1 containing
Code: [Select]
configfile /boot/diverse/menu.lst
Title: Re: Linux ISOs and memdisk are compatible?
Post by: floppy on October 09, 2011, 01:24:16 PM
Thanks, this is nearly working with the help of you and of the .. "plop" bootloader.
I explain.

My PC is going at boot into the first HDD which is sda1 with Grub (standard) on it.
I can go to my CF 8GB (on IDE adapter) with

in the menu.lst of /boot/grub/
...
title           Go to Syslinux of the CF on sdb1
root            (hd1,0)
chainloader     +1
...

So, my extlinux menu appear with different submenues on it.
In this extlinux.conf, I included

   ...
label start grub
      kernel /boot/diverse/grub.exe 
# from grub4dos

LABEL bootloader plop for usb etc.
   MENU LABEL bootloader plop for usb etc.
   linux /boot/diverse/plpbt.bin
# you will  understand later why
   ...

and in the root directory of sdb1 a menu.lst with the content
configfile /boot/diverse/menu.lst  (where in this new menu.lst are different submenues for starting ISOs directly from the grub4dos).

Result:
- grub dont forget the menu.lst on my sda1 (a bug? memory because chainload+1 was used in the first menu.lst?) till...
- I start plop and boot via plop in my CF 8GB card

It seems plop make a memory cleaning of the first menu.lst and then grub4dos dont come back again to my first menu.lst. So, I can boot later the ISOs which are found.

The question now is: by this type of command
title           Go to Syslinux of the CF on sdb1
root            (hd1,0)
chainloader     +1
... can we "clean" the grub memory in order that no grub (started later) will remember this menu.lst (and the place where it is) has existed?
Title: Re: Linux ISOs and memdisk are compatible?
Post by: vitex on October 09, 2011, 02:17:17 PM
... and in the root directory of sdb1 a menu.lst with the content
configfile /boot/diverse/menu.lst  (where in this new menu.lst are different submenues for starting ISOs directly from the grub4dos).

I am not sure why your configuration did not work.

Once you are executing grub4dos, you can control which partition is used as the grub4dos default with the "find --set-root ..." command:

Code: [Select]
find --set-root /boot/diverse/menu.lst
configfile /boot/diverse/menu.lst

The find command searches all partitions for one that contains the file /boot/diverse/menu.lst and then uses that partition as the default for subsequent commands.  That should force the configfile command to use the right partition.
Title: Re: Linux ISOs and memdisk are compatible?
Post by: floppy on October 09, 2011, 02:49:10 PM
in
http://diddy.boot-land.net/grub4dos/files/README_GRUB4DOS.txt (http://diddy.boot-land.net/grub4dos/files/README_GRUB4DOS.txt)

is written:
===============
   Update 3(2006-12-23): By default, GRUB.EXE will locate its
      config file in the following order:

         (DOS file) .\menu.lst, the MENU.LST in the current dir.

         (DOS file) \menu.lst, the MENU.LST in the root dir of
                  the current drive.
         (GRUB file) /menu.lst, the MENU.LST in the root dir of
                  the boot device.

      The default boot device is still (hd0,0).
=================
it mean grub.exe seems to search everything first in the defined hd(0,0).. (which is probably defined with the first grub legacy which was started at the first boot).
I will try now to make parameters overtaken by grub.exe in my extlinux.conf

label start grub
      kernel /boot/diverse/grub.exe
# grub.exe from grub4dos
      append config-file="find --set-root /boot/diverse/menu.lst; configfile /boot/diverse/menu.lst"
     
let see...

update: it doesnt work... it goes back to the menu.lst of the hd(0,0). Inside the "label start grub" of the extlinux.conf file above, I should put something, so that any hd(x,y) are lost/deleted. I will think again about a solution (prio 2 because "plop" is probably cleaning any hd(0,0) reference). Perhaps I should go to a grub4dos + extlinux forum and ask them how to pass parameters to grub.exe when extlinux is on the screen.
Title: Re: Linux ISOs and memdisk are compatible?
Post by: vitex on October 09, 2011, 03:38:42 PM
Execute "strings grldr" or "strings grub.exe" to see the actual embedded grub4dos configuration file.

Remove the "append config-file=..." text from the extlinux.conf stanza that executes grub.exe.

Create a menu.lst file in the root directory of your sdb1 partition that contains

Code: [Select]
find --set-root /boot/diverse/menu.lst
configfile /boot/diverse/menu.lst

See if that works.  If not, change that menu.lst file in the root directory of sdb1 to be

Code: [Select]
configfile (hd1,0)/boot/diverse/menu.lst

See if that works.  If not, create a menu.lst file in the root directory of your sda1 partition that contains

Code: [Select]
find --set-root /boot/diverse/menu.lst
configfile /boot/diverse/menu.lst

See if that works.  If not, change that menu.lst file in the root directory of sda1 to be

Code: [Select]
configfile (hd1,0)/boot/diverse/menu.lst

See if that works.

One of those experiments should solve your problem.
Title: Re: Linux ISOs and memdisk are compatible?
Post by: floppy on October 09, 2011, 04:54:00 PM
The "strings grub.exe" show an embedded grub4dos configuration file as per the previous link of "Grub4dos Guide - Embedded Menu".

With a menu.lst file in sda1
find --set-root /boot/diverse/menu.lst
configfile /boot/diverse/menu.lst

it works. Thanks.

My understunding:
- the first grub (install year 2010) load some defaults and use only the (hd0,0)/boot/grub/menu.lst (not the (hd0,0)/menu.lst)
- the second started grub4dos (latest version), started via extlinux, search first the menu.lst on / then /grub then /boot/grub in the (hd0,0) (it dont forget where it is)
- "plop" cleaned anything; in this case grub4dos was searching for menu.lst on the boot place of the extlinux
- the grub4dos people should make possible grub.exe to consider parameters
     kernel /../grub.exe
     append config-file="find --set-root /boot/diverse/menu.lst; configfile /boot/diverse/menu.lst"

.. or whatever..
I can now boot ISOs, started with grub4dos (CDrom emulation), which was started via extlinux.. started before with the TCL grub (see extension).