Raid Card install, GRUB modification
  • I need to install a RAID card in my PC running Ubuntu 18.04.4 LTS. Installation instructions tells me to look in /boot/grub for the file menu.lst  and modify it by placing the command:    "ata_generic.all_generic_ide=1"  "at the end of the kernel line for the title paragraph that lists the version information for the Linux distribution". That is a direct copy of the instructions. The file they specify does not exist in that directory. Can anyone help me locate the the current file and file location and help me identify the correct line I would appreciate. 
  • Before we continue, there seems to be a lot of details missing;
    • You are installing a RAID card? Not a just switching to RAID or installing another HDD.
    • BIOS is a big factor, can we get the BIOS manufacturer and version?
    • Can you supply a link to those instructions you are following?
    • You also state the "specified file" cannot be found, but what file name?

    At this point all I can offer to locate a file assuming it exists,  $ find (filename here) or $ whereis (file) if it is in the given path on the system.

    Thank you.
  • I am installing a raid card, the Sybase SD=PEX40054 described here:

    https://www.sybausa.com/index.php?route=product/product&path=64_77_86&product_id=182

    The Bios, as reported by System Profiler is:

    American Megatrends Inc Ver. 0801 as installed on an A88X-PRO motherboard by ASUS Rev X.0x

    The file specified in the instructions is:
    /boot/grub/menu.lst

    Instructions download link starts the download automatically and after repeating that link address here it did not work. To not chase you around the block asking you to navigate their website, here are their instruction in their entirty:

    File name is "Marvell 92xx Installation_Linux.txt" and reads:

    Linux distributions with kernel version 2.6.19 and above include inbox drivers for IDE/ATA device. In most distributions, the kernel does not load the drivers for the inbox IDE/ATA devices by default. The procedure for enabling support for IDE/ATA device in Linux is as follows:

    Enabling Support for IDE/ATA Device on an Existing Installation of Linux
    To enable support during a Existing Installation of Linux:
    1. Login as root.
    2. Right-click the Desktop and select Open in Terminal.
    3. Type the following commands:
    ls
    cd/boot/grub
    vim menu.lst
    4. Type the following command at the end of the kernel line for the title paragraph that lists the version information for the Linux distribution.
    ata_generic.all_generic_ide=1
    5. Browse to File and select Save.
    6. Reboot the system for the changes to take effect.
  • /boot/grub/grub.cfg - This is the main configuration file that replaced menu.lst in Grub 2. Unlike menu.lst, this file should not be tampered with or edited.
    Unless you are awesome... like me. LOL  I have had minor success in editing this file but only simple edits.  I don't really recommend it, unless you like living on the edge. Any edits will be undone on the next grub update.  

    /etc/default/grub - This file contains the Grub menu settings that are read by the Grub scripts and written into grub.cfg. It is the customization part of the Grub, similar to the old menu.lst, except the actual boot entries.

    This means that if you want to change the Grub menu, you will have to edit existing scripts or create new ones, then update the menu.

    /etc/grub.d/40_custom - is a file specifically for making manual Grub entries.

    Follow your instructions above opening  /etc/default/grub or /etc/grub.d/40_custom  instead.

    Add your script and save.

    run update-grub afterwards to update the config.

    However, there might be a problem where this could fail.  

    The line command you are sending to the generic kernel (ata_generic.all_generic_ide=1) is telling the kernel at boot, to flip an internal toggle on.  The instructions given assume the kernel is compiled with the switch, to turn on the IDE.  I haven't done any scripts in the area of sending commands to the kernel but you should find many examples;  

    https://help.ubuntu.com/community/Grub2/CustomMenus 

    While editing the grub as I have described above should be safe, keep a live CD or bootable USB handy in the event you need to change your edits.  

  • My 40 file is 40_custom_proxy and it's contents are below: 
    root@walley:/etc/grub.d# cat 40_custom_proxy 

    #!/bin/sh
    #THIS IS A GRUB PROXY SCRIPT
    '/etc/grub.d/proxifiedScripts/custom' | /etc/grub.d/bin/grubcfg_proxy "+*
    +#text
    +'Ubuntu 18.04.5 LTS GNU/Linux, with Linux 4.15.0-122-generic'~5fc8579fb5d3e38ca62ab1d1add19d42~
    -'Ubuntu 18.04.5 LTS GNU/Linux, with Linux 4.15.0-99-generic'~579142f1f1aa7f81e8ffadc17e9a87c0~
    "

    I also have a 41_custom file whos contents are:

    #!/bin/sh
    cat <<EOF
    if [ -f  \${config_directory}/custom.cfg ]; then
      source \${config_directory}/custom.cfg
    elif [ -z "\${config_directory}" -a -f  \$prefix/custom.cfg ]; then
      source \$prefix/custom.cfg;
    fi
    EOF


    Right now I am thinking that to add the paramiter I want I should edit the line:

    +'Ubuntu 18.04.5 LTS GNU/Linux, with Linux 4.15.0-122-generic'~5fc8579fb5d3e38ca62ab1d1add19d42~

    in 40_custom_proxy to read

    +'Ubuntu 18.04.5 LTS GNU/Linux, with Linux 4.15.0-122-generic'~5fc8579fb5d3e38ca62ab1d1add19d42~ ata_generic.all_generic_ide=1

    with a space between ...42~ and the ata_generic...

    Before I tried that edit I wanted to find out if I am anywhere close to a sucessful course.

    It is my intent to back up the exiting file before I do anything and make a backup of the existing /boot/grub/grub.cfg to another directory.

    Thank you for your help so far. I truly appriciate it. 

    If this is the right track for this, I will probably wait for the weekend to try it to give me sufficent recovery time if I blow the edits. This will allow some recovery time before work next Monday.

    Thanks.
  • Just finished the changes to my system and the raid card is installed and working. Drives attached to it are functioning perfectly and all data is readable. 

    Your help, Mr_Linux was invaluable in doing this. I am in your dept sir. Thank you so much. 

    Just to be clear on this for anyone else following this thread, I modified the file:

    40_custom_proxy

    The line originally read:

    +'Ubuntu 18.04.5 LTS GNU/Linux, with Linux 4.15.0-122-generic'~5fc8579fb5d3e38ca62ab1d1add19d42~

    I changed it to read:

    +'Ubuntu 18.04.5 LTS GNU/Linux, with Linux 4.15.0-122-generic'~5fc8579fb5d3e38ca62ab1d1add19d42~ ata_generic.all_generic_ide=1

    It worked perfectly. I would advise everyone and anyone to insure that wants to follow what I did, and knows as little as I do, that you have several retreat strategies in place to be able to use before making the changes. I went so far as to test to see that I could run update-grub either from root or using sudo withen the retreat boot system before touching the 40_custom_proxy file.