Skip to contentSkip to conversation

Why isn't init PID 1?

DISCUSSION Paul Powell 4 participants 4 messages Jan 31, 2001

lore
Share & tools
lore
#0 lore raw

Hello,

I have a bootable linux CD that runs a custom init. Under most versions of linux init runs as process ID one. Under my bootable CD, it runs as process ID 15. I need it to run as PID 1 so that I can execute a kill(-1,15) without killing init.

The boot CD uses and initrd image to load drivers. The linuxrc file looks like:

#!/bin/sash

aliasall

echo "Loading aic7xxx module"
insmod /lib/aic7xxx.o
echo "Loading ips module"
insmod /lib/ips.o ips=ioctlsize:512000
echo "Loading sg module"
insmod /lib/sg.o
echo "Loading FAT modules"
insmod /lib/fat.o
insmod /lib/vfat.o

echo "Mounting /proc"
mount -t proc /proc /proc
init
umount /proc

Does it run as PID 15 because I execute insmod and mount before running init?

Thanks,
Paul

__________________________________________________
Get personalized email addresses from Yahoo! Mail - only $35
a year! http://personal.mail.yahoo.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#1 lore raw

Yes, in this situation "sash" is the process with pid '1', you should run this script through init and not viceversa, the first process launched takes pid 1.

P.

Quoted 36 lines · Paul Powell

Hello,

I have a bootable linux CD that runs a custom init. Under most versions of linux init runs as process ID one. Under my bootable CD, it runs as process ID 15. I need it to run as PID 1 so that I can execute a kill(-1,15) without killing init.

The boot CD uses and initrd image to load drivers. The linuxrc file looks like:

#!/bin/sash

aliasall

echo "Loading aic7xxx module"
insmod /lib/aic7xxx.o
echo "Loading ips module"
insmod /lib/ips.o ips=ioctlsize:512000
echo "Loading sg module"
insmod /lib/sg.o
echo "Loading FAT modules"
insmod /lib/fat.o
insmod /lib/vfat.o

echo "Mounting /proc"
mount -t proc /proc /proc
init
umount /proc

Does it run as PID 15 because I execute insmod and mount before running init?

Thanks,
Paul

Quoted 8 lines

__________________________________________________
Get personalized email addresses from Yahoo! Mail - only $35
a year! http://personal.mail.yahoo.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

---------------------------------------------------------
Patrizio Bruno
DADA spa / Ed-IT Development Staff
Borgo degli Albizi 37/r
50122 Firenze
Italy
tel +39 05520351
fax +39 0552478143

PGP PublicKey available at: http://www.keyserver.net/en/
---------------------------------------------------------

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#2 lore raw
In reply to Paul Powell
Quoted 25 lines · Paul Powell

Hello,

I have a bootable linux CD that runs a custom init. Under most versions of linux init runs as process ID one. Under my bootable CD, it runs as process ID 15. I need it to run as PID 1 so that I can execute a kill(-1,15) without killing init.

The boot CD uses and initrd image to load drivers. The linuxrc file looks like:

#!/bin/sash

aliasall

echo "Loading aic7xxx module"
insmod /lib/aic7xxx.o
echo "Loading ips module"
insmod /lib/ips.o ips=ioctlsize:512000
echo "Loading sg module"
insmod /lib/sg.o
echo "Loading FAT modules"
insmod /lib/fat.o
insmod /lib/vfat.o

Quoted 7 lines

echo "Mounting /proc"
mount -t proc /proc /proc
init
umount /proc

Does it run as PID 15 because I execute insmod and mount before running init?

Yes. First program to run get PID 1.

Solution : fork() in init and load the modules in the child.

Igmar

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#3 lore raw
In reply to Paul Powell
Followup to:  <[email protected]>
By author:    Igmar Palsenberg <[email protected]>
In newsgroup: linux.dev.kernel
Quoted 5 lines

Yes. First program to run get PID 1.

Solution : fork() in init and load the modules in the child.

Or finish your script with "exec init".

-hpa

Signature · 7 lines
<[email protected]> at work, <[email protected]> in private!
"Unix gives you enough rope to shoot yourself in the foot."
http://www.zytor.com/~hpa/puzzle.txt
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/