Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 3242 → Rev 3243

/trunk/uspace/app/init/init.c
51,12 → 51,12
usleep(50000); // FIXME
}
 
static bool mount_tmpfs(void)
static bool mount_fs(const char *fstype)
{
int rc = -1;
while (rc < 0) {
rc = mount("tmpfs", "/", "initrd");
rc = mount(fstype, "/", "initrd");
switch (rc) {
case EOK:
95,8 → 95,10
{
info_print();
sleep(5); // FIXME
bool has_tmpfs = false;
bool has_fat = false;
if (!mount_tmpfs()) {
if (!(has_tmpfs = mount_fs("tmpfs")) && !(has_fat = mount_fs("fat"))) {
printf(NAME ": Exiting\n");
return -1;
}
109,7 → 111,14
console_wait();
version_print();
spawn("/sbin/fat");
/*
* Spawn file system servers that were not loaded as init tasks.
*/
if (!has_fat)
spawn("/sbin/fat");
if (!has_tmpfs)
spawn("/sbin/tmpfs");
spawn("/sbin/tetris");
spawn("/sbin/cli");
// FIXME: spawn("/sbin/tester");
/trunk/boot/boot.config
78,3 → 78,7
@ "ecoff" Ecoff image (GXEmul)
! [ARCH=mips32] IMAGE (choice)
 
# Ramdisk format
@ "tmpfs" TMPFS image
@ "fat" FAT16 image
! RDFMT (choice)
/trunk/boot/arch/amd64/grub/menu.lst
10,5 → 10,6
module /boot/rd
module /boot/vfs
module /boot/tmpfs
module /boot/fat
module /boot/loader
module /boot/initrd.img
/trunk/boot/arch/amd64/Makefile.inc
32,8 → 32,13
$(USPACEDIR)/app/init/init \
$(USPACEDIR)/srv/devmap/devmap \
$(USPACEDIR)/srv/rd/rd \
$(USPACEDIR)/srv/vfs/vfs \
$(USPACEDIR)/srv/fs/tmpfs/tmpfs \
$(USPACEDIR)/srv/vfs/vfs
ifeq ($(RDFMT),tmpfs)
INIT_TASKS += $(USPACEDIR)/srv/fs/tmpfs/tmpfs
endif
ifeq ($(RDFMT),fat)
INIT_TASKS += $(USPACEDIR)/srv/fs/fat/fat
endif
 
RD_TASKS = \
$(USPACEDIR)/srv/pci/pci \
40,11 → 45,16
$(USPACEDIR)/srv/fb/fb \
$(USPACEDIR)/srv/kbd/kbd \
$(USPACEDIR)/srv/console/console \
$(USPACEDIR)/srv/fs/fat/fat \
$(USPACEDIR)/app/tetris/tetris \
$(USPACEDIR)/app/tester/tester \
$(USPACEDIR)/app/klog/klog \
$(USPACEDIR)/app/cli/cli
ifneq ($(RDFMT),tmpfs)
RD_TASKS += $(USPACEDIR)/srv/fs/tmpfs/tmpfs
endif
ifneq ($(RDFMT),fat)
RD_TASKS += $(USPACEDIR)/srv/fs/fat/fat
endif
 
build: $(BASE)/image.iso
 
51,7 → 61,12
$(BASE)/image.iso: arch/$(ARCH)/grub/stage2_eltorito arch/$(ARCH)/grub/menu.lst $(KERNELDIR)/kernel.bin $(INIT_TASKS) $(RD_TASKS)
mkdir -p arch/$(ARCH)/iso/boot/grub
cp arch/$(ARCH)/grub/stage2_eltorito arch/$(ARCH)/iso/boot/grub/
cp arch/$(ARCH)/grub/menu.lst arch/$(ARCH)/iso/boot/grub/
ifneq ($(RDFMT),tmpfs)
cat arch/$(ARCH)/grub/menu.lst | grep -v "tmpfs" >arch/$(ARCH)/iso/boot/grub/menu.lst
endif
ifneq ($(RDFMT),fat)
cat arch/$(ARCH)/grub/menu.lst | grep -v "fat" >arch/$(ARCH)/iso/boot/grub/menu.lst
endif
cp $(KERNELDIR)/kernel.bin arch/$(ARCH)/iso/boot/
for task in $(INIT_TASKS) ; do \
cp $$task arch/$(ARCH)/iso/boot/ ; \
59,7 → 74,12
for task in $(RD_TASKS) ; do \
cp $$task $(USPACEDIR)/dist/sbin/ ; \
done
ifeq ($(RDFMT),tmpfs)
$(BASE)/tools/mktmpfs.py 4096 $(USPACEDIR)/dist/ arch/$(ARCH)/iso/boot/initrd.img
endif
ifeq ($(RDFMT),fat)
$(BASE)/tools/mkfat.sh $(USPACEDIR)/dist/ arch/$(ARCH)/iso/boot/initrd.img
endif
mkisofs -J -r -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o $(BASE)/image.iso arch/$(ARCH)/iso/
 
clean: