Open a PowerShell command prompt in Run as Administrator mode
Go to \SDL.DXA.NET.2.2\cms folder and run the cms-import.ps1 with the following command parameters import Framework-only or use a content porter to update the DXA 2.2 TBBs and assemblies (backup the content manager database for rollback purpose)
.\cms-import.ps1 -importType master-only -masterPublication "100 Master" -cmsUrl "http://cms.dev.com/"
After a successful upgrade the above script ensures all your DXA publication website Page template and component templates use the Render Page Content => Generate DXA R2 Page Model and Render Component Content => Generate DXA R2 Entity Model TBBs. d. Republish the Publish Settings Template Building Block in all your DXA publications eg. \100 Master\Building Blocks\Framework\Developer\Templates
Open a PowerShell command prompt in Run as Administrator mode
Go to \SDL.DXA.NET.2.2\cms folder and run the cms-import.ps1 with the following command parameters import Framework-only or use a content porter to update the DXA 2.2 TBBs and assemblies (backup the content manager database for rollback purpose)
.\cms-import.ps1 -importType master-only -masterPublication "100 Master" -cmsUrl "http://cms.dev.com/"
After a successful upgrade, the above script ensures all your DXA publication website Page template and component templates use the Render Page Content => Generate DXA R2 Page Model and Render Component Content => Generate DXA R2 Entity Model TBBs.
Republish the Publish Settings Template Building Block in all your DXA publications eg. \100 Master\Building Blocks\Framework\Developer\Templates
Note: Starting in DXA 2.0, content is published in a JSON format rather than in XML and uses the R2 Data Model, recommended to use R2 Data Model.
Update:
Answer to your questions asked in the below comments:
Q: 1) How binaries get published since the output is JSON?
A: I can see it was explained by Rick correctly product point of view it does the same, but In the DXA 2.0+ it's handled differently compare to DXA 1.7 instead of TBBs it's handled as Model Builder Types as parameters to pass the module Bulder Names by comma-separated if more than one builder names, In the Compound Template TBBs. of course you can also do customize this by your own model builder for your needs.
Eg: Render Component Content
<CompoundTemplate xmlns="http://www.tridion.com/ContentManager/5.3/CompoundTemplate">
<TemplateInvocation>
<Template xlink:href="tcm:2-86-2048" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:title="Generate DXA R2 Entity Model" />
<TemplateParameters>
<Parameters xmlns="http://www.sdl.com/web/schemas/dynamiccomponent">
<expandLinkDepth xmlns="http://www.sdl.com/web/schemas/dynamiccomponent">1</expandLinkDepth>
<modelBuilderTypeNames>DefaultModelBuilder;EclModelBuilder</modelBuilderTypeNames>
</Parameters>
</TemplateParameters>
</TemplateInvocation>
Q: 2) Is there any TBB available for publishing the binaries which are part of the component, RTF, and published as an individual?
A: You can refer to this DefaultModelBuilder.cs class for BuildBinaryContentData
Q: 3) As I mentioned earlier, we are planning to re-use the existing CTs and PTs. Are there any other changes required?
A: As I mentioned in my answer already you might need to update your Page and Component Templates TBBs to use DXA 2.2 Generate DXA R2 Page and Entity Model as I mentioned in my answer step 3.