One way to prepare for lotus prior to doing Marichyasana b is to kneel with one foot in the janu sirsasana c foot position.
You can tuck the toes of the knee leg to begin with so that the pelvis is higher. This may make it easier to acquire the janu sirsasana foot position.Once comfortable with the toes tucked under you can then lower your pelvis and put the top of the kneeling foot on the floor.
For the Janu Sirsasana C foot you can focus on pressing the heel into the inner thigh. You could also experiment with pressing the toes into the floor.
Once you can get this foot vertical with the heel upper most you can then give the lotus position a try.
Keep the other leg in a kneeling position and bring the lotus foot upwards the crease of the thigh of the other leg.
Keep the foot and ankle active. While holding on to the foot your can try using your ankle muscles to "hook" the foot away from the hand.
When you let go of your hand try pressing the top of your lotus foot into the thigh. Also try pulling the outer edge of the lotus foot towards the knee. This action may be helpful if you find that the outside of your lotus knee feels like it is being stretched.
When you find the knee getting too uncomfortable, take a rest from your lotus and Marichyasana B efforts.
The next phase is to put the kneeling leg into position for Marichyasana B.
Start with one leg straight and put the other foot in lotus. Then with the a foot in lotus, bend the other knee and place the foot on the floor in the marichyasana position.
Prop your upper body by placing your hands on the floor behind you.
Play with lifting the lotus knee and then with reaching it towards the floor. Lift the marichyasana hip if you need to.
Use your hands to push your ribcage closer to your thigh. Go slowly. Stop if your lotus knee is too uncomfortable.
Again experiment with lifting and lowering the lotus knee. You may find that keeping it lifted is easier. You may also notice the heel of that foot pressing into your belly. To increase the heel pressure bring your body closer to your marichyasana leg.
Using your lotus hand to help lift the hips, reach your marichyasana hand forwards inside the marichyasana leg. Lengthen arm and torso.
Hold and focus on lengthening. Then reach the arm to the side. At this point put your butt on the floor. You can then grab the shin with your other hand.
Internally rotate the reaching arm so that the elbow ends up pointing forwards.
Reach the arm back. Bend the elbow and hook the leg. Then reach the other hand behind your back and clasp hands.
You may have to move the lotus side of your ribcage and the shoulder back so that you can clasp hands. (Twist away from the marichyasana leg.)
Hold this open twisting marichyasana b position and see if you can grab your lotus wrist with your marichyasana hand. If not don't worry.
(If you can grab a wrist, experiment with using the marichyasana hand to grab, and then switch and use the lotus hand to grab.)
From there slowly turn to the front and bend forwards.
See if you can move your shoulder back. Then try to make your arms feel long. Use your arms to push against your shin to help your marichyasana b forward bend.
Open your chest and lengthen both sides of your neck.
After coming out and exiting the pose you may find that compass preparation or a forward bend offers a nice counterstretch for the leg that was in lotus. Try to squeeze the outer thigh if doing the compass pose prep.
Then repeat on the other side.