lilo.c:main()
|-- cfg_open(config_file);
|-- cfg_parse(cf_options);
|-- bsect_open(boot_dev, map_file, install, delay, timeout);
|   |-- open_bsect(boot_dev);
|   `-- map_create(map_file);
|-- cfg_parse(cf_top)
|   `-- cfg_do_set();
|       `-- do_image();             // "image=" bölümü için walk->action
|           |-- cfg_parse(cf_image) -> cfg_do_set();
|           |-- bsect_common(&descr, 1);
|           |   |-- map_begin_section();
|           |   |-- map_add_sector(fallback_buf);
|           |   `-- map_add_sector(options);
|           |-- boot_image(name, &descr) veya boot_device(name, range, &descr);
|           |   |-- int fd = geo_open(&descr, name, O_RDONLY);
|           |   |   read(fd, &buff, SECTOR_SIZE);
|           |   |   map_add(&geo, 0, image_sectors);
|           |   |   map_end_section(&descr->start, setup_sects+2+1);
|           |   |       /* bsect_common()içinde iki sektör yaratıldı,
|           |   |        * bootsect için ise başka bir sektör*/
|           |   |   geo_close(&geo);
|           |   `-- fd = geo_open(&descr, initrd, O_RDONLY);
|           |       map_begin_section();
|           |       map_add(&geo, 0, initrd_sectors);
|           |       map_end_section(&descr->initrd,0);
|           |       geo_close(&geo);
|           `-- bsect_done(name, &descr);
`-- bsect_update(backup_file, force_backup, 0); // önyükleme sektörünü güncelle
    |-- make_backup();
    |-- map_begin_section();
    |   map_add_sector(table);
    |   map_write(¶m2, keytab, 0, 0);
    |   map_close(¶m2, here2);
    |-- // ... önyükleme sektörünün yeniden yerleştirilmesini yap
    |-- // ... bsect_wr'yi doğru yere ayarla
    |-- write(fd, bsect_wr, SECTOR_SIZE);
    `-- close(fd);