LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Cannot boot slackware13, even with the slackware13 created flashdrive (https://www.linuxquestions.org/questions/slackware-14/cannot-boot-slackware13-even-with-the-slackware13-created-flashdrive-772192/)

ljones0 02-08-2010 03:36 PM

I removed all the files off my USB disk and tried again from scratch. This time I did a bit better - the initrd.gz file I made this time comes in at 2.1MB, which works better. I'm using a label on the USB stick I'm using to boot from. But unfortunatly it dosen't complete - it almost works but fails with ....

Code:

/sbin/e2fsck: Unable to resolve 'label=xyz'
The boot process stops there; the partition is detected previous to this (I called it "xyz") and booting starts its just it gets to this point and fails.

Code:

fstab

label=xyz        /                ext3        defaults        1  1
#/dev/cdrom      /mnt/cdrom      auto        noauto,owner,ro  0  0
/dev/fd0        /mnt/floppy      auto        noauto,owner    0  0
devpts          /dev/pts        devpts      gid=5,mode=620  0  0
proc            /proc            proc        defaults        0  0
tmpfs            /dev/shm        tmpfs      defaults        0  0

Code:

syslinux.cfg

default 1
prompt 1
say booting!.........

label 1
kernel vmlinuz
append initrd=initrd.gz label="xyz"

Code:

Partitions on USB stick (sdb) from cfdisk
sdb1 Boot Primary W95 FAT32  Label=[        ] 106.93MB
sdb2      Primary Linux ext3 Label=[xyz]      526.42MB

Booting reaches the part where there's the 10 second wait for USB to settle and the "xyz" partition is found and carries on, only that it fails at e2fsck.

ljones

Alien Bob 02-08-2010 03:43 PM

Try uppercase "LABEL" in your /etc/fstab. The lowercase "label" is not supported.

Eric

uppman 02-08-2010 03:50 PM

Quote:

Code:

fstab

label=xyz        /                ext3        defaults        1  1
#/dev/cdrom      /mnt/cdrom      auto        noauto,owner,ro  0  0
/dev/fd0        /mnt/floppy      auto        noauto,owner    0  0
devpts          /dev/pts        devpts      gid=5,mode=620  0  0
proc            /proc            proc        defaults        0  0
tmpfs            /dev/shm        tmpfs      defaults        0  0

Booting reaches the part where there's the 10 second wait for USB to settle and the "xyz" partition is found and carries on, only that it fails at e2fsck.

ljones
I'm not sure but I think it should be LABEL and not label..
In any case you are better off using /dev/root, see below.

http://linuxconfig.dyndns.org/lazy/L...vable_USB_disk

IMPORTANT: /etc/fstab must always contain the correct device to mount as root. It is possible to use the filesystems UUID or LABEL in /etc/fstab if the USB disk gets a different devicename like /dev/sdc instead of /dev/sda between reboots.
It is also possible to use /dev/root if the kernel and system supports it.
Something like this:
/dev/root / ext4 defaults 1 1
or this:
LABEL="SW_13.0" / ext4 defaults 1 1

/Magnus

ljones0 02-08-2010 04:09 PM

Ah :) Thank you both -- using LABEL="xyz" worked (as did /dev/root);

Code:

fstab

LABEL="xyz"        /                ext3        defaults        1  1

*or*

/dev/root        /                ext3        defaults        1  1

My next job will to be to grab another memory stick and try to do everything right from scratch making a note of every step I take. Then I hope to post a list of instructions here!

:)

ljones

ljones0 02-09-2010 02:46 AM

:-( Uh oh.....


Looks like there are more problems. I'm finding although it will work on some machines it completely fails on others. On my EEE PC (x86) for example it works with no problems, so does the emulator qemu. However I have two other systems here, one around a year old (x86-64) and another about 3 or so years old also x86-64 and these both fail to boot. The former dosen't see the partition on the USB stick, the latter dosen't even get that far.

Wonder what could be wrong, maybe something to do with x86-64 or USB drivers?

Will take the USB stick to work and try on a couple of x86(not 64 bit) systems, see what happens.

ljones

ljones0 02-09-2010 01:29 PM

Well I can confirm the USB stick worked on one system at work. This system was a 32-bit system and not a 64-bit one. The others were all too old and didn't even attempt to boot x.x .

The 32-bit version definately dosen't seem to work in a 64-bit system x.x . Maybe USB driver problem?

I've now been trying to make a 64-bit version of the above using the instructions but I'm hitting apon a problem. With the 64 bit version I've made the partition is detected OK until time comes to run the commnads "awk","blkid" and "cut". These don't seem to want to run even if I use chmod 0777 awk, chmod 0777 blkid and chmod 0777 cut and then remake the initrd file. The system complains that they don't exist (and refuses to run them),e.g.

(this is at the point after the partition on the usb stick has been detected);

Code:

/init: line 292 /sbin/blkid: not found
Found:
/init: line 292: awk: not found
/init: line 292: awk: not found
Didn't find the root partition! Try again or exit to a shell?

I can also try to run the commands manually but with no success .....

Code:

cd /bin
$ awk
awk : command not found
$ ./awk
awk : command not found

$ ls /bin/awk
awk

syslinux.cfg
Code:

default 1
prompt 1
say boot 1 or 2

label 1
say Loading 32
kernel vmlinuz
append initrd=initrd.gz label="xyz"

label 2
say Loading 64
kernel 64
append initrd=initrd64.gz label="64"

However looking with the ls command shows these files/commands definately exist. Wonder what could be wrong, maybe I need an extra library for 64 bit stuff?

syslinux directory
Code:

drwxr-xr-x 2 aaaaa root 2.0K 2010-02-09 19:02 .
drwxr-xr-x 5 aaaaa root  16K 1970-01-01 00:00 ..
-rwxr-xr-x 1 aaaaa root 4.8M 2010-02-09 17:43 64
-rwxr-xr-x 1 aaaaa root 2.1M 2010-02-08 18:46 initrd.gz
-rwxr-xr-x 1 aaaaa root 2.7M 2010-02-09 19:02 initrd64.gz
-rwxr-xr-x 1 aaaaa root  181 2010-02-09 18:07 syslinux.cfg
-rwxr-xr-x 1 aaaaa root  188 2010-02-09 18:07 syslinux.cfg~
-rwxr-xr-x 1 aaaaa root 4.8M 2010-02-07 22:57 vmlinuz

Note that the '64' is the 64 bit vmlinuz.

USB Stick Partitions:
Code:

sdb1 - Boot - Primary - W95FAT32  [          ] 106MB
sdb2 -        Primary - Linux Ext3 [xyz]        526MB (32 bit Slackware)
sdb3 -        Primary - Linux Ext3 [64]        584MB (64 bit Slackware)

fstab from /dev/sdb3 (contains 64 bit slackware install);
Code:

/dev/root        /                ext3        defaults        1  1
#/dev/cdrom      /mnt/cdrom      auto        noauto,owner,ro  0  0
/dev/fd0        /mnt/floppy      auto        noauto,owner    0  0
devpts          /dev/pts        devpts      gid=5,mode=620  0  0
proc            /proc            proc        defaults        0  0
tmpfs            /dev/shm        tmpfs      defaults        0  0

ljones

uppman 02-09-2010 02:11 PM

Quote:

Originally Posted by ljones0 (Post 3857549)
:-( Uh oh.....


Looks like there are more problems. I'm finding although it will work on some machines it completely fails on others. On my EEE PC (x86) for example it works with no problems, so does the emulator qemu. However I have two other systems here, one around a year old (x86-64) and another about 3 or so years old also x86-64 and these both fail to boot. The former dosen't see the partition on the USB stick, the latter dosen't even get that far.

Wonder what could be wrong, maybe something to do with x86-64 or USB drivers?

Will take the USB stick to work and try on a couple of x86(not 64 bit) systems, see what happens.

ljones

Did you install the "devs" slackware package? The default initrd only comes with hda1-9 or sda1-9..
Try cat /proc/partitions to see any partitions without dev files.

Which kernel are you using, huge, huge-smp or the generic? I have succesfully tested with huge-smp for both 32 and 64-bit using a 32-bit initrd.

/Magnus

ljones0 02-09-2010 02:34 PM

For both the 32 & 64 bit installs yep definately installed the devs slackware package. I looked at /proc/partitions after booting off the USB stick (32 bit partition) and got this;

Code:

major minor  #blocks  name
 8      0    78150744  sda
 8      1    16000708  sda1
 8      2          1  sda2
 8      3    498015  sda3
 8      5    8000338  sda5
 8      6    8000338  sda6
 8    16    7823360  sdb
 8    17    104391  sdb1
 8    18    514080  sdb2
 8    19    570307  sdb3

For the 32 bit install I used kernel vmlinuz-huge-smp-2.6.29.6-smp


*EDIT*

If I tried a 32 bit vmlinuz with a 64 bit initrd/system then it failed completely. Got these messages;

Code:

request_module: runaway loop modprobe binfmt-464c
request_module: runaway loop modprobe binfmt-464c
Freeing unused kernel memory: 456k freed
request_module: runaway loop modprobe binfmt-464c
request_module: runaway loop modprobe binfmt-464c
request_module: runaway loop modprobe binfmt-464c
Failed to execute /init
Kernel panic - not syncing: No init found. Try passing init= option to kernel.

x.x

ljones

ljones0 02-09-2010 06:23 PM

1 Attachment(s)
if it helps here's a picture of what happens on the 64 bit system when it fails (using both a 64 bit initrd & vmlinuz).

ljones

uppman 02-10-2010 12:31 AM

Quote:

Originally Posted by ljones0 (Post 3858176)

If I tried a 32 bit vmlinuz with a 64 bit initrd/system then it failed completely. Got these messages;

Code:

request_module: runaway loop modprobe binfmt-464c
request_module: runaway loop modprobe binfmt-464c
Freeing unused kernel memory: 456k freed
request_module: runaway loop modprobe binfmt-464c
request_module: runaway loop modprobe binfmt-464c
request_module: runaway loop modprobe binfmt-464c
Failed to execute /init
Kernel panic - not syncing: No init found. Try passing init= option to kernel.

x.x

ljones

You CAN use a need a 32-bit initrd with a 64-bit kernel. That's what I do to boot a 64-bit system.

I haven't tried to build a 64-bit initrd. It most likely needs another set of libraries and executables (64-bit).

By the way, which 64-bit kernel did you use?

/Magnus

bkmz222 02-10-2010 03:24 AM

WHY do you need initrd? I boot my slackware just with rootdelay and directly specifiing root. i.e. in GRUB:
Code:

linux (hd1,6)/boot/vmlinuz root=/dev/sdb6 rootdelay=10

ljones0 02-10-2010 12:29 PM

Quote:

Originally Posted by uppman (Post 3858635)
You CAN use a need a 32-bit initrd with a 64-bit kernel. That's what I do to boot a 64-bit system.

I haven't tried to build a 64-bit initrd. It most likely needs another set of libraries and executables (64-bit).

By the way, which 64-bit kernel did you use?

/Magnus

Not sure what I'm doing wrong to make it fail on my system with a 32-bit initrd/64 bit kernel.

Yep quite agree :) 64 bit likely needs different libraries and executables. I followed the slackware 13 (32-bit) instructions to try them out but on a 64 bit system. I didn't see any dependency issues though, I even checked the libraries with ldd.

For the 64 bit kernel I used vmlinuz-huge-2.6.29.6 . Thats the one my normal slackware 64-bit system boots up with.

ljones

ljones0 02-10-2010 12:49 PM

1 Attachment(s)
BTW here's what I get if I use a 32 bit initrd and a 64 bit kernel ....

ljones

uppman 02-10-2010 04:08 PM

Quote:

Originally Posted by ljones0 (Post 3859347)
BTW here's what I get if I use a 32 bit initrd and a 64 bit kernel ....

ljones

It doesn't seem to run the initrd.. strange.

ljones0 02-10-2010 04:38 PM

Not sure why it wouldn't run the initrd. Its even specified in the syslinux.cfg .... I'm not sure what could be wrong. Not sure what to do next, maybe start from scratch?

ljones


All times are GMT -5. The time now is 08:53 PM.