[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Debian boot system



> > 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: