Tiny Core Linux
Off-Topic => Off-Topic - Tiny Core Lounge => Topic started 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).
-
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)
-
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
-
hi floppy: could you please explain (in short) what memdisk is?
For what do you need that? Thank you for that
-
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
-
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
-
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.
-
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
-
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.
-
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)
-
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) ?
-
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)
-
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.
-
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.
-
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.
-
Easiest way would be to put a menu.lst in the root of sdb1 containing
configfile /boot/diverse/menu.lst
-
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?
-
... 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:
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.
-
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.
-
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
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
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
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
configfile (hd1,0)/boot/diverse/menu.lst
See if that works.
One of those experiments should solve your problem.
-
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).