Installing Linux via The Network

I created this page a while back in WordPress. Now I'm just copying it into this wiki. I'm sure it will end up somewhere else eventually. ;-)

Installing from … nothing?

OK, I realized that I have learned something cool and (gasp) haven’t shared. Shame on me.

This trick is called : Installing SUSE Linux without any local install media. It’s actually really simple - unless you’re running funky hardware, and I’m always running unsupported junk

Please note that what I am providing is steps to install the openSUSE distribution. This may work for other distros, but I’m not in a position to test them right now. Perhaps you’ll do it?

1. Preparation

OK, before you start, you need to have installed the Grand Unified Bootloader. Yes, I said nothing, and GRUB is not nothing. If you already have installed Linux once before, you very likely already have GRUB installed. These instructions will use that GRUB installation to get the job done. If, on the other hand, all you have is Windows installed, you will want to find a copy of GRUB to install. My suggestion is to Google for Windows GRUB and see if you can find anything.

When using GRUB, there will be two files that you need to have on your local system. I saved these files in the first partition of my system, in a directory called ‘boot’. You may download them from here:

http://download.opensuse.org/distribution/SL-OSS-factory/inst-source/boot/x86_64/loader/linux

http://download.opensuse.org/distribution/SL-OSS-factory/inst-source/boot/x86_64/loader/initrd

The first file is the SUSE installer kernel, the second is the installer initial root (or ram) disk. These two files contain everything you should need to connect to the rest of the installer. Put these in a partition where they can be found by GRUB. The one problem you may face is if the only partition available to you is an NTFS partition. GRUB doesn’t do well with NTFS, so you’ll want to resize your one partition and create a new partition using the FAT32 filesystem.

Also, note the x86_64 in the path. These install instructions assume you are installing to an Intel 64-bit compatible machine. If you have a 32-bit machine, use i386 instead. Old Mac? Then it’s ppc for you.

2. Bootup

OK, now it’s time to start this baby up. You need to create an entry within GRUB. Whether you do that through the configuration file or simply by editing an already-created entry during the boot process, you decide. Mine looked like this:

root (hd0,0)
kernel /boot/linux install=http://download.opensuse.org/distribution/SL-OSS-factory/inst-source
initrd /boot/initrd

Now, I needed to add a couple more kernel options to the kernel line. Specifically, I added:

insmod=b43 netdev=wlan0

I did this to get my wireless networking up. Oh, yeah, I’m doing this through a Broadcom wireless adapter. Masochism doesn’t even begin to describe my problems. I also need to enable my ATI x1250 adapter.

Now, on any normal system, the GUI installer should come up and everything should work fine. If this is you, then congratulations! You’ve started an install without having to burn a single CD. Finish up your install and enjoy your new Factory install of openSUSE.

3. Hacker Dark Magic

I have two major problems ahead of me, though. I have to get my installer to work through my Broadcom BCM4312 wireless adapter to connect to my secure home wireless network, and I have to somehow get my ATI X1250 video adapter to work. My recommendation is to get comfortable with the TUI installer, as you don’t want to play around with GUI until the install is complete and everything is nice and stable.

The big problem is that the BCM4312 needs firmware to start up properly. There’s a nice little program called b43-fwcutter that you need to run on the Windows install package. You can get all the gory details at the b43 driver site. Once I had extracted the firmware, I stuck the firmware files onto a thumbdrive. Then, when the installer gets to the point where it is asking for details about my wireless network (specifically, what type of encryption I’m running), I alt-left-arrow over to a console screen and do the following four commands:

mkdir /lib/firmware/b43
mount /dev/sdc1 /mnt
cp /mnt/firmware/b43 /lib/firmware/b43
umount /mnt

This copies the firmware to the correct directory. At this time I can return to the installer (alt-right-arrow) and enter my details. Network found, and the installation can continue.

Now, the installer fails to initialize the GUI properly, so everything I do for the install is done via the TUI installer. This isn’t a big deal for me, as I am a console man anyway, but if you’re expecting flashy graphics, then you’ll need to drop your expectations for a bit.

I chose the text-only install option, so that the installer wouldn’t fail to configure my GUI, allowing me to configure and fix the problem once the install was finished and I knew I had a relatively stable system.

For some reason, after the file install is complete and at the configuration stage of the install, I get an error that the on-line repository cannot be found. Seems my wireless encryption settings didn’t make it from the installer to my new system. Again, I alt-left-arrow until I find an open console and add the following lines to the /etc/sysconfig/network/ifcfg-wlan0 configuration file:

WIRELESS_ESSID="JollyBase"
WIRELESS_KEY_0="123456789abcdef0123456789a"

With those final changes, the install continues and I end up with a working text-only system.

Now it’s time to tackle the ATI X1250 video adapter. For openSUSE, the drivers for newer ATI cards can be found in the xorg-x11-driver-video-radeonhd package. Feel free to install this package, along with sax2 and the gui of your choice.

Once the radeonhd package was installed, configuration was a problem for me. Seems the automatic configuration left the screen on my HP Compaq 6715b all screwed up. One line in the /etc/X11/xorg.conf file needed to be removed:

#  HorizSync 30-82

With that line commented out, the system started great.

4. Conclusion

So, an install without burning a disk is actually very simple. I added the rest just to document the problems I encountered getting openSUSE Factory installed on my laptop. Hopefully this has helped you. Feel free to leave me comments with suggestions and corrections.