Reconfiguring X on Boot


Forum: X and Fluxbox
Topic: Reconfiguring X on Boot
started by: Harryc

Posted by Harryc on Sep. 01 2008,19:38
I have a Toshiba 3110ct that I am trying to install DSL on. It does not have a CDROM drive, so I found a tip on the net that said to put it's hard drive into another machine (in my case a Thinkpad R51) and install Linux (in his case Mepis) on it, then transfer the drive back into the Toshiba and boot up. The tip author says he had to first rename /etc/X11/xorg.conf while the HD was in his build machine so that X would reconfigure on boot. This is to be done before transferring it into the Toshiba. Here's the link for the tip -
< http://www.mepis.org/node/12115 >

In the case of DSL, do I just need to rename .xserverrc ? Or do I need to bother at all? I'd like to get this right as DSL is installed and ready to go in the R51 (hard drive install, not frugal) and it is not trivial to install the HD in the Toshiba. Any tips would be appreciated. If I can boot to a root command prompt, what would be the command to reconfigure X for DSL.? Is it sudo xserver.sh ?

As you can see I did just enough research to be dangerous :). Thanks in advance from a long time Linux user but a newbie to DSL.

Posted by Harryc on Sep. 01 2008,21:46
Well, I got impatient and tried it anyway. The Toshiba boots up to Entering run level 5, then just hangs on 'If you want to change resolution, run 'xsetup.sh', with a blinking cursor. Any ideas on how I can configure X at this point?

Edit: I was able to boot into run level 2 and I ran sudo xsetup.sh. I went through the screens and rebooted. Same issue, hangs in the same spot.

Edit2: I reinstalled DSL one more time, this one was a frugal install. Exact same issue. Can anyone give me some hints on how I can install xorg? I am thinking this old Trident Cyber 9525 Video  chipset is not supported in DSL out of the box. Keep in mind again, no CDROM. This laptop does have a USB port and I do have USB thumb drives. Also, I do not have a network connection yet.

Posted by Harryc on Sep. 02 2008,02:48
How do I install XFree86.dsl from run level 2?

< http://www.damnsmalllinux.org/wiki/index.php/XF86Config-4 >

It looks like the Trident Cyber 9525 is supported -

< http://www.xfree86.org/4.3.0/Status34.html#34 >

Please help me get DSL running ... I think I am close.

Posted by andrewb on Sep. 02 2008,03:25
Do you need the full Xfree setup? Have a look at:
< http://damnsmalllinux.org/wiki/index.php/Vga%3Dxxx >

I should think you will find some way to get X to boot from the above page.

Posted by Harryc on Sep. 02 2008,03:47
The dsl 3 cheat code gets me into run level 3 with no problem. When I issue the command 'Xvesa -listmodes' I get the blinking cursor, and there it stays.
Posted by roberts on Sep. 02 2008,03:59
I would first do as Andrew has suggested. If that does not work then since you have a frugal install then also might want to try framebuffer. See the config file containing the append options. Some older laptops require framebuffer. There is a boot option called fb800x600 that you can type at the first boot prompt:

Do this:

boot: fb800x600

Not this:

boot: dsl fb800x600

If you can get X working without Xfree86 then you will save much memory.

Posted by andrewb on Sep. 02 2008,07:14
The lack of response in run-level 3 points to something else wrong with your setup. Try booting using the following:

dsl 3,base,norestore,frugal

If this still doesn't work I would try some of the other command-line options as well as the above (nousb,nodma,noacpi,acpi=off,,..... see:
< http://damnsmalllinux.org/wiki/index.php/Cheat_Codes >
for more options - i.e. turn off as much as you can.

you could try issuing the command ps or top to find out what is running as it looks like there is something running that is either hanging, or using a lot of cpu time.

How much memory do you have? You may want to try the lowmem option

Posted by Harryc on Sep. 02 2008,11:43
Thanks for the ideas guys, I will try them all and post back. I tried several FB options when I ran xsetup.sh, but I will try these suggested boot options as well. AndrewB, I have 64MB of RAM, 300Mhz PII CPU. I am getting another 64MB of RAM this week.
Posted by curaga on Sep. 02 2008,11:46
Your card seems to not be VESA 2.0 compatible. If you can't get framebuffer (Xfbdev) to work, there's a tinyX server for Trident cards in testing (Xtrident.tar.gz). It uses as little ram as the other tinyX, but you would get 2d acceleration.
Posted by andrewb on Sep. 02 2008,11:49
Quote (Harryc @ Sep. 02 2008,21:43)
Thanks for the ideas guys, I will try them all and post back. I tried several FB options when I ran xsetup.sh, but I will try these suggested boot options as well. AndrewB, I have 64MB of RAM, 300Mhz PII CPU. I am getting another 64MB of RAM this week.

That should run OK. I use DSL on a libretto 166MHz, 64Mb - runs real good - X works great using the methods described on the page about vga modes.
Posted by Harryc on Sep. 02 2008,12:11
Still working through the list. I changed the DSL grub boot to read "dsl 3,base,norestore,frugal" as the only boot options. Xvesa -listmodes still does not work. Top shows no unusual activity. Also, you folks mentioned a boot prompt. I do not have one. I am editing GRUB directly.
Posted by Harryc on Sep. 02 2008,12:54
I ran the following boot options, no change.
nopcmcia nousb nomce noddc nofirewire noscsi noagp noapm noacpi

Posted by Harryc on Sep. 02 2008,13:03
I ran fb800x600 as a boot option and booted into run level 3. I ran xsetup.sh and selected xfbdev xserver as the option. I ran startx and received the following error;

modprobe: modprobe: Can't locate module fb0
XIO: fatal IO error 104 (Connection reset by peer) on X server ":0,0" after 0 requests (0known processed) woth 0 events remaining.

Posted by Harryc on Sep. 02 2008,13:14
OK, I got it to work, thanks to a suggestion by Andrewb. I changed the following in GRUB boot line;

vga=normal

to

vga=0X314

Reference -
< http://gentoo-wiki.com/HOWTO_Framebuffer:Bootsplash:Grubsplash >

I am still running the xfbdev xserver. I'll try the vesa server next ...

I am VERY happy :)

Posted by Harryc on Sep. 02 2008,13:44
Here comes a newbie question - How do I edit /boot/grub/menu.lst in this read-only-filesystem environment?

Edit: Disregard, I answered my own question.
Reference -
< http://www.damnsmalllinux.org/f/topic-3-26-8732-0.html >

Posted by Harryc on Sep. 02 2008,14:56
xvesa xserver definately does not work, so xfbdev it is. Someone mentioned an experimental xserver for Trident. Where can I get it and how can it be installed?
Posted by curaga on Sep. 02 2008,15:18
MyDSL browser - search for trident. It's installed just like any other package, with some clicks.
edit: Remembered you don't have a net connection on this comp. Download it from < http://distro.ibiblio.org/pub.....tar.gz >
move to the comp, and then use MyDSL browser's Load local to load it.
To get it to load permanently, see the wiki.

Then the only change needed is to edit .xserverrc in your home directory to point into it (/opt/bin/Xtrident) instead of Xfbdev (keep the arguments). This file is in your backup automatically.

After that change, just restart X to be in the new X server. Either from the menu: Exit -> to command line and then type startx,
or reboot,
or kill X with ctrl-alt-backspace and type startx.

Posted by Harryc on Sep. 02 2008,15:23
curaga, perfect. I'll try it when I get my Netgear MA401 wireless card this week. Thanks to everyone who helped me out in this thread, it's appreciated.
Posted by andrewb on Sep. 03 2008,00:22
Quote (Harryc @ Sep. 03 2008,00:56)
xvesa xserver definately does not work, so xfbdev it is. Someone mentioned an experimental xserver for Trident. Where can I get it and how can it be installed?

The xvesa server still won't work once you put anything other than vga=normal in the boot line. Using vga=0x314 as you did sets a framebuffer  so you must then use xfbdev. xvesa requires a VESA (>1.2 I think) compliant video BIOS. There have been suggestions to boot to DOS, run a TSR such as uniVBE to provide a VESA compliant video BIOS & then boot into DSL using loadlin. I have not been successful with this on either the libretto or an old IBM laptop that I have used. During the Linux boot the settings from uniVBE were overwritten & thus unavailable.

You may be able to use the x-server for your trident card, if you can find it, by following the instructions regarding using the svga server at the bottom of the wiki page on vga modes.

Posted by curaga on Sep. 03 2008,11:52
@andrewb: XFree 3.3.6 servers, which I think you're talking about, aren't really recommended. Hard to set up and old tech. Xtrident is a tinyX server, as easy to use as Xvesa..
Posted by Harryc on Sep. 03 2008,16:40
I finally got online today. Dillo or Firefox is very, very slow scrolling on any web page. Do you think it's the 64MB RAM or a Framebuffer xserver issue? I am running 800x600 16bit Framebuffer.
Posted by curaga on Sep. 03 2008,17:14
Both. Fbdev does not have the shadow option which speeds up scrolling on Vesa a lot.
With Xtrident you should get anything 2d fast.

Posted by Harryc on Sep. 03 2008,18:14
Quote (curaga @ Sep. 02 2008,15:18)
Then the only change needed is to edit .xserverrc in your home directory to point into it (/opt/bin/Xtrident) instead of Xfbdev (keep the arguments).

When I changed .xserverrc to point to /opt/bin/Xtrident I get the following error on startx;

giving up.
xinit: No such file or directory (erro 2): unable to connect to X server
xinit: No such process (erro 3): Server error

As a side note, /opt/bin/Xtrident does exist. This is a frugal install, does that matter?

From a console;

ls -l /opt/bin/Xtrident
-rwxr-xr-x   1  root  root  751800 Apr 3 2007 /opt/bin/Xtrident

Here's the entire new .xserverrc

exec  /opt/bin/Xtrident -2button -mouse /dev/psaux -nolisten tcp -I &>/dev/null

The other bit of information that I can think of that may be pertinent is that I setup 3 partitions for the frugal install per this guide;
< http://www.damnsmalllinux.org/f/topic-3-26-8732-0.html >

hda1 is for the image
hda2 is swap
hda3 is /home and /opt

Maybe my .xserverrc should be;

exec  /mnt/hda3/opt/bin/Xtrident -2button -mouse /dev/psaux -nolisten tcp -I &>/dev/null

I did check before running startx and /mnt/hda3 is mounted. Then again, shouldn't /opt/bin be in the path? This is confusing. Any help?

Edit: I did check and /opt/bin is in the $PATH
Edit 2: exec  /mnt/hda3/opt/bin/Xtrident produced the same errors.

Posted by Harryc on Sep. 04 2008,11:15
Anyone, please help me get this Xtrident xserver running.
Posted by curaga on Sep. 04 2008,13:17
What happens if you run it from the console (outside of X)? ie not startx, just Xtrident without any options.
Posted by Harryc on Sep. 04 2008,13:47
Where is the X log in DSL? This distro is like learning the Martian language for me :).
Posted by Harryc on Sep. 04 2008,14:04
Quote (curaga @ Sep. 04 2008,13:17)
What happens if you run it from the console (outside of X)? ie not startx, just Xtrident without any options.

If I run it as user 'dsl', I get ;
fatal server error
Linux Init: Server must be Suid root


If I run sudo or sudo su Xtrident I get;

_XSERVTransSocketOpenCOOTSServer: Unable to open socket for inet6
_XSERVTransOpen: transport open failed for inet6/box:0
_XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6

Doesn't this sound like a permissions mixup? But where?

Posted by curaga on Sep. 04 2008,15:03
So, you did get the X background and mouse as root?

I just got freaked I had forgotten the suid bits off Xtrident, but they are there in the package.
How is your persistent opt set up? Somehow the suid bits have come off after installing Xtrident.

To restore them: "sudo chmod +s /opt/bin/Xtrident"
After that it should work as user dsl and with normal startx.

Edit: There is no X log. TinyX servers don't create one, only "full" X does.

Posted by Harryc on Sep. 04 2008,15:32
Quote (curaga @ Sep. 04 2008,15:03)
So, you did get the X background and mouse as root?

How is your persistent opt set up? Somehow the suid bits have come off after installing Xtrident.

Thanks for the reply. I changed suid per your command and startx yields the same errors.

Xtrident as dsl user returns;

Fatal server error
LinuxInit: Server must be suid root

Xtrident as root returns the same errors (I found they are harmless IPV6 errors) but then it just hangs. No errors. I can Ctrl -C out of it back to the command line, and I get "X server terminated by an interrupt issue. Alt consoles don't reveal any errors.

Persistent opt...well all I did was what I posted earlier;

Quote
The other bit of information that I can think of that may be pertinent is that I setup 3 partitions for the frugal install per this guide;
< http://www.damnsmalllinux.org/f/topic-3-26-8732-0.html >

hda1 is for the image
hda2 is swap
hda3 is /home and /opt


In menu.lst I added home=hda3, opt=hda3, mydsl=hda3

Do I need to do something else?

Edit: I'll tell you what's interesting, on a normal boot I see the message "Entering run level 5 Xtrident". How do I tell if it's actually running? This is still with Fbdev in .xserverrc.

Posted by ^thehatsrule^ on Sep. 04 2008,16:28
Quote
Xtrident as root returns the same errors (I found they are harmless IPV6 errors) but then it just hangs. No errors. I can Ctrl -C out of it back to the command line, and I get "X server terminated by an interrupt issue. Alt consoles don't reveal any errors.
Maybe you need to manually switch to it (i.e. ctrl+alt+F2 )?  FYI, passing "-nolisten tcp" should get rid of those warnings.

Perhaps you could try not using a persistent opt, or maybe just place the binary in /usr/X11R6/bin (or /usr/bin maybe).  Make sure the setuid bit is set.  If there are still problems, what are the permissions on the file? (you could use `ls -l /path/to/Xtrident `)

Posted by Harryc on Sep. 04 2008,16:34
Both of you folks mentioned persistent opt, but I think I already set that up. I am new to DSL, so maybe I have not, or have not done it properly. Can you point me to a link with steps on how to set up persistent opt?

As far as permissions;

ls -la /opt/bin/Xtrident
-rwsr-sr-x 1 root root 751800 Apr 3 2007 /opt/bin/Xtrident

Posted by Harryc on Sep. 04 2008,17:32
Quote (^thehatsrule^ @ Sep. 04 2008,16:28)
Perhaps you could try not using a persistent opt, or maybe just place the binary in /usr/X11R6/bin (or /usr/bin maybe).

If I put it in /usr/bin or /usr/X11R6/bin , the Xtrident file gets erased on reboot. ctrl-alt-f2 gives me a flashing cursor on a blank screen. I am beginning to think it just will not run on this machine. To run the Xtrident xserver, do I need to put in or remove any options in /boot/grub/menu.lst? I still have the framebuffer option in there...vga=0x314. I tried vga=normal, and I tried removing it all together.

Posted by Harryc on Sep. 04 2008,17:50
Quote (^thehatsrule^ @ Sep. 04 2008,16:28)
Perhaps you could try not using a persistent opt ...

Ok, if I understand persistent opt, it is enabled in grub by adding the following to the kernel line 'opt=hda3', in my case. So, I removed that entry in menu.lst, booted up,  and X still hung at the same spot. Do I also need to remove vga=0x314 ??

Edit: I tried removing vga=0x314 and adding vga=normal along with removing persistent opt. Same problem.

Edit2: Also what about xsetup.sh, does Xtrident xserver ignore it?

Posted by Harryc on Sep. 04 2008,19:08
Seems there is a fix for this problem on Puppy. Any chance this will work on DSL ? I'd rather hang in there with you guys :), you've been great.

< http://murga-linux.com/puppy....6ff9a63 >

Posted by curaga on Sep. 05 2008,14:00
Puppy (and that thread) use Xorg (the full X server). It is possible your specific chip isn't supported in Xtrident, so to using Xfbdev or one of the full X servers could be the only way.

Setting XFree86 or Xorg up can be more tricky than one of these tinyX servers, but then you'd get near-perfect acceleration. They are both big, but Xorg is an uci so it saves ram.

After loading Xorg, get out of X, and:
Quote
sudo su
/opt/xorg72/bin/Xorg -configure
And it will autoconfigure you a new xorg.conf file into /root. Edit as needed, then copy it to /etc/X11/ as "xorg.conf", add into your backup, and edit .xserverrc to "/opt/xorg72/bin/Xorg -nolisten tcp"..

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.