A few questions for you Linux guru's..
rwgast_logicdesign
Posts: 1,464
Ok so ive had an on and off again affair with Linux for over a decade now. But there is one thing that keeps me from leaving it installed on my PC all the time, and that one thing is Windows! See im one of those people who are very anal about my system, and I format my windows partion at MINIMAL 4 times a year. I dont feel so inclined to do this with Linux, I guess becuase linux doesnt have a rediculous registry file that gets bloated and damaged, Its beyond me why windows applications cant remove ALL of there registry keys when uninstalled!! Anyways Im due for another format soon, And I find myself needing Linux again, as I plan to do some work with an ARM based embedded Linux thing called a ZipIt.
Basically my biggest question here is how to make my boot loader system more robust. The problem is I will install windows, then dual boot either fedora or ubuntu off a second hard drive using grub or grub2 whichever comes with whatever distro I choose. Then next time windows gets out of hand and that hard drive needs a good wiping, windows will install it's boot loader right over where grub use to be, messing everything up! What is the best way to solve this issue? Id like to make sure I can freely wipe my windows drive without bombing my bootloader.. I know LiLo use to have some kind of recovery disk where you could boot from it straight to your linux mount point then just reinstall lilo by typing lilo at the command line but with the advent of grub2 and the death of the floppy disk that solution isnt so easy anymore. I have a USB floppy if need be but im looking for a better solution to this problem.
My second question is more of an embedded one, I would like to use a ZipIt2, as a remote for a robot. Ive already hacked a serial port in to the case and soldiered on USB access. The plan is to use a micro to read some joysticks and stuff and transmit there data to the ZipIt. Then use either an adhoc wifi connection, or bluetooth to communicate with a prop bot. Im more curious if I were to plug a blue tooth dongle in to this thing, how easy would it be to get drivers compiled on it that will support ssp? Serial over bluetooth is a pretty generic thing, so I was hoping I wouldnt necessarily need toget special drivers for a dongle, nor would I have to recompile the kernel, that all sounds like a pita! This thing is an arm9 IU belive so maybe any generic BT module compiled for the PI would work, as long as the the arm11 gcc switch wasnt used?
Basically my biggest question here is how to make my boot loader system more robust. The problem is I will install windows, then dual boot either fedora or ubuntu off a second hard drive using grub or grub2 whichever comes with whatever distro I choose. Then next time windows gets out of hand and that hard drive needs a good wiping, windows will install it's boot loader right over where grub use to be, messing everything up! What is the best way to solve this issue? Id like to make sure I can freely wipe my windows drive without bombing my bootloader.. I know LiLo use to have some kind of recovery disk where you could boot from it straight to your linux mount point then just reinstall lilo by typing lilo at the command line but with the advent of grub2 and the death of the floppy disk that solution isnt so easy anymore. I have a USB floppy if need be but im looking for a better solution to this problem.
My second question is more of an embedded one, I would like to use a ZipIt2, as a remote for a robot. Ive already hacked a serial port in to the case and soldiered on USB access. The plan is to use a micro to read some joysticks and stuff and transmit there data to the ZipIt. Then use either an adhoc wifi connection, or bluetooth to communicate with a prop bot. Im more curious if I were to plug a blue tooth dongle in to this thing, how easy would it be to get drivers compiled on it that will support ssp? Serial over bluetooth is a pretty generic thing, so I was hoping I wouldnt necessarily need toget special drivers for a dongle, nor would I have to recompile the kernel, that all sounds like a pita! This thing is an arm9 IU belive so maybe any generic BT module compiled for the PI would work, as long as the the arm11 gcc switch wasnt used?
Comments
As far as running a VM, I would probably take that leap if I had a faster PC. At this moment in time im on an older single core P4 era box. It strugles with XP enough without running XP in a virtual box lol. Unfortantely there is just to many windows only tools I use to make the leap to pure Linux. Although KDE looks a lot nicer than XP, and functions better.
You have to make sure that the modules you use are compiled using the same gcc and kernel version as the kernel you are using on the zip-it. I highly doubt that the kernel used on the zip-it has the same version as the Pi. But I would check:
* plug-in the dongle and look at dmesg to see if the device is registered
* /lib/modules/<kernel-version>/... to see if you see any BT drivers already there on the zip-it.
* google to see if somebody already done this, saves you the time
In case of doubt there is no way around re-compiling your kernel and include any module you might be needing. It is not difficult and you'll several articles on the web on how to do this and I'm quite sure there will be a zip-it specific tutorial. The configuration of the current kernel can be found under /boot in most cases and can be used as a base for your re-compilation. For systems like the zip-it you normally will use a cross-compiler on a normal PC running linux.
These days, I am into studying Forth and I find that Forth, Inc. in a Windows loyal company. Free software, but they say run it in Wine (a Windows VW inside Linux) if you have Linux.
Also, I spent quite a bit of money on Windows XP Professional and Office 2003. I still need Office 2003 in some rare cases where clients want me to edit Windows documents with tracking.
And, whenever I buy a new computer, it seems to come with Windows of some variety.
~~~~~~~~~~~~~~~~~
So I don't disposed of Windows, I just dual boot and have done so for several years now. Windows not only has the annoying registery, it also has fixed file positions and you may find that when reducing absurdly large Windows partitions for a dual boot that you can only downsize by 50%.
Linux does NOT care how many partitions are on the hard disk, and it does not care if the whole system lives in extended partition table -- including the /Swap partition that is a huge convenience. So any Linux build I do gets a root partition called /, a /home partition, and a /swap partition. Having the 3 protects from all sorts of losses and enhances performance. A separate /home partition means that installing updated or different Linux distributions do not mess with your personal data.
Before you go into a LiveCD to install Linux, downsize your partitions in Windows as Windows doesn't like to have outside software change the partition configuration. It may refuse to boot after you install Linux due to having old data about Windows partition size.
To properly do a dual boot installation, I DO NOT allow the installation software to decide how to install along side Windows. It claims it can, but I fear that it is less than ideal -- it just puts Linux in one partition. So you have to opt for a custom partition scheme and deal with all the details yourself. I also avoid the latest EXT4 format as people are still claiming mysterious data losses due to it. EXT3 is quite adequate.
After you get through the partitioning, the rest of the installation is pretty much a breeze. One need a connection to the WWW to get the final updates.
~~~~~~~~~~~~~~~~~
If you really, really want Linux for just compiling in GCC and other such tasks, there is another alternative -- install Linux to a bootable USB hard disk.
I have a Seagate 160Gbyte hard disk that I wasn't using for anything. One my 64bit Quad computer, I am still running 32bit Ubuntu because there is more software available.
So when I recently got my Cubieboard and found that the source files would only compile in 64bit Ubuntu, I installed a 64bit Ubuntu on the Seagate USB hard disk -- just for compiling software. It works well and allows me to have a completely separately configured Linux OS, just for development software and cross-compiling. And, if a friend with a 64 bit machine needs to compile something, I can take the device with me and go help.
~~~~~~~~~~~~~~~~~
So, there are the 3 options
A. A virtual machine installation (I think this stinks)
B. A dual boot (For most stuff I love this... if a computer goes down in one OS, I can either bring it back up in the other or verify a hardware failure)
C. A bootable Linux on a USB hard disk or other USB bootable device.
BTW, having multiple disk drives (not including the USB hard disk) is NOT the way to go. You have to go into your BIOS and reconfigure everytime you want to change OS. And Windows may interferred with this scheme as well.
If is much simpler to have ONE primary boot hard disk and have the Linux application called GRUB manage your multiple boots. GRUB programmers seem to keep up with whatever tricks MS throws into the mix and MS is forever changing things with mentioning what or why. Also, BIOS are a rather mysterious bit of firmwear and best messed with only when necessary.
I have backed up the MBR quite regularly, but never had to restore it via 'dd". In truth, I have just use FDISK (in Linux) to restore a bootable partition, established that my existing OS was working, and then move on to fixing by rebuilding GRUB. If you use 'dd' to create full hard disk images, they should include the MBR and restoring the full image does a complete recovery.
As far as old computers are concerned, by XP computer has 512M of DRAM and is very slow in Windows, but rather delightful in Ubuntu. That /swap partition in Linux makes it run quite well.
Yep, that's all that's needed
What do to? Well, Ubuntu has its 12.04 LTS (long-term service image) and someone has modified it for older systems into a distribution called Linux-Lite. So I am going to update to that. On that machine, I rarely use the Linux side, but this resolves the limited resource problem.
Try distrowatch.com for a listing of all and every Linux distribution if you are not sure you have something that is right for you. For the most part I am loyal to Ubuntu as it has one of the biggest user communities and unlike Red Hat it is not bullied by MS into withholding some software. Why? They are not based in the US and subject to the ability to be sued by MS without MS proving the merit of the lawsuit.
Linux Lite includes GCC for your desire to program in C.
http://distrowatch.com/table.php?distribution=lite
That's exactly the route I went. For the few applications I use that need windows I fire up VirtualBox and use that. Interestingly enough before going to VirtualBox I used VMWare workstation but liked VBox better for some reason.
Once that's done it's simply a matter of running "grub-install" to reinstall grub as your bootloader. It may take a few tries to get it right the first time you do it but since your boot record was already munged by windows you don't have a lot to lose. After you do get it to work it's actually quick and easy to do. :-)
For Zipit, are you using ZipIt2? I'm using the Hunter Davis stuff, it boots from SD (so I did not have to flash over the original firmware). The only challenge was finding a MiniSD adapter. The Linux port seems pretty good, I have not had any issues with the minimal experiments I've tried.
It is very true that Windows doesn't play nice. But don't let the bully win and gouge your pocketbook when there is simply better OS software available for free.
On an older system, such as my XP, I had to use Partition Magic in Windows to get free space allocated for Linux. Partition Magic comes with recovery software as well if you lose your MBR and can't get into Windows, but there are files inside the Windows OS that must agree with the partition table in the MBR.
Also, you can use Ghost to make a complee image before you start if you are not sure of your skill at installation and partitioning.
After you have the free space, start the Linux LiveCD and don't touch the Windows partitions --- just create the new partitions that are required for Linux. The rest should be quite automatic. AND Windows can easily be made to think it is in complete control while you have a dual, triple, or whatever boot scheme you want.
It is quite wonderful to be free of annual AV software fees, slowing registry problems, and a lot of other annoying aspect of a commercial OS that thinks it can profit by dominaing the customer rather than serving the customer with excellence.
MS wants users to be fearful and stupid. And most people are willing to go along with such treatment.