LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Slackware 14.1 64-bit Black Screen at startx (https://www.linuxquestions.org/questions/slackware-14/slackware-14-1-64-bit-black-screen-at-startx-4175514857/)

notoMS 08-14-2014 10:03 PM

Slackware 14.1 64-bit Black Screen at startx
 
Please help. I am a Slackware newbie. I just installed Slackware 14.1 64-bit on an HP G72 laptop. I installed Slackware with the default settings. I followed the LILO warnings during installation and in the documentation, and did not yet configure LILO.

I'm having two problems:

Problem 1. I can boot up to the darkstar login prompt from the CD, and change user to root. I then type startx at the prompt. A few lines of code flash on the screen, then the screen goes black.

Problem 2. I can't get the computer to boot from the USB boot stick that I created during the Slackware installation.

Here are the computer technical details: HP G72 laptop; Intel Core i3 M370 2.40 GHz processor; 4GB RAM; Intel HD Graphic. I have 3 primary partitions on the hard drive, and 3 extended partitions. The partitions are setup as follows:
sda1 - the Windows boot partition
sda2 - the Windows 7 installation
sda3 - an 8 GB Linux Swap partition
sda5 - the / partition
sda6 - the /usr partition
sda7 - the /home partition

Please help resolve this issue. Thanks!

Drakeo 08-14-2014 11:25 PM

Welcome to linux Questions welcome aboard
well if you did a default with linux and chose to install lilo simple to mbr. you would boot and then seen your windows operating system and Slackware at the boot prompt. And you would have a choice of either system.

It is a big deal. if you never installed Slackware is to install it a very simple way. and if you ever have a problem with booting into windows always make a recovery disk to put your windows boot loader back on.

Since I have no clue why you would be using a cdrom not sure after a install. install Slackware for the first time and your new at it.
just install lilo to the mbr and then configure your system then reboot.
It will load the vmlinuz-huge kernel with all the drivers needed to get your laptop running.

when I install Slackware I keep it simple.

one partition for /
and one swap.
you did ok making the other partition.

This is what I am lost on.
Quote:

I followed the LILO warnings during installation and in the documentation, and did not yet configure LILO.
To boot into the system with a cdrom for yours. you are choosing /dev/sda5. right ?

may I tell you to make life simple and to make things simple.

create one partition one and one swap. Why because on a full install it usese a lot of space. since you are new
to Slackware you may not understand he space you may need. and any time down the road you may make other partitions and then mount them as /home or /usr. when you install to one partition it still creates those directories.

One create a recovery disk for windows. 2 install slackware install lilo or grub2 as of slackware 14.1 to the mbr (master boot record). lilo will work fine.

ok let's say you did all that and it is a default install. And you get to darkstar and you log in as root

and type startx the feed back is a error it is not loading the graphics driver. since there is many HP G72 laptop
models and types I am not sure of your exact model.

Not sure but booting from the cdrom you may pass a option on like this nouveau modeset=0
and force it to use the VESA xorg.conf and see what happens.

I am sure before I get this written some other kind slackers will pick this up also.

notoMS 08-15-2014 12:38 AM

Hey, Drakeo. I guess I should have provided more info. The exact laptop model is HP G72-B60US, Product Number XG988UA#ABA.

I have a large hard drive in the laptop, so I had more than enough space after reducing the size of my Windows 7 partition. Before installing Slackware I used cfdisk to create the partitions. Here are the Linux partition sizes and partition types:
sda3 - 8GB Linux Swap (Linux type 82)
sda5 - 20GB for / (Linux type 83)
sda6 - 30GB for /usr (Linux type 83)
sda7 - over 65GB for /home (Linux type 83)

I allowed Slackware to install the Linux ext4 file system (default selection) on the partitions during the installation.

During installation I followed the instructions per the Slackware-HOWTO.txt document provided in the slackware64-14.1-install-dvd.iso, except I added the two additional partitions based on some forum recommendations that I read. When I mentioned that I did not setup LILO, it was per the warnings given in Section 4.7 of the Slackware-HOWTO.txt document that recommended folks new to Slackware refrain from setting up LILO during installation.

When I boot the computer from the CD-ROM, I receive the Slackware boot: prompt. At the boot: prompt, I enter the following: huge.s root=/dev/sda5 initrd=0. This then takes me to the darkstar login: prompt. At the prompt I enter root. At the root@darkstar: prompt I enter startx. That's when I receive the black screen.

As a side note, I also attempted the Xorg -configure test procedure found in the Slackware-HOWTO.txt document [entered Xorg -config /root/xorg.conf.new at the prompt], which according to the document is supposed to "...load the initial xorg.conf.new file and run the X server. If you see the default black and gray checkered background with a mouse cursor appear, the the configuration was successful. To exit the X server, just press Ctrl+Alt+Backspace simultaneously." BUT... when I did so, it went to the black screen, and the Ctrl+Alt+Backspace did not return to the prompt. It was just locked-up. I had to manually turn off the computer and turn it back on.

I hope this additional information provides enough to be helpful in assisting me. Thanks again!

Drakeo 08-15-2014 03:29 AM

Quote:

As a side note, I also attempted the Xorg -configure test procedure found in the Slackware-HOWTO.txt document [entered Xorg -config /root/xorg.config .new at the prompt],
This is the problem because by default nouveau module from xorg is loaded it is pretty much default for all linux systems. when it loads it never
looks at you /etc/x11/xorg.conf file. MMM http://docs.slackware.com/slackware:install this has been the way for ever.
second question where did you get the cdrom. :).
That graphics cards is very well supported by the kernel Slackware is running.
but for some chance the nouveau that is causing a problem you may use the vesa frame buffer instead by blacklisting nouveau

/etc/modprobe.d/blacklist.conf.

or from the prompt you can try. huge.s root=/dev/sda5 initrd=0 blacklist nouveau

huge.s root=/dev/sda5 initrd=0 nouveau modeset=0
but unless you have a understanding of the /etc/x11/xorg.config file do not mess with it.

Quote:

when I did so, it went to the black screen, and the Ctrl+Alt+Backspace did not return to the prompt. It was just locked-up. I had to manually turn off the computer and turn it back on.
press alt F2 and it will open a new tty. screen. or alt F1 to see it it will come back. when slackware boots you start a tty1 you may have several tty's that is the equivalent of having multiple desktops in command line. have alt F3 will open tty3.

then if you run like that procedure said in the old how-to]'s I am unable to find. It will cause problems. and it will never be read because the nouveau module is being loaded first.

Again slackware out of the box should boot that laptop.

Didier Spaier 08-15-2014 06:49 AM

My advice:
  1. Reformat you hard disk with only two partitions for Linux: swap (4 GB should be enough) and / (the remaining space). You don't need separate partitions: neither for /usr (completely useless) nor /home [1]. You'll have to reinstall Slackware afterwards, but that's no no big deal.
  2. Reinstall Slackware.
  3. Reboot the installer again and at the boot: prompt, enter a command to start your installed system as you did already (of course replace /dev/sda5 with the new partition name).
  4. Run liloconfig to install the boot loader.
[1] Some people still use a separate /home partition. This can be useful to share it in case you have several Linux installations (but this is not the case) or to ease upgrading to a new Slackware version (keeping you data files). But in my opinion it is easier then to just backup all your /home's content on an external hard disk before upgrading then after upgrade restore only what you need to keep.

As Drakeo said no xorg.conf file should be needed. But in case you have again a black screen after running "startx", come back here for advices.

notoMS 08-17-2014 12:55 AM

Still having problems...

I implemented the recommendations made by Drakeo and Didier regarding redoing my partitions. I did, however, use a /home partition. I deleted all existing Linux files, repartitioned the drive with cfdisk, and re-installed Slackware.

I now have 3 primary partitions, and only 2 extended partitions. Here's my revised partitioning schema:
sda1 - the Windows boot partition
sda2 - the Windows 7 installation
sda3 - 8GB Linux Swap (Linux type 82 file system)
sda5 - 50GB for / (Linux type 83 file system)
sda6 - over 65GB for /home (Linux type 83 file system)

In order to ensure I did not have a corrupted Slackware install .iso file, I downloaded the slackware64-14.1-install-dvd.iso file from the Slackware URL: ftp://ftp.slackware.com/pub/slackwar...re64-14.1-iso/ and made another install DVD.

During the Slackware install I allowed it to create another bootable USB drive.

During the Slackware install I allowed it to install LILO to the Linux root partition (/dev/sda5).
NOTE: I wanted to ensure I could still boot into Windows in case I still had issues so I did not allow LILO to modify the Master Boot Record.
I setup LILO to use the Linux / partition (/dev/sda5) as the default, and the Windows boot partition (/dev/sda1) as the second option.

I then used cfdisk to change /dev/sda5 to be the bootable partition.

I restarted the computer, and once again received the black screen.

And, the computer still won't boot from the USB boot stick that I created during the Slackware installation [note: the computer will boot from other USB drives, such as the one I have for Slax Linux, so the problem isn't my BIOS boot order].

Any suggestions on what to try now?

yancek 08-17-2014 09:40 AM

Quote:

I restarted the computer, and once again received the black screen.
Are you saying you are not able to boot windows either? You indicated previously that you left windows code on the master boot record and installed Lilo to the Slackware partition. If that is the case, you need to manually create a boot entry for Slackware in your windows boot file. Your computer boots, looks to the mbr and has options there.

Quote:

I then used cfdisk to change /dev/sda5 to be the bootable partition.
A windows system needs the boot partition marked as active/bootable. It is not necessary for Linux.
You might go to the site below and download and run the bootinfoscript. Post the results here, a results.txt file. There is a link in the Description box at the site explaining how to run it. It must be done from Linux.

http://sourceforge.net/projects/bootinfoscript/

Are you able to boot windows?

notoMS 08-17-2014 12:28 PM

Hi, yancek. I was only able to boot into Windows again by changing the /dev/sda1 partition back to being the boot partition. Then, the computer boots as normal into Windows 7 just as before I installed Slackware - no LILO screen.

Since I used the option to install LILO to my Slackware partition (/dev/sda5) instead of editing the Master Boot Record, that I would have to set that /dev/sda5 to be the bootable partition?

I will take a look at the bootinfoscript site, per your recommendation.

Didier Spaier 08-17-2014 04:24 PM

As long as you didn't update the MBR and made /dev/sda1 bootable, it's normal that only Windows 7 can boot, that's right.

If you want to use LiLo's boot menu again, you'll just have to make /dev/sda5 bootable instead (and not /dev/sda1 at the same time, of course). For that you can boot off the CD again, then start Linux on /dev/sda5 as you already did, and after login as "root" use fdisk or cfdisk to mark /dev/sda5 as bootable instead of /dev/sda1.

To understand why you get a black screen when running startx, we need to know what error messages are triggered.

You can get that information easily: once logged in Linux, do not run startx, but please do what follows:
  • Plug in a formatted USB stick
  • Check how it is named looking at output of "lsblk". I'll assume that it has a partition called /dev/sdb1, else adapt to what you see.
  • Mount it typing
    Code:

    mount /dev/sdb1 /mnt
  • Issue following commands:
Code:

lspci -knn | grep -A3 VGA > /mnt/lspci.txt
cat /var/log/Xorg.0.log > /mnt/xorglog.txt
umount /mnt

  • This will have written the files lspci.txt and xorglog.txt to the USB stick. Please attach their contents or copy/paste them to your next post so that we can see what drivers are usable/used by your video card and what went wrong.
About the non bootable USB stick written at the end of installation: this is due to bug in the installer[1]. As a workaround you can make a bootable US stick once logged in Linux. Just run the following command (you don't need to start X to do that):
Code:

/var/log/setup/setup.80.make-bootdisk
[1] (For the records) In Slackware 14.1 that uses syslinux 4.0.6, the syslinux command used to write the USB key would need the shared object /usr/lib/gconv/IBM850.so that is missing from the installer. This can be fixed either in shipping it in the installer or in using syslinux-nomtools binary instead of syslinux, as mtools uses the IBM850 codepage as default. I'll check if that's fixed in Slackware-current and else will request a fix to Pat.

notoMS 08-17-2014 10:43 PM

Hi, Didier.

1. I ran the two log file commands, per your instructions.

I received a response that No such file or directory exits for the command: cat /var/log/Xorg.0.log > /mnt/xorglog.txt. Therefore, the xorglog.txt file was empty. Out of curiosity, I ran the following command to verify that the Xorg.0.log wasn't in the /var/log directory: ls -a /var/log. This verified that there were not any files listed beginning with "xorg".

Here are the contents of the lspci.txt file:
00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 02)
Subsystem: Hewlett-Packard Company Device [103c:1439]
Kernel modules: i915
00:16.0 Communication controller [0780]: Intel Corporation 5 Series/3400 Series Chipset HECI Controller [8086:3b64] (rev 06)

-----------------
2. Regarding the bootable USB stick... I used the code you provided, and the files were created on the USB stick. However, the computer still will not boot from it. Perhaps I didn't setup the USB stick correctly? I used a new USB stick that I had formatted in Windows 7 as FAT32. Should I have used cfdisk and partitioned it first? Or, should I have used mkfs to make a different file system on it first?
Here are the contents of the USB stick:
EFI directory
f1.txt
ldlinux.sys
message.txt
syslinux.cfg
vmlinuz

Please advise. Thanks!

onebuck 08-18-2014 09:31 AM

Member Response
 
Hi,

Linux does not require you to set the boot flag. MS Windows does.

Since you placed lilo on the '/dev/sda5' then try booting the installer DVD then follow the information for the boot prompt;
Code:

Boot: huge.s root=/dev/sda5 initrd=ro nomodeset
You should get your Lilo boot screen for the Slackware install. If the '/etc/lilo.conf' is setup properly then you should see your Slackware listed. Pick that. You should then boot into your install. If not then please post your Slackware '/etc/lilo.conf' file. You can use Slackware Doc Project;
Quote:


Hope this helps.
Have fun & enjoy!
:hattip:

Didier Spaier 08-18-2014 04:25 PM

Quote:

Originally Posted by onebuck (Post 5223124)
Linux does not require you to set the boot flag.

Only if LiLo is installed on the MBR. If it's installed in the / partition of Linux (e.g. /dev/sda5) the boot flag is needed. That said, I agree that seeing /etc/lilo.conf will be useful.

@notoMS:
1. When you do a ls /var/log, you should look for files beginning with X, not x, a Linux is case sensitive. Thus is you typed
cat /var/log/xorg.0.log
instead of
cat /var/log/Xorg.0.log
it's normal that the file be missing.

Else, did you type "startx" once before running the "cat" command? I ask before the file /var/log/Xorg.0.log should be (over)written every time you run "startx".

Also, when you say that typing "startx" you receive a black screen, do you mean that the screen becomes fully black instantly, or do you first see some messages and then, which ones?

Other question, did you make a full Slackware installation (installed all packages), as recommended?

Also, did you type exactly as I wrote it the command:
Code:

lspci -knn | grep -A3 VGA
I ask because the output seems to be missing a line. For instance here:
Code:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G86M [Quadro NVS 140M] [10de:0429] (rev a1)
        Subsystem: Lenovo ThinkPad T61 [17aa:20d8]
        Kernel driver in use: nvidia
        Kernel modules: nvidiafb, nouveau, nvidia
bash-4.2#

So I would have expected a line beginning with "kernel driver in use", that is missing from your output.

2. Regarding the bootable USB stick, I just made one on Slackware64-14.1 using the command:
Code:

/var/log/setup/setup.80.make-bootdisk
and was able to boot off it.

So just a thought: did you set up the BIOS of your machine to first try an USB boot (before any other media), else to boot off an USB stick once? If you forgot that it's normal that you couldn't boot off the USB stick. Also, some BIOS need a specific setting to allow booting off an USB device.

PS No preparation of the USB stick is needed as anything on it is first wiped out by the script, and the content you posted after running the command seems correct.

onebuck 08-18-2014 06:29 PM

Member Response
 
Hi,

The boot flag is not required for Linux even if you specify a partition other than on the IPL with MBR. You can select other partition to boot without specifying a boot flag as long as the loader configuration file is setup correctly;
Quote:

From Boot flag;
A boot flag is a 1-byte value in a non-extended partition record, within a master boot record. Its primary function is to indicate to a MS-DOS/MS Windows-type boot loader which partition to boot. In some cases it is used by Windows XP/2000 to assign the active partition the letter "C:".[1] The active partition is the partition where the boot flag is set.
Other boot loaders used by third-party boot managers (such as GRUB or XOSL) can be installed to a master boot record and can boot primary or extended partitions, which do not have the boot flag set.
The boot flag appears in a disk editor at the beginning of a partition record, as the value 0x80. A value of 0x00 indicates the partition does not have the boot flag set. Any other value is invalid.
EDIT:If you are using a GPT disk then:
Quote:

From http://www.rodsbooks.com/gdisk/bios.html
There are several possible remedies when booting a GPT disk on a BIOS-based computer. If your computer is completely unresponsive, you'll have to disconnect your hard disk from the computer and connect it in some other way or to another computer. I've heard of people successfully hot-plugging SATA drives after booting without the affected disk, but this is very risky with PATA drives. External enclosures or "naked" adapters to plug PATA or SATA disks into USB ports are good options. I recommend you try the following, in more-or-less the listed order, should you encounter such problems (but see below for an entirely different type of possible solution):

Set the boot flag on the type-0xEE partition in the protective MBR. You can do this with several different programs:
You can use version 2.22 or earlier of Linux fdisk, but do not use fdisk version 2.23 or later, since this version adds GPT support and so won't change MBR data structures on a GPT disk. In fdisk, type a followed by the partition number (probably 1), then type p to view the partition table. An asterisk (*) should appear in the Boot column for the relevant partition. You can then type w to save your changes.
Recent versions of parted enable you to type disk_toggle pmbr_boot on GPT disks to toggle the MBR boot flag on and off. (It will be on when you type print and the Disk Flags line reads pmbr_boot.) Do not attempt to set the "boot flag" on any GPT partition in parted or GParted; this will adjust the GPT partition, not the protective MBR.
In theory, you can use other GPT-unaware tools to make this change, too; but you must use a tool that will alter the MBR data structures, not the GPT data structures!
Hope this helps.
Have fun & enjoy!
:hattip:

Drakeo 08-18-2014 09:02 PM

I been checking this thread everyday.

1 I am going to figure The User did a good install.
2. Since a good install want to look at why no DE.
3. Long time ago had a problem like this with another card maker but that was different.
. The other times I had this problem is when I set up grub wrong on a slack box. Load the
wrong kernel for the operating system. This would reproduce what is going on.

another would be the module not loading. another would be nouveau mesa problem.

last but not least I did this once loded the 64 bit kernel on a 32 bit system did that
and well you know.

When is a simple install not getting that card and xorg to work? when many slackware boxes
on the same hardware are doing fine. I just going to keep up with the thread.

Food for thought.
last but not least try startxfce4 and see what happens. because I do remember
a long time ago with kde there was a start up problem with the default 3d desktop.

perbh 08-18-2014 09:55 PM

I might be too late to the 'party' - but in the 'old days', the boot-flag had to be on a _primary_ partition!
So - instead of using /dev/sda3 for swap, that's where you should put your linux root-partition - or at least making it a linux 'boot'-partition.


All times are GMT -5. The time now is 08:44 AM.