You are not logged in.

#1 2012-02-07 14:10:53

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

[SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

I'm trying to boot the i686 iso from a USB stick (which is formatted as FAT32).

SYSLINUX is installed correctly because the first entry works and the second one doesn't:

 LABEL arch_iso
   MENU LABEL Boot Arch Linux
   LINUX memdisk
   INITRD /Boot/ISOs/archlinux-2011.08.19-netinstall-x86_64.iso
   APPEND iso

 LABEL arch_i686
   MENU LABEL Boot Arch Linux i686
   LINUX memdisk
   INITRD /Boot/ISOs/archlinux-2011.08.19-netinstall-i686.iso
   APPEND iso

It stops at the famous "ERROR: boot device didn't show up after 30 seconds..." and drops to ramfs.

From my understanding and from browsing the Syslinux wiki (link), if the ISO is larger than 128 MB (and it is... it's 181 MB), I have to add "vmalloc=256Mi" to the kernel line:

 LABEL arch_i686
   MENU LABEL Boot Arch Linux i686
   LINUX memdisk vmalloc=256Mi
   INITRD /Boot/ISOs/archlinux-2011.08.19-netinstall-i686.iso
   APPEND iso

But that didn't work either...

What am I doing wrong?

# cat /proc/meminfo | grep VmallocTotal
VmallocTotal:     122880 kB

Last edited by DSpider (2012-02-17 22:06:34)


"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#2 2012-02-07 14:43:15

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

wiki is wrong:

kernel-parameters.txt wrote:

        vmalloc=nn[KMG] [KNL,BOOT] Forces the vmalloc area to have an exact
                        size of <nn>. This can be used to increase the
                        minimum size (128MB on x86). It can also be used to
                        decrease the size and leave more room for directly
                        mapped kernel RAM.

so should be:

vmalloc=256M

Offline

#3 2012-02-07 15:40:19

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

Doesn't work. And I just noticed that regardless of 256M, 256Mi or no "vmalloc" parameter at all, right before the 30 seconds error it says:

:: Running Hook [memdisk]
[    4.443310] phram: ioremap failed
[    4.443350] phram: 'memdisk,0x64a9f000,0xb500000' invalid for parameter 'phram'
FATAL: Error inserting phram (/lib/modules/3.0-ARCH/kernel/drivers/mtd/devices/phram.ko.gz): Input/output error

I also noticed that the "[memdisk]" hook cuts off in the middle of "[udev]" ... It's like there should be a pause or something after "[udev]".

Is this a bug in the 2011.08.19-netinstall-i686 release?


Edit: No, same for the core i686 image. But it does seem to boot in a more ordered way. Hmmm... Were these images not tested with MEMDISK when they were released? hmm

Last edited by DSpider (2012-02-07 16:41:07)


"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#4 2012-02-07 16:44:54

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

phram: ioremap failed -> something is wrong. Maybe you need to increment size vmalloc. what amount of RAM do you have?

parameter is right it says to remap 181MiB (via memdiskfind)

Offline

#5 2012-02-07 17:12:46

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

2 GB of RAM.

Memdiskfind? Ok... I copied the memdiskfind file next to syslinux.cfg but the i686 images (netinstall or core) still do not get pass the 30 seconds error. It keeps trying to find /dev/disk/by-label/ARCH-201108... But the x86_64 image clears it, so it's a bit weird.

Last edited by DSpider (2012-02-17 14:09:38)


"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#6 2012-02-07 19:39:34

pekka
Member
Registered: 2011-07-21
Posts: 104

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

Boot pmagic with memdisk  has same proplems.
phram: ioremap failed


should be:

APPEND iso vmalloc=256M

Offline

#7 2012-02-08 13:12:04

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

Funny you should mention pmagic. I used the exact same parameters in my syslinux.cfg for all of them (except for the labels and paths, obviously):

 LABEL pmagic_iso
   MENU LABEL Boot Parted Magic
   LINUX memdisk
   INITRD /Boot/ISOs/pmagic_2011_12_30_x86_64.iso
   APPEND iso

 LABEL pmagic_mostpeople
   MENU LABEL Boot Parted Magic - "Most People" Edition (probably i686)
   LINUX memdisk
   INITRD /Boot/ISOs/pmagic_2011_12_30.iso
   APPEND iso

 LABEL pmagic_i486
   MENU LABEL Boot Parted Magic i486
   LINUX memdisk
   INITRD /Boot/ISOs/pmagic_2011_12_30_i486.iso
   APPEND iso

All of them booted fine. Even the i486 image, which is meant for Pentium II ! Come on! And without a vmalloc parameter, mind you.

Now let's compare the Parted Magic "syslinux.cfg" file to Arch's (both i686):

LABEL normal
MENU LABEL ^1. Default settings (Runs from RAM)
TEXT HELP
Default mode intended for 312MB+ based systems.
* Version: 2011_12_30, (C) 2011, Patrick Verner
* Disclaimer: Author excluded from any liability.
ENDTEXT
COM32 linux.c32
APPEND /pmagic/bzImage initrd=/pmagic/initrd.img edd=off load_ramdisk=1 prompt_ramdisk=0 rw vga=normal loglevel=9 max_loop=256 vmalloc=256MiB


LABEL arch
TEXT HELP
Boot the Arch Linux live medium. It allows you to install Arch Linux or
perform system maintenance.
ENDTEXT
MENU LABEL Boot Arch Linux
LINUX /arch/boot/i686/vmlinuz
INITRD /arch/boot/i686/archiso.img
APPEND archisobasedir=arch archisolabel=ARCH_201108
# Next line should be uncommented when prepare enviroment to boot from PXE.
#IPAPPEND 3

The bottom line is that all Parted Magic ISO images boot fine, without any hiccups and without any 256M, 256Mi or even 256MiB attached, ANYWHERE!!! Except in the ISO. And Arch uses a label... It tries to find "ARCH_201108", doesn't, and throws up the infamous 30 second error afterwards!

Why so complicated? God, this has given me so much headache.

Last edited by DSpider (2012-02-08 13:52:53)


"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#8 2012-02-08 13:58:13

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

And Arch uses a label...

Why you insist with the "label"? There is other issue for you, ioremap() fails, then there is no disk visible inside the OS.

Try recent isos, maybe is a kernel issue.
Of course Pmagic is not using the same kernel as Arch (3.1.6 vs 3.0.3) and not using the same configs.

EDIT: see how memory is remapped in pmagic.

Last edited by djgera (2012-02-08 14:14:39)

Offline

#9 2012-02-08 14:20:08

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

Then why doesn't "ioremap" fail in the x86_64 images?

I think these flags were supposed to be in the Arch's APPEND section: load_ramdisk, prompt_ramdisk, edd, max_loop, vmalloc.

Especially vmalloc.


"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#10 2012-02-08 14:36:23

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

because x86_64 is a really different world in memory management.

load_ramdisk, prompt_ramdisk: Arch booting process does not use ramdisks. memdisk != ramdisk
edd: nothing to do with BIOS EDD here, memdisk is not a "BIOS disk"
max_loop: uneeded, there is no need to set a upper limit of /dev/loop* devices, memdisk is not a loop device.
vmalloc: if this does not help , there is no reason to change the default.

Offline

#11 2012-02-08 14:59:57

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

I don't understand. I get to the install screen on both i686 and x86_64 except only the x86_64 goes further.

images?q=tbn:ANd9GcRD3PYmuQRYvazpoDItWDtGTn8Arzwt-rUtAEh7wTerVhkKwCHfhyjcoAxq

Doesn't this mean that the ISO was booted correctly? MEMDISK did its job. The rest is up to how Arch was built.

What am I doing wrong?


"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#12 2012-02-08 15:20:07

pekka
Member
Registered: 2011-07-21
Posts: 104

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

Arch or pmagic not working

Hmm

Kernel/AMD bug ?

I Have AMD Phenom II X6

Offline

#13 2012-02-08 15:54:35

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

pekka wrote:

Arch or pmagic not working

Pekka, which version did you try? i686, x86_64? Make sure you installed SYSLINUX correctly.


I have a feeling that the "vmalloc=256M" argument (or "256MiB") should be in the Arch i686 syslinux.cfg file. Is there any way to rebuild the ISO with this parameter? Or is this a good time for a 2012 release?


"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#14 2012-02-08 19:14:32

pekka
Member
Registered: 2011-07-21
Posts: 104

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

Arch i686, x86_64,pmagic all,Debian,Cloezilla,Back Track R1.......

Memdisk and *.iso not working


linux.c32 and bzImage working

Offline

#15 2012-02-08 21:52:50

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

Probably because you didn't install SYSLINUX correctly.

It's really not that difficult. I even managed to install it using Windows XP from VirtualBox (Arch as host OS):

X:\Boot
X:\Boot\ISOs
X:\Boot\Settings

From syslinux-4.05.zip copy the memdisk file to the "Settings" folder and after you create a proper syslinux.cfg file...

DEFAULT loadmyconfig

 LABEL loadmyconfig
   LINUX memdisk
   INITRD /Boot/ISOs/archlinux-2011.08.19-netinstall-dual.iso
   APPEND iso

...create a .bat file that runs: syslinux.exe -m -a -d /Boot/Settings X:



And surprise, surprise! You'll see that the archlinux-2011.08.19-netinstall-dual.iso image works for x86_64 but NOT for i686. The same ISO, the same syslinux.cfg file, the same 30 second error...

The only i686 that works is from the unofficial "Archboot" (archlinux-2012.01-1-archboot.iso). Even the "Boot Arch Linux LTS (i686)" entry works. It waits for 10 wonderful seconds for the device (instead of the wretched 30), but it bloody well finds it ! Probably because of a newer kernel? I don't know. I give up... Just look how beautifully clean these syslinux.cfg entries are:

LABEL arch
MENU LABEL Boot Arch Linux (i686)
LINUX /boot/vmlinuz
APPEND initrd=/boot/initrd.img rootdelay=10

LABEL arch-lts
MENU LABEL Boot Arch Linux LTS (i686)
LINUX /boot/vmlts
APPEND initrd=/boot/initrd.img rootdelay=10

No label!

So it is possible. I just hope they survive to the (official) 2012 release.


"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#16 2012-02-08 22:20:15

djgera
Developer
From: Buenos Aires - Argentina
Registered: 2008-12-24
Posts: 723
Website

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

The only i686 that works is from the unofficial "Archboot"

Sure it does not use memdisk, or in better words, it does not use phram+mtdblock. Archboot just works on rootfs.

Offline

#17 2012-02-11 04:59:23

daschu117
Member
Registered: 2009-04-05
Posts: 15

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

Passing vmalloc to the memdisk module in the first bootloader doesn't work. It needs to be added to the config of the second bootloader that resides on the ISO image. Doing this either requires rebuilding the ISO, or more simply: hit tab during the ISO's syslinux screen to add it manually for that boot.

Creating your own iso is pretty easy. Get the archiso-git package from the AUR and it will build install ISOs for you however you feel like configuring it.

Offline

#18 2012-02-11 16:28:14

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

YES! THANK YOU!

Finally!

Seems like it doesn't matter if it's 256M, 256Mi, 256MiB or 256MB because apparently it even works with "256Mothergoose" or "256mantits". I shit you not!


I wonder if people with 256 MB RAM would be able to go through with the install... If I set anything lower than, say, 224M, the KMS (screen resolution) doesn't kick in. Which makes me think that it wasn't mapped in its entirety. Any idea?


PS: I even wrote a wiki article: Boot the entire ISO from RAM

Enjoy.

Last edited by DSpider (2012-06-09 10:53:28)


"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

#19 2012-11-29 09:16:11

cyberic
Member
Registered: 2012-01-11
Posts: 32
Website

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

Hello

Do you thing this boot method works for other untouched ISOS, like ubuntu, or debian for instance?

I don't think this will work because I think these distribs will search for a live cd on /dev/sda...sdz...

Is there a way to 'fake' such a device?

Offline

#20 2012-11-29 09:24:48

DSpider
Member
From: Romania
Registered: 2009-08-23
Posts: 2,273

Re: [SOLVED] Booting the i686 w/ MEMDISK doesn't work (but x86_64 does)

Did you read the tip from that wiki article?

Tip: If you want to add more distributions (Debian and Parted Magic were tested) you can edit this file. Maybe even give it a nice menu and a background image, instead of defaulting to the Arch Linux ISO. Refer to the Syslinux wiki.

And the note at the bottom about i686 (32 bit) operating systems ?


"How to Succeed with Linux"

I have made a personal commitment not to reply in topics that start with a lowercase letter. Proper grammar and punctuation is a sign of respect, and if you do not show any, you will NOT receive any help (at least not from me).

Offline

Board footer

Powered by FluxBB