Shop OBEX P1 Docs P2 Docs Learn Events
A few questions for you Linux guru's.. — Parallax Forums

A few questions for you Linux guru's..

rwgast_logicdesignrwgast_logicdesign Posts: 1,464
edited 2013-02-05 07:07 in General Discussion
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?

Comments

  • Beau SchwabeBeau Schwabe Posts: 6,568
    edited 2013-02-04 16:27
    I went with a dual boot for awhile, but decided to settle... All of my PC's now are native boot Linux... If I want or need to run windows I do it using VMWare. Windows can be completely encapsulated in a single directory living on the Linux computer this way. ...and if I clobber Windows it's always easy to "copy" a new system into the Linux directory.
  • frank freedmanfrank freedman Posts: 1,983
    edited 2013-02-04 16:29
    Re: linux, before loading windows, run dd and backup the boot block and then load windows. After it happily wipes your boot block and thinks it is safe again, reload the boot block. For details, google and the multitude of linux groups can help you out. One of the best books out there on all this stuff was an o'Reily book called Linux Hacks. Don't hack your box without it. Oh, the cd or dvd (newer ed.) makes a great knoppix based rescue disk as well.
  • rwgast_logicdesignrwgast_logicdesign Posts: 1,464
    edited 2013-02-04 18:03
    I never even thought about using dd to back up my mbr, how would one then reload the raw file from dd on the MBR if windows was the only bootable system?

    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.
  • rosco_pcrosco_pc Posts: 468
    edited 2013-02-04 18:15
    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.
    You'll always will have to play around with the MBR if you re-install windows. This page will give you some pointers: https://help.ubuntu.com/community/WindowsDualBoot#Installing_Windows_After_Ubuntu (the same applies to other distros).
    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?

    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.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2013-02-04 23:13
    Windows comes with everything, and there is always an outlier that refuses to support 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.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2013-02-04 23:28
    How does one reload the MBR that was made with 'dd'? Just use 'dd' and reverse the source and targets. Of course, you need to boot from a Linux LiveCD and rewrite the MBR on an unmounted target hard disk.

    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.
  • rosco_pcrosco_pc Posts: 468
    edited 2013-02-05 03:33
    How does one reload the MBR that was made with 'dd'? Just use 'dd' and reverse the source and targets. Of course, you need to boot from a Linux LiveCD and rewrite the MBR on an unmounted target hard disk.

    Yep, that's all that's needed
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2013-02-05 05:08
    My old XP computer has Ubuntu 11.04 on it and it has been nagging me to update, but I have been a bit worried about the machine being too restricted on RAM as the DRAM is shared by the video.

    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
  • 4x5n4x5n Posts: 745
    edited 2013-02-05 06:14
    I went with a dual boot for awhile, but decided to settle... All of my PC's now are native boot Linux... If I want or need to run windows I do it using VMWare. Windows can be completely encapsulated in a single directory living on the Linux computer this way. ...and if I clobber Windows it's always easy to "copy" a new system into the Linux directory.

    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.
  • 4x5n4x5n Posts: 745
    edited 2013-02-05 06:28
    I gave up on dual booting between linux and windows a long time ago. As you noticed windows doesn't play nice with other OSs and assumes that it has the "right" to use all attached drives. That includes a willingness to over write the boot record of drives. An easy way to "fix" that (with redhat and fedora at least) is to boot off of a CD or USB in rescue mode and let it mount your linux files systems. That way the root filesystem gets mounted on the "rescue" filesystem and the rest of the linux filesystems get mounted relative to that root. It's easier to do then I'm making it sound. Then use the linux command chroot and make the root filesystem /. Again that's easier then I'm making it sound. :-)

    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. :-)
  • prof_brainoprof_braino Posts: 4,313
    edited 2013-02-05 06:31
    If you do chose the dual boot route, (perhaps your PC is too old to run wine nicely), the key is that Windows wants to think its the only OS. Use windows to e set up the boot partition, a windows partition, and leave the rest for linux. Linux will will move everything around nicely, so when windows starts up it still thinks its the only player. If you set up linux fist and then install windows, Windows will have the opportunity to ruin the other installation. (Not intentionally, probably just incompetence.)

    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.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2013-02-05 07:07
    4x5n wrote: »
    I gave up on dual booting between linux and windows a long time ago. As you noticed windows doesn't play nice with other OSs and assumes that it has the "right" to use all attached drives. That includes a willingness to over write the boot record of drives. An easy way to "fix" that (with redhat and fedora at least) is to boot off of a CD or USB in rescue mode and let it mount your linux files systems. That way the root filesystem gets mounted on the "rescue" filesystem and the rest of the linux filesystems get mounted relative to that root. It's easier to do then I'm making it sound. Then use the linux command chroot and make the root filesystem /. Again that's easier then I'm making it sound. :-)

    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. :-)

    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.
Sign In or Register to comment.