There are two invaluable references on how to slipstream SQL Server 2008 R2 service packs and cumulative updates.

Why would you bother? It's important if you're going to install a clustered instance on Windows Server 2012 and higher.

First of all you'll need to do this:

Add-WindowsFeature RSAT-Clustering-AutomationServer

This gets past one validation rule. But a non-slipstreamed install will also fail on the Windows Server 2003 FILESTREAM Hotfix Check rule.

The problem is that the instructions above can be a little complicated. So here's what I put together using PowerShell to apply the most recent SP and CU. What's irritating is that all of the slipstream notes will tell you that you must update all 3 architectures (x86, x64, and IA64) however IA64 never saw an SP3 release. As far as I've been able to determine you can proceed with it.

I'll assuming an Installation Area folder, with the SP3 and CU1 files in it, and an ISO sub folder that has the full copy of the CD inside.

Set-Location ".\Installation Area"

# Extra all SPs to the same subdirectory

&.\SQLServer2008R2SP3-KB2979597-x86-ENU.exe /x:ISO\SP3
&.\SQLServer2008R2SP3-KB2979597-x64-ENU.exe /x:ISO\SP3

# Replace the original Setup.exe

&robocopy ISO\SP3 ISO Setup.exe 

# Replace other specific files with the SP3 versions

&robocopy ISO\SP3\x86 ISO\x86 /XF Microsoft.SQL.Chainer.PackageData.dll 
&robocopy ISO\SP3\x64 ISO\x64 /XF Microsoft.SQL.Chainer.PackageData.dll 

foreach ($arch in "x86", "x64") {
    if ((Get-Content ISO\$arch\DefaultSetup.ini) -like "*`".\SP3`"*") {
    } else {
        Add-Content -Path ISO\$arch\DefaultSetup.ini -Value "$([Environment]::NewLine)PCUSOURCE=`".\SP3`"$([Environment]::NewLine)"
    }
}

# Extract all CUs to the same subdirectory

&.\SQLServer2008R2-KB3045316-x86.exe /x:ISO\SP3CU1
&.\SQLServer2008R2-KB3045316-x64.exe /x:ISO\SP3CU1

# Replace the original Setup.exe

&robocopy ISO\SP3CU1 ISO Setup.exe 

# Replace other specific files with the SP3CU1 versions

&robocopy ISO\SP3CU1\x86 ISO\x86 /XF Microsoft.SQL.Chainer.PackageData.dll 
&robocopy ISO\SP3CU1\x64 ISO\x64 /XF Microsoft.SQL.Chainer.PackageData.dll 

foreach ($arch in "x86", "x64") {
    if ((Get-Content ISO\$arch\DefaultSetup.ini) -like "*`".\SP3CU1`"*") {
    } else {
        Add-Content -Path ISO\$arch\DefaultSetup.ini -Value "$([Environment]::NewLine)CUSOURCE=`".\SP3CU1`"$([Environment]::NewLine)"
    }
}