In Linux every file has some attributes that detrmine wheter you can Read, Write and Eexcute the file. You could call these the R, W and X attributes, if the R attribute is set you are allowed to read the file, if the W attribute is set you are allowed to write to the file and if the X attribute is set you can execute it. Now each file has three sets of these attributes, one determines what the "super user", often called root, is allowed to do with the file, a second that determines what the owner of the file can do with it and a third that determines what all others can do with it.
As an example, if you list the files in some directory with the command
you will see all the files in that directory and some details about the files, like how the read, write and execute permissions are set:
so you can see in this directory there are 2 file, fileA and fileB, and the permissions for those files are set different. Take a look at fileA, it's permissions are set as:
gerben@CC1184274-A:~/example$ ls -l
-rw-r--r-- 1 root root 8 2008-05-01 14:41 fileA
-rwxrw-rw- 1 gerben gerben 8 2008-05-01 14:41 fileB
which means that:
- super user (or root) is allowed to read the file and write to the file but not to execute the file
- the owner of the file is only allowed to read it
- all others are also only allowed to read it
now look at fileB, it's permisssions are set as:
which means that:
- super user (or root) is allowed to read the file, write to it and to execute the file
- the owner of the file is only allowed to read it and to write to it
- all others are also only allowed to read it and to write to it.
Now, chmod is a program you can use to change the permissions of a file. This command
means add the execute permission to this file (if you do the command as above execute permissions for root, owner and other will all be turned on)
chmod +x /usr/share/initramfs-tools/scripts/init-top/load_ata_pi
often you have to do things in linux that require certain permissions because a bunch of files$ need to be written to and others need to be executed etc. what often happens when you just go ahead and try to do it, is that you get some message that the action could not be completed because something somewhere was not permitted. This is ussualy becasue you tried to do things that only the super user (root) is allowed to do, that is why you need to do it as Super user (which is what the sudo command does).
for example a normal user is not allowed to change the file permissions as in your case, so you need to do it as super user:
"super user DO change permissions of load_ata_piix so that it can be executed"
sudo chmod +x /usr/share/initramfs-tools/scripts/init-top/load_ata_piix