Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

After reading this answer, I thought it would be funny to roll my own init on Python, so I wrote this in /init-python.

#!/usr/bin/python3
import os
import subprocess
# Make / writable!
subprocess.call(['/bin/mount', '-o', 'rw,remount', '/'])
# Became IPython (Now we're at it, get a good shell!)
os.execv('/usr/bin/ipython3', ['init'])

Then added init=/init-python to the linux line in GRUB config. It works.

So I was wondering now... how to power off or reboot my system with my homemade init?

share|improve this question

1 Answer 1

It can be done with reboot function (man 2 reboot).

import ctypes
libc = ctypes.cdll['libc.so.6']
RB_POWER_OFF = 0x4321fedc
RB_AUTOBOOT  = 0x01234567

def shutdown():
    libc.reboot(RB_POWER_OFF)

def reboot():
    libc.reboot(RB_AUTOBOOT)
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.