How to Make OS X Partition Smaller? System: SIP disabled, Macbook Air 2013-mid, about 120 GB SSD, 8 GB DDR3.
My current disk state



OS X portion



I want to decrease OS X portion and move it to other but trying to startup partion, I get



Outputs motivated by klanomath

Command diskutil list and its output

/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *121.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage Macintosh HD            76.0 GB    disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data                         44.3 GB    disk0s4
/dev/disk1 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Macintosh HD           +75.7 GB    disk1
                                 Logical Volume on disk0s2
                                 20C85797-328F-4A27-B0DE-97DB2B14F1D7
                                 Unlocked Encrypted
/dev/disk3 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *128.7 GB   disk3
   1:             Windows_FAT_32 FAT32                   128.7 GB   disk3s1


Command diskutil cs list and its output

CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group E7F4DE9D-EFE4-4CEC-BCA3-3A0C20ED47C9
    =========================================================
    Name:         Macintosh HD
    Status:       Online
    Size:         76017078272 B (76.0 GB)
    Free Space:   12656640 B (12.7 MB)
    |
    +-&lt; Physical Volume 6F9B1342-37C0-4734-8C95-9E20F2344F04
    |   ----------------------------------------------------
    |   Index:    0
    |   Disk:     disk0s2
    |   Status:   Online
    |   Size:     76017078272 B (76.0 GB)
    |
    +-&gt; Logical Volume Family A8F4C470-C0FF-4000-85A9-565FACDA1818
        ----------------------------------------------------------
        Encryption Type:         AES-XTS
        Encryption Status:       Unlocked
        Conversion Status:       Complete
        High Level Queries:      Fully Secure
        |                        Passphrase Required
        |                        Accepts New Users
        |                        Has Visible Users
        |                        Has Volume Key
        |
        +-&gt; Logical Volume 20C85797-328F-4A27-B0DE-97DB2B14F1D7
            ---------------------------------------------------
            Disk:                  disk1
            Status:                Online
            Size (Total):          75652100096 B (75.7 GB)
            Revertible:            Yes (unlock and decryption required)
            LV Name:               Macintosh HD
            Volume Name:           Macintosh HD
            Content Hint:          Apple_HFS


Command sudo gpt -r show disk0 and its output

gpt show: disk0: Suspicious MBR at sector 0
      start       size  index  contents
          0          1         MBR
          1          1         Pri GPT header
          2         32         Pri GPT table
         34          6         
         40     409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
     409640  148470856      2  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
  148880496    1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  150150032   86566407      4  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
  236716439     261704         
  236978143         32         Sec GPT table
  236978175          1         Sec GPT header


I run exactly klanomath's commands in real partions but I get with the last command; everything goes fine before the last command

Error -69722: You can't perform this resize unless it has a booter (target partition is probably too small)




How can you Make OS X Partion Smaller?
You should be able to resize the CoreStorage stack by booting to a second boot volume (e.g. Internet Recovery Mode) after modifying the partition table. Afterwards you have to re-add the partitions in the old boundaries but with proper types.

Preparation:


Restart to Internet Recovery Mode by pressing alt cmd R at startup. 

The prerequisites are the latest firmware update installed, either ethernet or WLAN (WPA/WPA2) and a router with DHCP activated.
On a 50 Mbps-line it takes about 4 min (presenting a small animated globe) to boot into a recovery netboot image which usually is loaded from an Apple/Akamai server.

I recommend ethernet because it's more reliable. If you are restricted to WIFI and the boot process fails, just restart your Mac until you succeed booting.

Alternatively you may start from a bootable installer thumb drive (preferably Yosemite or El Capitan) or a thumb drive containing a full system (preferably Yosemite or El Capitan). If you boot to a full system and login as admin you have to prepend sudo to execute some commands like gpt ... or newfs_hfs ...!


Remove the bogus MBR/GPT and re-add the partitions


Open in the menubar Utlities->Terminal
Enter diskutil list and gpt -r show /dev/disk0 to get an overview
Destroy the bogus GUID partition table/MBR and recreate a fresh one:

diskutil umountDisk /dev/diskX #with diskX = disk identifier of the logical volume
diskutil umountDisk /dev/disk0
gpt destroy /dev/disk0
diskutil umountDisk /dev/disk0
gpt create -f /dev/disk0

Re-add the partitions:

gpt add -b 40 -i 1 -s 409600 -t C12A7328-F81F-11D2-BA4B-00A0C93EC93B /dev/disk0
gpt add -b 488966144 -i 3 -s 1267712 -t 426F6F74-0000-11AA-AA11-00306543ECAC /dev/disk0
gpt add -b 150150032 -i 4 -s 86566407 -t EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 /dev/disk0
gpt add -b 148880496 -i 2 -s 148470856 -t 53746F72-6167-11AA-AA11-00306543ECAC /dev/disk0

The logical volume should mount automatically if not encrypted. If not you may have to unlock it.
Verify the disk and the volume and try to repair them if necessary
Unlock your FileVault volume

diskutil cs unlockVolume lvUUID

Resize the CoreStorage stack

diskutil cs resizestack lvUUID size


e.g.

diskutil cs resizestack 20C85797-328F-4A27-B0DE-97DB2B14F1D7 65000m

if this fails you may have to decrypt the FileVault volume

diskutil cs unlockVolume 20C85797-328F-4A27-B0DE-97DB2B14F1D7
diskutil cs decryptVolume 20C85797-328F-4A27-B0DE-97DB2B14F1D7


and get the new device node with

diskutil list

Verify the decrypted volume (e.g. disk16)

diskutil verifyVolume /dev/disk16

Try to resize the CoreStorage stack again (like above)

diskutil cs resizestack lvUUID size





Resizing you Linux partition from inside Linux afterwards will probably hose your current MBR (and/or GPT) and will render one or both systems unbootable.



Tested in a VM:

Resizing the unlocked but encrypted volume from a second boot volume failed with an error number and some "booter is mounted" message. The reason for the message may be the following: the FileVault volume (disk0s2/disk16) relies on some files in the Recovery HD (disk0s3). Resizing the stack means shrinking the Logical Volume Group and all subsequent CoreStorage items and moving the Recovery HD to lower block numbers afterwards. The Recovery HD has to be unmounted to achieve this.

Using real partitions may yield different results or errors.