I had this issue last night, the issue is some older 5330/40 phones with old firmware don't have the ability to resize the "boot partition" on the fly... Here is the fix that tech support had me do.
Download 9.0.3.29 firmware and install it on your PC, then in the install directory find the file called "tftp_ip.tar" and extract it to a separate directory. Download and install TFPT32 or TFTP64, start the TFTP server on your PC and set the directory to where you extracted the 9.0 tftp_ip.tar files. Now boot the phone and go into configuration, change the TFTP address to the address of your laptop and reboot, the phone should pull the 9.0 firmware and flash successfully, it will then come online and seem to work. Now go into the phone and clear the TFTP address (Factory Default phone) and reboot, it will then connect to the 3300 and pull firmware and reboot, you will still see a L2 Download error at this step but it will continue and flash the Main firmware, it will then reboot and reflash everything again and you should be good to go.
If this is a large installation and you want to do this to a number of phone simultaneously, you can log into the shell of the controller and stop the TFTP services, then FTP into the controller and navigate to /sysro/tftp and copy the directory to your laptop, then ftp the tftp_ip.tar files into the /sysro/tftp directory and restart the TFTP services in the 3300. Let all the phones come up and online, then stop TFTP services, delete the files in the /sysro/tftp directory and push the original files back, and restart TFTP services and reset the phones and you should be good to go.
Keywords for search engines...
5330
5340
L2 Download err
GetNewSoftwareLoad