Re: Debian boot system
- To: Buddha Buck <bmbuck@14850.com>
- Cc: debian-devel@lists.debian.org
- Subject: Re: Debian boot system
- From: Eyal Lotem <eyal@hyperroll.com>
- Date: Sat, 7 Oct 2000 14:50:36 +0200
- Message-id: <00100714503601.02668@beelzebub>
- In-reply-to: <20001007041725.C725415722@zaphod>
- References: <00100705133201.02466@beelzebub> <20001007041725.C725415722@zaphod>
> > Basically, all that needs to be specified, are the dependencies. As I
> > already have specified roughly, in my Makefile draft (that works fine,
> > btw), and took about 5 minutes to make.
>
> Could you post your Makefile draft (and what other steps you had to
> make for this to work)? Do you have /bin and /usr/bin on separate
> partitions?
Alright, here it is.
I am not sure my non-standard style of casing/etc will be to your liking, but
its just a draft to show its possible :)
No, I don't have /bin and /usr/bin on seperate partitions, and yes, I see the
problem of having extra dependencies here. But as people already explained,
it is resolvable either by using a minimake (I'm willing to write one, that
would just be able to run the commands necessary for the /usr/bin/make to
become available, which means that the first steps in the boot process will
not be able to use the more powerful Make features (Don't think it would be a
big deal, though).
All the information I used was the output of ls /etc/rcS.d /etc/rc4.d :)
Then, I moved all /etc/rc*.d into /etc/old, and put empty directories instead
of them all, with /etc/rcS.d containing the Makefile, with a 'start' rule
that depends on everything I want started. This is obviously not a good
final scheme, but it works for the draft :)
Yes, I know its not very clean, this is why its just a draft, a 5-minute one,
at that :)
Also, I think the dependencies should be specific with much finer granulity
than they are in this Makefile (dependencies on /usr/ being mounted, etc)
INIT.D = -/etc/init.d
start: All
All: System Software UserInterface Finish
System: Hardware Network Misc
Hardware: Hardware0 Hardware1 Hardware2 Hardware3
###########
Hardware0: Keymap CheckRoot IsaPnp ModUtils
Keymap:
$(INIT.D)/keymaps-lct.sh start
CheckRoot:
$(INIT.D)/checkroot.sh start
IsaPnp:
$(INIT.D)/isapnp start
ModUtils:
$(INIT.D)/modutils start
###########
Hardware1: CheckFileSystems ProcPS SetSerial Alsa
CheckFileSystems: Hardware0
$(INIT.D)/checkfs.sh start
ProcPS: Hardware0
$(INIT.D)/procps.sh start
SetSerial: Hardware0
$(INIT.D)/setserial start
Alsa: Hardware0
$(INIT.D)/alsa start
###########
Hardware2: DevPts MountAll
DevPts: Hardware1
$(INIT.D)/devpts start
MountAll: Hardware1
$(INIT.D)/mountall start
###########
Hardware3: Sound Console Clock
Sound: Hardware2
$(INIT.D)/aumix start
Console: Hardware2
$(INIT.D)/console-screen.sh start
Clock: Hardware2
$(INIT.D)/hwclock.sh start
Network: Network0 Network1 Network2
###########
Network0: DnsCleanup
DnsCleanup: Hardware
$(INIT.D)/dns-clean start
###########
Network1: Hostname NetInterfaces NetPump
Hostname: Network0
$(INIT.D)/hostname.sh start
NetInterfaces: Network0
$(INIT.D)/networking start
NetPump: Network0
$(INIT.D)/pump start
###########
Network2: Portmap NetworkMounts AllIpMasq
Portmap: Network1
$(INIT.D)/dns-clean start
NetworkMounts: NFS
NFS: Network1
$(INIT.D)/dns-clean start
AllIpMasq: IpMasqKMod
IpMasqKMod: IpMasq
$(INIT.D)/ipmasq-kmod start
IpMasq: Network1
$(INIT.D)/ipmasq start
Misc: BootMisc URandom
BootMisc: Network
$(INIT.D)/bootmisc.sh start
URandom: Hardware
$(INIT.D)/urandom start
###########
Software: Software0 Software1
Software0: Syslog KernelDaemon PPP IsdnUtils
Syslog: System
$(INIT.D)/sysklogd start
KernelDaemon: System
$(INIT.D)/kerneld start
PPP: System
$(INIT.D)/ppp start
IsdnUtils: System
$(INIT.D)/isdnutils start
Software1: AutoFS Gpm Inetd Ippl LogoutDaemon MakeDev OIdentd RWhoD Samba Ssh Xfs XfsTT FtpDaemon
AutoFS: Software0
$(INIT.D)/autofs start
Gpm: Software0
$(INIT.D)/gpm start
Inetd: Software0
$(INIT.D)/inetd start
Ippl: Software0
$(INIT.D)/ippl start
LogoutDaemon: Software0
$(INIT.D)/logoutd start
MakeDev: Software0
$(INIT.D)/makedev start
OIdentd: Software0
$(INIT.D)/oidentd start
RWhoD: Software0
$(INIT.D)/rwhod start
Samba: Software0
$(INIT.D)/samba start
Ssh: Software0
$(INIT.D)/ssh start
Xfs: Software0
$(INIT.D)/xfs start
XfsTT: Software0
$(INIT.D)/xfstt start
FtpDaemon: Software0
$(INIT.D)/proftpd start
UserInterface: Kdm
Kdm: Software
$(INIT.D)/kdm start
Finish: RemoveNoLogin
RemoveNoLogin: UserInterface
$(INIT.D)/rmnologin start
Reply to: