Basic installation of Suse on a HP Pavilion tx1000
I am a linux newbie and Windows VISTA enthusiast. However, I installed linux a few times since RedHat 6, for a glimpse at its look & feel. This time, I went on with Novell's Suse 10 SP1 on my brand new HP 12" AMD laptop. Glad to present you my very first linux tutorial.
I am willing to explain my findings, in a step-by-step fashion. I will cover a few linux-related "side-subjects" in this story, if that's OK with you.
Why did I choose the 32-bit edition of Suse ? Well, the 64-bit was giving me headaches installing such simple things as the Java runtime, and OpenSuse was lacking too much, in terms of installed packages.
Note that Suse Desktop is not really trialware as many believe, you need to register to download it but it won't stop working after the trial period. (It's supposed to stop updating, it shouldn't affect Yast though...)
Admittedly, ReiserFS is the linux file system of choice for the Desktop.
So three ReiserFS partitions were created on my system, in a logical one. Root, of course, /home and the swap file (about 2GB). I left Windows Vista on the hard drive, Grub got that right.
What drivers did I have to install first ?
Out of the box, The laptop (which I call Turionic, since it's CPU is a 2xTurion) didn't have any sound, nor wifi support. I also installed the nVidia geforce driver via Yast.
Also, I installed Mplayer (KMplayer is a nice addition) and the Xine libraries followed. This was a bit tricky, since included ones were useless and 10 repositories were broken, I had to use Packman 10.1's.
You can get the latest win32 codec pack from :
Phew ! Talk about Google being your friend...
Finally, I managed to setup the shares correctly in order to browse Windows PCs from linux. Mind you, this was done by setting up a NFS Server on one of the PCs instead of using Samba directly on Turionic.
NOTE : To update properly, add OpenSuse's 10.1 and Packman's repositories (URL at the bottom)
BUT fresher packages are usually available on the project's owner websites, so don't hesitate to compile from source. (Essential for drivers updates)
NOTE² : All this obviously applies to other HP TX laptops (tx1120, tx1240, tx1350...)
Now, this can be pretty painful, since a wrapper should be used to install those lacking-linux-drivers broadcom wifi chips AND the module may not load automatically.
A little research on the following could be useful :
- Network Manager VS ifup
- WEP VS WPA
- determined my Broadcom BCMxxxx
- Grabbed the bcmwl5 Windows XP drivers from HP web site. For ndiswrapper, it consists of the .inf and the .sys files.
- Installed the latest ndiswrapper (v1.52, without usb)
- Installed the bcmwl5 driver
- Added a second network adapter via the Knetwork Manager
- Typed in : wireless, name -> ndiswrapper, SSID <your provider's>, the 128-bit key I had previously setup at router level (26 digits)
- Unloaded / loaded the module via modprobe (the module may not be loaded yet)
NOTE : If "device..." doesn't appear right under "driver x installed" when probing, you should keep searching for the right driver.
NOTE²: Switch off/on your wifi module, you'll notice it works somehow in conjunction with Bluetooth
- Disabled IPv6 as it is said to be responsible for sluggish Internet connexions
Optional : Checked access point(s) with
iwlist wlan0 scan
At this point, it is possible to manually configure the setup via iwconfig wlan0. However, it should be OK to have all the wifi data stored in Network adapter/<your wifi module> settings.
The wifi module is the BCM4328 pre-N (different revision number displayed when running Vista)
- in Software,+/- Software, typed nVidia, installed the G01 drivers (both the kernel and the x11 module)
NOTE : This is the fast and easy way to get hardware acceleration BUT it has drawbacks. There are more sophisticated methods around. Stay tuned.
NOTE²: there is no clear indication that the G01 driver is the one I needed. I really think repositories maintainers should DESCRIBE the packages a bit more. Also, the tiny-installer should not be there anymore, since it's deprecated.
- In text mode, typed : sax2 -r -m 0=nvidia to initialize the correct driver
You should see the nVidia logo just before x11 returns to life.
NOTE : Repeat the last operation but replace nvidia with vesa if you have trouble loading the desktop
- I used vga=extended & splash=verbose in grub to setup splash loading screens accordingly to my needs.
That leaves us with the following problem :
NOTE : Something went wrong with the resolution of the text mode when the driver was loaded. You may notice a strong flickering at shutdown, and more annoyingly after hibernate mode.
NOTE² : By any means, REBOOT immediately after making modifications to your display settings via sax2.
NOTE3 : You need to switch to init 3 by typing "init 3" in the Konsole and login as root.
- Typed the command I had memorized, then rebooted.
*CAUTION* : I had to "hard reboot" the computer a few times (wow, scary !) without being able to load the desktop. I suspected the non-smp drivers to be more stable. You could stick with the default nv drivers but... (see below).
- In such cases, my advice is to check the filesystem, from the Suse DVD. In expert mode, simply check sdax for errors, x being the id of your root partition. That's it, quit the Suse installer, reboot.
NOTE : Don't use the automatic settings for repairs, I found it makes weird proposals (like changing the mount point of the root partition, uselessly configuring grub once more...).
...There is a SIMPLE WORKAROUND : Install only the normal G01 nvidia driver, the normal kernel will follow. What happens at next reboot is a new entry in your grub menu. Default to this, and reinstall the wifi driver after reboot.
You shouldn't loose SMP capabilities (granted, it would be a little ironic for a linux system), but the loading/shutting down of Suse desktop is flawless as before.
Optional : Patch the driver via Yast/online updates. Fill in a bug report aimed at Nvidia.
My video adapter is the Geforce 6150 based on the nforce 430 chipset
- Installed manually the latest ALSA driver (v1.0.16)
- Ran Alsaconf
- Added the famous "options" line to /etc/modprobe.d/sound
NOTE : The device should not be disabled anymore (orange led turns to blue)
- Ran the Alsamixer
- Pushed the front and PCM slider up
My audio device is the Realtek ALC861-VD
* NFS SHARES
Now you want to setup a NFS server in order for the NT computers to share their numerous resources with linux.
NOTE : I don't have the ability to discuss the insights of NFS, I just hope some Samba expert will not jump at me for that slight offense ;)
Disable Samba loading at startup in Network services if you have installed the server (you won't be able to browse linux shares from the PCs, but you want to make it possible the other way round, don't you ?)
- Installed a NFS server on the Windows computer I usually start first.
- Designated it as the NIS Server
NOTE : I am not sure one can find a place to download a *free* NFS server for Windows, I had to use a shareware, so this will hold for a few days until I buy the product.
- Edited the host file accordingly to the host names and static IPs (192.168.x.x) in the network. It should be edited for each newly connected computer.
- Setup NFS user(s) & group(s) (administrators, obviously)
- Added shares
- Restarted server
NOTE : G/UID = 0 for Windows groups/users
- Back in linux, added the server ip to Hosts Names
- Indicated the domain was "workgroup"
- Loaded NFS shares via Network Services/NFS client (simply indicate the "name" of the NIS server), then browsed
- Created the mount points (mkdir <share#x> in /mnt/ as root)
NOTE : sharing folders, not entire partitions seems preferable, security wise
- Propagate the read/write authorizations via chmod -R a+rwx (if your mounted subfolders/files are locked, chances are they aren't owned by root).
*updated* REPOSITORIES I USED (full URLs)
(please, choose other mirrors if you're not downloading from the EC)
NOTE : There was a tool that seemed promising, considering how cumbersome it may be at times to update, namely "apt4suse". Too bad it's been discarded.
That's it. I added a couple of desktop applet, volume control, the resource monitor tool and the turn off button, a Mac OSX iconset, and activated a few included effects. Cool, but nothing to brag about... Despite the upcoming eye-candy KDE4, I should let you know that I am interested in Compiz/Beryl feedbacks.
Any comment, remark appreciated. Also, feel free to tell me if screen captures could improve the readability of these instructions.
Now that I am done with the basic install, I shall open a new thread for setting up a GTK+/Python dev. environment, determining what to choose among additional packages and such.
forgive me for commenting...found in the zero reply list.
This is a success story so to maximise your exposure you could report your post and ask mods to move it to success story.
Linux tends to use howto in the title to indicate how to do something.
When talking about specific hardware you could consider doing an entry in the HCL. But to expand your current tutorial you may wish to consider naming some chipsets and bios settings. Otherwise people may dismiss your success as limited to brand x model y laptop=noteboot etc.
BTW I am not a moderator so feel free to dismiss my suggestions. good luck
Thanks for your remarks, aus9. I added some more info about the tx1000 hardware and the HOWTO tag. However, I think this thread is quite related to Suse and Opensuse.
See, I've read a few "success stories" about installing linux on the tx series, some of them were good but disseminated on blogs, and some were rather preliminary setup than actual installs (like : I hear a sound, I move on to graphics, I see the nvidia logo, I move on to wifi...).
Changing subject, for retro-gamers out there, I tried to run Advance mame with the Advance menu, thinking it would be a smarter choice than SDLmame... well, I was wrong. Advance mame is very stiff to configure because it compiles with the framebuffer support and it needs additional configuration to load the sdl libs correctly. Finally, when I managed to launch the menu, I thought it was not worth the trouble.
So go for SDLmame ! I know it doesn't have all of advance mame features, most notably concerning screen modes, but it is the closest thing to a modern linux mame emulator, inmho. As the name doesn't imply, it supports openGL.
Obviously, you will soon get tired of running your mame games from command line, so a good frontend is what you need for it. (yeah ! I know the win32 ports are a piece of cake to configure, but running mame from linux may serve specific purposes, like being included in a cabinet)
Talking about gaming, here are some linux ports that got wide exposure :
- Quake II (install the demo or the retail version via the excellent Loki installer)
- FreeCiv (available via online update)
- Danger from the Deep (available via online update)
- Darwinia (download the demo here http://www.darwinia.co.uk/downloads/demo_linux.html )
I am not saying you will manage to get these games to work under Suse linux, or that they are the best games to start with, use at your own risk.
For the dumb :
- Create/Obtain the recovery CDs/DVDs from your vendor before butchering your hard drive with linux partitions. Don't delete the recovery partition. In acquaintance with laptop vendors, Microsoft use security measures to prevent unauthorized use of the provided OS.
- Know what version of Suse / OpenSuse & Kernel you are running
- Shutting down the workstations properly is highly desirable, even if it has the journaling feature.
- Backup on a regular basis. There is a Win32 tool to copy files from this kind of partitions. Investigate some tools to make proper backups (like those with full image backup capabilities, dar, rsync...). The one included, System Backup & Restore, seems rather raw.
- You shouldn't need to use online update extensively, get the packages you need via +/- software instead. Again, to build from source, check the home pages for fresher versions when needed.
- Always tick the check dependencies box, starting at initial package selection. Accept the proposed changes, except if conflicts occur.
I have gathered a bit more information about this hard-reboot issue.
Apparently, with newer Kernels, the -smp suffix has been made obsolete. I am now facing a dilemma.
- Novell seem to process Kernel updates rather slowly for the more stable Desktop releases. (SLED 10 SP2 v. nb is only 220.127.116.11)
Taken from 10.2 install notes :
The kernel-default package contains the Standard Kernel for both uniprocessor & multiprocessor systems. The Kernel comes with SMP support and runs with only minimal overhead on uniprocessor systems. There is no kernel-smp package anymore.
- Among the many parameters one can pass to Grub if he encounters a problem at bootup, only noapic seems related to my hardware configuration.
By the way, I thought it would be funny to list them all. (although the fact of not being able to boot linux is merely funny). Here are a few of those parameters : acpi_use_timer_override, nolapic, acpi=off, irqpoll, noapictimer.
I can't help to think installing linux on uniprocessor platforms, with Via chipsets and such would be a less daunting task (but then Suse 9.1 would do equally fine, if not better).
Nvidia drivers are not perfect, but it would be unfair to let you think they can put your system down. After testing with the poorly dcumented above parameter (noapic) and switching to the brand new Suse SP2 distro all is back to normal (plus, the audio device is activated, out of the box). Oh, good grief ! Linux would boot, even after multiple installs from source and desktop settings adjustments.
To be more precise, it seems that the Kernel handling of the nforce 4 chipset is much, much smoother when passing the noapic parameter. I did it at install time, so I don't have to specify it at boot time. Considering this, updating to the Standard Kernel is still desirable, but not as crucial as I thought.
In desperation, I tried to install OpenSUSE 10.3. I could do a quick review of its installer (many more packages to choose from, the partitioning tool fixed), but finding out the adequate flavor is up to you. If you haven't the slightest idea about the advantages and drawbacks of the popular distros, I assume you wouldn't be interested in reading my indications, anyway.
So, it seems that, to a certain extend, the success of installing linux is still hardware dependent.
"Anything you get free costs more than it's worth -- but you don't find it out until later."
[Robert A. Heinlein]
As for the console framebuffer issue, I have made some progress.
First, you can get basic hardware acceleration using Mesa/DRI. If you're happy with it, then fine, you're done.
I would say that the difficulty of installing Mesa/DRI is average. It's quite unfortunate not knowing if you people are more interested in developing or playing games. I am curious about the kind of environment the average LQ member is interested in setting up via Suse...
Anyway, it goes like this :
- First, install DRI (libdrm) in /usr
- untar MesaLib & incorporate MesaGlut inside the newly created folder
- make realclean
- make linux-dri-x86
- Check the Mesa/configs/default file and examine the values of the INSTALL_DIR and DRI_DRIVER_INSTALL_DIR variables. (should be set to /usr)
- make install
Since my installation of Suse is now approximately rock-solid, it is much easier to run 3D tests on the behalf of the Nvidia driver. I decided to stick with "nv" for normal use (a functional hibernate mode, a clean console), and to use "nvidia" only when in need of some serious 3D acceleration.
Switching from "nv" to "nvidia" can be done "on the fly" (don't forget to run init 3, first) but doing so the other way round will need a reboot. I guess a macro detecting when OpenGL is solicited, and switching drivers automatically could improve things a bit.
I should mention that the Mesa demos really seemed like a relic of the past to me (and many stuff I read about updating XFree86 sounded outrageously complex and somehow dated, too).
Benchmarking modern GPUs should be done with modern engines, inmho. Please, check the following link :
http://dri.freedesktop.org/wiki/Benchmarking for more information.
From what I've understood, when someone's facing the above mentioned boot problem, it would be appreciated that he first
- boots with apic=debug & then
- sends a report
Here's the (hopefully) relevant information I gathered relative to the I/O APIC issue (mostly taken from wikipedia, slightly edited) :
the I/O APIC collects interrupt signals from I/O devices and sends messages to the local APICs when those devices need to interrupt. Each I/O APIC has an arbitrary number of interrupt inputs (or IRQs). Intel's past and current I/O APICs typically have 24 inputs--others can have as many as 64. And some machines have several I/O APICs, each with a number of inputs, amounting to hundreds of IRQs in the machine that are available for device interrupts.
There are defective BIOSes which do not set up interrupt routing properly. This includes errors in the implementation of ACPI tables and Intel Multiprocessor Specification tables.
It can be a cause of system failure, as some versions (read Kernel) of some operating systems (read linux) do not support it properly. With nforce chipsets, having IOAPIC support enabled in the kernel can cause some errors. If this is the case, disabling I/O APIC may cure the problem.
Hey nVidia guys, why not follow these Microsoft recommendations :
- Integrate APICs into your new system designs. This includes actively connecting the I/O APIC lines to the interrupt routing logic in your design.
- For chipset designs, incorporate internal connections between the I/O APIC and internal (integral to the chip set) interrupt routing logic.
Granted, fully-featured BIOSes from HP could help, when it comes to running linux on the tx series. Here is the lone advertised feature brought by the BIOS update I've made : Better Windows VISTA SP1 compatibility...
|All times are GMT -5. The time now is 02:37 PM.|