version 1.42, 2019/07/26 08:18:47 |
version 1.42.2.11, 2022/02/14 06:45:34 |
Line 58 const char *getfslabelname(uint, uint); |
|
Line 58 const char *getfslabelname(uint, uint); |
|
#define STRSIZE 255 |
#define STRSIZE 255 |
#define MENUSTRSIZE 80 |
#define MENUSTRSIZE 80 |
#define SSTRSIZE 30 |
#define SSTRSIZE 30 |
|
#define DISKNAMESIZE 24 /* max(strlen("/dev/rsd22c")) */ |
|
|
|
/* these are used for different alignment defaults */ |
#define HUGE_DISK_SIZE (daddr_t)(128 * (GIG / 512)) |
#define HUGE_DISK_SIZE (daddr_t)(128 * (GIG / 512)) |
#define TINY_DISK_SIZE (daddr_t)(1800 * (MEG / 512)) |
#define TINY_DISK_SIZE (daddr_t)(1800 * (MEG / 512)) |
|
|
|
/* |
|
* if a system does not have more ram (in MB) than this, swap will be enabled |
|
* very early (as soon as the swap partition has been created) |
|
*/ |
|
#define TINY_RAM_SIZE 32 |
|
/* |
|
* if a system has less ram (in MB) than this, we will not create a |
|
* tmpfs /tmp by default (to workaround PR misc/54886) |
|
*/ |
|
#define SMALL_RAM_SIZE 384 |
|
|
/* helper macros to create unique internal error messages */ |
/* helper macros to create unique internal error messages */ |
#define STR_NO(STR) #STR |
#define STR_NO(STR) #STR |
#define TO_STR(NO) STR_NO(NO) |
#define TO_STR(NO) STR_NO(NO) |
Line 91 const char *getfslabelname(uint, uint); |
|
Line 104 const char *getfslabelname(uint, uint); |
|
#define RUN_XFER_DIR 0x0200 /* cd to xfer_dir in child */ |
#define RUN_XFER_DIR 0x0200 /* cd to xfer_dir in child */ |
|
|
/* for bsddisklabel.c */ |
/* for bsddisklabel.c */ |
enum layout_type { LY_KEEPEXISTING, LY_SETSIZES, LY_USEDEFAULT, LY_USEFULL }; |
enum layout_type { |
|
LY_KEEPEXISTING, /* keep exisiting partitions */ |
|
LY_OTHERSCHEME, /* delete all, select new partitioning scheme */ |
|
LY_SETSIZES, /* edit sizes */ |
|
LY_USEDEFAULT, /* use default sizes */ |
|
LY_USEFULL, /* use full disk for NetBSD */ |
|
LY_ERROR /* used for "abort" in menu */ |
|
}; |
|
|
enum setup_type { SY_NEWRAID, SY_NEWCGD, SY_NEWLVM }; |
enum setup_type { SY_NEWRAID, SY_NEWCGD, SY_NEWLVM }; |
|
|
/* Installation sets */ |
/* Installation sets */ |
|
|
SET_MAN_PAGES, /* online manual pages */ |
SET_MAN_PAGES, /* online manual pages */ |
SET_MISC, /* miscellaneuous */ |
SET_MISC, /* miscellaneuous */ |
SET_MODULES, /* kernel modules */ |
SET_MODULES, /* kernel modules */ |
|
SET_RESCUE, /* /rescue recovery tools */ |
SET_TESTS, /* tests */ |
SET_TESTS, /* tests */ |
SET_TEXT_TOOLS, /* text processing tools */ |
SET_TEXT_TOOLS, /* text processing tools */ |
|
|
|
|
#define SET_CORE SET_MODULES, SET_BASE, SET_ETC |
#define SET_CORE SET_MODULES, SET_BASE, SET_ETC |
/* All system sets */ |
/* All system sets */ |
#define SET_SYSTEM SET_CORE, SET_COMPILER, SET_GAMES, \ |
#define SET_SYSTEM SET_CORE, SET_COMPILER, SET_GAMES, \ |
SET_MAN_PAGES, SET_MISC, SET_TESTS, SET_TEXT_TOOLS |
SET_MAN_PAGES, SET_MISC, SET_RESCUE, \ |
|
SET_TESTS, SET_TEXT_TOOLS |
/* All X11 sets */ |
/* All X11 sets */ |
#define SET_X11_NOSERVERS SET_X11_BASE, SET_X11_FONTS, SET_X11_PROG, SET_X11_ETC |
#define SET_X11_NOSERVERS SET_X11_BASE, SET_X11_FONTS, SET_X11_PROG, SET_X11_ETC |
#define SET_X11 SET_X11_NOSERVERS, SET_X11_SERVERS |
#define SET_X11 SET_X11_NOSERVERS, SET_X11_SERVERS |
Line 239 typedef struct distinfo { |
|
Line 262 typedef struct distinfo { |
|
* layout according to the partitioning scheme backend. |
* layout according to the partitioning scheme backend. |
*/ |
*/ |
struct part_usage_info { |
struct part_usage_info { |
daddr_t size; /* thumb guestimate of size [sec] */ |
daddr_t size; /* thumb guestimate of size, |
|
* [sec if positive, %-of-ram |
|
* if TMPFS and negative] |
|
*/ |
daddr_t def_size; /* default size */ |
daddr_t def_size; /* default size */ |
daddr_t limit; /* max size */ |
daddr_t limit; /* max size */ |
char mount[MOUNTLEN]; /* where will we mount this? */ |
char mount[MOUNTLEN]; /* where will we mount this? */ |
Line 250 struct part_usage_info { |
|
Line 276 struct part_usage_info { |
|
#define PUIFLAG_ADD_OUTER 2 /* Add this partition to the outer |
#define PUIFLAG_ADD_OUTER 2 /* Add this partition to the outer |
* partitions (if available) */ |
* partitions (if available) */ |
#define PUIFLG_IS_OUTER 4 /* this is an existing outer one */ |
#define PUIFLG_IS_OUTER 4 /* this is an existing outer one */ |
#define PUIFLAG_ADD_INNER 8 /* add outer also to inner */ |
#define PUIFLG_ADD_INNER 8 /* add outer also to inner */ |
#define PUIFLG_JUST_MOUNTPOINT 16 /* tmpfs of mfs mountpoints */ |
#define PUIFLG_JUST_MOUNTPOINT 16 /* tmpfs of mfs mountpoints */ |
|
#define PUIFLG_CLONE_PARTS 32 /* clone external partitions */ |
uint flags; |
uint flags; |
struct disk_partitions *parts; /* Where does this partition live? |
struct disk_partitions *parts; /* Where does this partition live? |
* We currently only support |
* We currently only support |
Line 280 struct part_usage_info { |
|
Line 307 struct part_usage_info { |
|
unsigned int instflags; /* installer handling flags */ |
unsigned int instflags; /* installer handling flags */ |
uint fs_type, fs_version; /* e.g. FS_LFS, or FS_BSDFS, |
uint fs_type, fs_version; /* e.g. FS_LFS, or FS_BSDFS, |
* version = 2 for FFSv2 */ |
* version = 2 for FFSv2 */ |
|
uint fs_opt1, fs_opt2, fs_opt3; /* FS specific, FFS: block/frag */ |
|
#ifndef NO_CLONES |
|
/* |
|
* Only != NULL when PUIFLG_CLONE_PARTS is set, describes the |
|
* source partitions to clone here. |
|
*/ |
|
struct selected_partitions *clone_src; |
|
/* |
|
* If clone_src != NULL, this record corresponds to a single |
|
* selected source partition, if clone_ndx is a valid index in clone_src |
|
* (>= 0 && <= clone_src->num_sel, or all of them if clone_ndx = ~0U. |
|
*/ |
|
size_t clone_ndx; |
|
#endif |
}; |
}; |
|
|
/* |
/* |
* A list of partition suggestions, bundled for editing |
* A list of partition suggestions, bundled for editing |
*/ |
*/ |
struct partition_usage_set { |
struct partition_usage_set { |
struct disk_partitions *parts; |
struct disk_partitions *parts; /* main partition table */ |
size_t num; |
size_t num; /* number of infos */ |
struct part_usage_info *infos; /* 0 .. num-1 */ |
struct part_usage_info *infos; /* 0 .. num-1 */ |
|
struct disk_partitions **write_back; |
|
/* partition tables from which we |
|
* did delete some partitions and |
|
* that need updating, even if |
|
* no active partition remains. */ |
|
size_t num_write_back; /* number of write_back */ |
daddr_t cur_free_space; /* estimate of free sectors */ |
daddr_t cur_free_space; /* estimate of free sectors */ |
|
daddr_t reserved_space; /* space we are not allowed to use */ |
menu_ent *menu_opts; /* 0 .. num+N */ |
menu_ent *menu_opts; /* 0 .. num+N */ |
int menu; /* the menu to edit this */ |
int menu; /* the menu to edit this */ |
bool ok; /* ok to continue (all fit) */ |
bool ok; /* ok to continue (all fit) */ |
Line 301 struct partition_usage_set { |
|
Line 349 struct partition_usage_set { |
|
*/ |
*/ |
struct single_part_fs_edit { |
struct single_part_fs_edit { |
struct partition_usage_set *pset; |
struct partition_usage_set *pset; |
size_t index, first_custom_attr; |
size_t index, first_custom_attr, offset, mode; |
part_id id; |
part_id id; |
struct disk_part_info info; /* current partition data */ |
struct disk_part_info info; /* current partition data */ |
struct part_usage_info *wanted; /* points at our edit data */ |
struct part_usage_info *wanted; /* points at our edit data */ |
Line 324 struct single_part_fs_edit { |
|
Line 372 struct single_part_fs_edit { |
|
struct install_partition_desc { |
struct install_partition_desc { |
size_t num; /* how many entries in infos */ |
size_t num; /* how many entries in infos */ |
struct part_usage_info *infos; /* individual partitions */ |
struct part_usage_info *infos; /* individual partitions */ |
|
struct disk_partitions **write_back; /* partition tables from |
|
* which we did delete some |
|
* partitions and that need |
|
* updating, even if no |
|
* active partition remains. */ |
|
size_t num_write_back; /* number of write_back */ |
bool cur_system; /* target is the life system */ |
bool cur_system; /* target is the life system */ |
}; |
}; |
|
|
/* variables */ |
/* variables */ |
|
|
int debug; /* set by -D option */ |
extern int debug; /* set by -D option */ |
|
|
char rel[SSTRSIZE]; |
extern char machine[SSTRSIZE]; |
char machine[SSTRSIZE]; |
|
|
|
int ignorerror; |
extern int ignorerror; |
int ttysig_ignore; |
extern int ttysig_ignore; |
pid_t ttysig_forward; |
extern pid_t ttysig_forward; |
int sizemult; |
extern uint sizemult; |
extern const char *multname; |
extern const char *multname; |
extern const char *err_outofmem; |
extern const char *err_outofmem; |
int partman_go; /* run extended partition manager */ |
extern int partman_go; /* run extended partition manager */ |
|
|
/* logging variables */ |
/* logging variables */ |
|
|
FILE *logfp; |
extern FILE *logfp; |
FILE *script; |
extern FILE *script; |
|
|
daddr_t tmp_ramdisk_size; |
|
#define MAX_DISKS 15 |
#define MAX_DISKS 15 |
|
|
daddr_t root_limit; /* BIOS (etc) read limit */ |
extern daddr_t root_limit; /* BIOS (etc) read limit */ |
|
|
enum SHRED_T { SHRED_NONE=0, SHRED_ZEROS, SHRED_RANDOM, SHRED_CRYPTO }; |
enum SHRED_T { SHRED_NONE=0, SHRED_ZEROS, SHRED_RANDOM }; |
|
|
/* All information that is unique for each drive */ |
/* All information that is unique for each drive */ |
SLIST_HEAD(pm_head_t, pm_devs) pm_head; |
extern SLIST_HEAD(pm_head_t, pm_devs) pm_head; |
|
|
struct pm_devs { |
struct pm_devs { |
/* |
/* |
Line 391 struct pm_devs { |
|
Line 443 struct pm_devs { |
|
*/ |
*/ |
bool cur_system; |
bool cur_system; |
|
|
/* Actual values for current disk - set by find_disks() or |
/* Actual values for current disk geometry - set by find_disks() or |
md_get_info() */ |
* md_get_info() |
int sectorsize, dlcyl, dlhead, dlsec, dlcylsize, current_cylsize; |
*/ |
daddr_t dlsize; |
uint sectorsize, dlcyl, dlhead, dlsec, dlcylsize, current_cylsize; |
|
/* |
|
* Total size of the disk - in 'sectorsize' units (!) |
|
*/ |
|
daddr_t dlsize; /* total number of disk sectors */ |
|
|
/* Area of disk we can allocate, start and size in disk sectors. */ |
/* Area of disk we can allocate, start and size in sectors. */ |
daddr_t ptstart, ptsize; |
daddr_t ptstart, ptsize; |
|
|
/* For some bootblocks we need to know the CHS addressable limit */ |
/* For some bootblocks we need to know the CHS addressable limit */ |
Line 414 struct pm_devs { |
|
Line 470 struct pm_devs { |
|
*/ |
*/ |
char **mounted; |
char **mounted; |
|
|
bool bootable; /* This device is bootable */ |
|
bool unsaved; /* Flag indicating to partman that device need saving */ |
bool unsaved; /* Flag indicating to partman that device need saving */ |
bool found; /* Flag to delete unplugged and unconfigured devices */ |
bool found; /* Flag to delete unplugged and unconfigured devices */ |
int blocked; /* Device is busy and cannot be changed */ |
int blocked; /* Device is busy and cannot be changed */ |
|
|
SLIST_ENTRY(pm_devs) l; |
SLIST_ENTRY(pm_devs) l; |
}; |
}; |
struct pm_devs *pm; /* Pointer to current device with which we work */ |
extern struct pm_devs *pm; /* Pointer to current device with which we work */ |
struct pm_devs *pm_new; /* Pointer for next allocating device in find_disks() */ |
extern struct pm_devs *pm_new; /* Pointer for next allocating device in find_disks() */ |
|
|
/* Generic structure for partman */ |
/* Generic structure for partman */ |
struct part_entry { |
struct part_entry { |
int retvalue; |
|
part_id id; |
part_id id; |
struct disk_partitions *parts; |
struct disk_partitions *parts; |
void *dev_ptr; |
void *dev_ptr; |
size_t index; |
size_t index; /* e.g. if PM_RAID: this is raids[index] */ |
int dev_ptr_delta; |
int dev_ptr_delta; |
char fullname[SSTRSIZE]; |
char fullname[SSTRSIZE]; |
enum {PM_DISK=1, PM_PART, PM_SPEC, |
enum {PM_DISK=1, PM_PART, PM_SPEC, |
Line 438 struct part_entry { |
|
Line 492 struct part_entry { |
|
}; |
}; |
|
|
/* Relative file name for storing a distribution. */ |
/* Relative file name for storing a distribution. */ |
char xfer_dir[STRSIZE]; |
extern char xfer_dir[STRSIZE]; |
int clean_xfer_dir; |
extern int clean_xfer_dir; |
|
|
#if !defined(SYSINST_FTP_HOST) |
#if !defined(SYSINST_FTP_HOST) |
#define SYSINST_FTP_HOST "ftp.NetBSD.org" |
#define SYSINST_FTP_HOST "ftp.NetBSD.org" |
Line 492 int clean_xfer_dir; |
|
Line 546 int clean_xfer_dir; |
|
#define SETS_TAR_SUFF "tgz" |
#define SETS_TAR_SUFF "tgz" |
#endif |
#endif |
|
|
|
#ifdef USING_PAXASTAR |
|
#define TAR_EXTRACT_FLAGS "-xhepf" |
|
#else |
|
#define TAR_EXTRACT_FLAGS "-xpf" |
|
#endif |
|
|
/* Abs. path we extract binary sets from */ |
/* Abs. path we extract binary sets from */ |
char ext_dir_bin[STRSIZE]; |
extern char ext_dir_bin[STRSIZE]; |
|
|
/* Abs. path we extract source sets from */ |
/* Abs. path we extract source sets from */ |
char ext_dir_src[STRSIZE]; |
extern char ext_dir_src[STRSIZE]; |
|
|
/* Abs. path we extract pkgsrc from */ |
/* Abs. path we extract pkgsrc from */ |
char ext_dir_pkgsrc[STRSIZE]; |
extern char ext_dir_pkgsrc[STRSIZE]; |
|
|
/* Place we look for binary sets in all fs types */ |
/* Place we look for binary sets in all fs types */ |
char set_dir_bin[STRSIZE]; |
extern char set_dir_bin[STRSIZE]; |
|
|
/* Place we look for source sets in all fs types */ |
/* Place we look for source sets in all fs types */ |
char set_dir_src[STRSIZE]; |
extern char set_dir_src[STRSIZE]; |
|
|
/* Place we look for pkgs in all fs types */ |
/* Place we look for pkgs in all fs types */ |
char pkg_dir[STRSIZE]; |
extern char pkg_dir[STRSIZE]; |
|
|
/* Place we look for pkgsrc in all fs types */ |
/* Place we look for pkgsrc in all fs types */ |
char pkgsrc_dir[STRSIZE]; |
extern char pkgsrc_dir[STRSIZE]; |
|
|
/* User shell */ |
/* User shell */ |
const char *ushell; |
extern const char *ushell; |
|
|
#define XFER_FTP 0 |
#define XFER_FTP 0 |
#define XFER_HTTP 1 |
#define XFER_HTTP 1 |
Line 530 struct ftpinfo { |
|
Line 590 struct ftpinfo { |
|
}; |
}; |
|
|
/* use the same struct for sets ftp and to build pkgpath */ |
/* use the same struct for sets ftp and to build pkgpath */ |
struct ftpinfo ftp, pkg, pkgsrc; |
extern struct ftpinfo ftp, pkg, pkgsrc; |
|
|
int (*fetch_fn)(const char *); |
extern int (*fetch_fn)(const char *); |
char nfs_host[STRSIZE]; |
extern char nfs_host[STRSIZE]; |
char nfs_dir[STRSIZE]; |
extern char nfs_dir[STRSIZE]; |
|
|
char cdrom_dev[SSTRSIZE]; /* Typically "cd0a" */ |
extern char cdrom_dev[SSTRSIZE]; /* Typically "cd0a" */ |
char fd_dev[SSTRSIZE]; /* Typically "/dev/fd0a" */ |
extern char fd_dev[SSTRSIZE]; /* Typically "/dev/fd0a" */ |
const char *fd_type; /* "msdos", "ffs" or maybe "ados" */ |
extern const char *fd_type; /* "msdos", "ffs" or maybe "ados" */ |
|
|
char localfs_dev[SSTRSIZE]; |
extern char localfs_dev[SSTRSIZE]; |
char localfs_fs[SSTRSIZE]; |
extern char localfs_fs[SSTRSIZE]; |
char localfs_dir[STRSIZE]; |
extern char localfs_dir[STRSIZE]; |
|
|
char targetroot_mnt[SSTRSIZE]; |
extern char targetroot_mnt[SSTRSIZE]; |
|
|
int mnt2_mounted; |
extern int mnt2_mounted; |
|
|
char dist_postfix[SSTRSIZE]; |
extern char dist_postfix[SSTRSIZE]; |
char dist_tgz_postfix[SSTRSIZE]; |
extern char dist_tgz_postfix[SSTRSIZE]; |
|
|
/* needed prototypes */ |
/* needed prototypes */ |
void set_menu_numopts(int, int); |
void set_menu_numopts(int, int); |
Line 557 void remove_color_options(void); |
|
Line 617 void remove_color_options(void); |
|
void remove_raid_options(void); |
void remove_raid_options(void); |
void remove_lvm_options(void); |
void remove_lvm_options(void); |
void remove_cgd_options(void); |
void remove_cgd_options(void); |
void remove_gpt_options(void); |
|
|
|
/* Machine dependent functions .... */ |
/* Machine dependent functions .... */ |
void md_init(void); |
void md_init(void); |
void md_prelim_menu(void); |
|
void md_init_set_status(int); /* SFLAG_foo */ |
void md_init_set_status(int); /* SFLAG_foo */ |
|
|
/* MD functions if user selects install - in order called */ |
/* MD functions if user selects install - in order called */ |
bool md_get_info(struct install_partition_desc*); |
bool md_get_info(struct install_partition_desc*); |
bool md_make_bsd_partitions(struct install_partition_desc*); |
/* returns -1 to restart partitioning, 0 for error, 1 for success */ |
|
int md_make_bsd_partitions(struct install_partition_desc*); |
bool md_check_partitions(struct install_partition_desc*); |
bool md_check_partitions(struct install_partition_desc*); |
#ifdef HAVE_GPT |
#ifdef HAVE_GPT |
/* |
/* |
Line 586 bool md_pre_disklabel(struct install_par |
|
Line 645 bool md_pre_disklabel(struct install_par |
|
bool md_post_disklabel(struct install_partition_desc*, struct disk_partitions*); |
bool md_post_disklabel(struct install_partition_desc*, struct disk_partitions*); |
int md_pre_mount(struct install_partition_desc*, size_t); |
int md_pre_mount(struct install_partition_desc*, size_t); |
int md_post_newfs(struct install_partition_desc*); |
int md_post_newfs(struct install_partition_desc*); |
int md_post_extract(struct install_partition_desc*); |
int md_post_extract(struct install_partition_desc*, bool upgrade); |
void md_cleanup_install(struct install_partition_desc*); |
void md_cleanup_install(struct install_partition_desc*); |
|
|
/* MD functions if user selects upgrade - in order called */ |
/* MD functions if user selects upgrade - in order called */ |
Line 606 bool is_bootable_device(const char *dev) |
|
Line 665 bool is_bootable_device(const char *dev) |
|
bool is_partitionable_device(const char *dev); |
bool is_partitionable_device(const char *dev); |
bool convert_scheme(struct pm_devs *p, bool is_boot_drive, const char **err_msg); |
bool convert_scheme(struct pm_devs *p, bool is_boot_drive, const char **err_msg); |
|
|
|
#ifndef NO_CLONES |
|
/* a single partition selected for cloning (etc) */ |
|
struct selected_partition { |
|
struct disk_partitions *parts; |
|
part_id id; |
|
}; |
|
struct selected_partitions { |
|
struct selected_partition *selection; |
|
size_t num_sel; |
|
bool with_data; /* partitions and their data selected */ |
|
bool free_parts; /* caller should free parts */ |
|
}; |
|
bool select_partitions(struct selected_partitions *res, |
|
const struct disk_partitions *ignore); |
|
daddr_t selected_parts_size(struct selected_partitions *); |
|
void free_selected_partitions(struct selected_partitions *); |
|
|
|
struct clone_target_menu_data { |
|
struct partition_usage_set usage; |
|
int res; |
|
}; |
|
|
|
int clone_target_select(menudesc *m, void *arg); |
|
bool clone_partition_data(struct disk_partitions *dest_parts, part_id did, |
|
struct disk_partitions *src_parts, part_id sid); |
|
#endif |
|
|
struct menudesc; |
struct menudesc; |
void disp_cur_fspart(int, int); |
void disp_cur_fspart(int, int); |
int make_filesystems(struct install_partition_desc *); |
int make_filesystems(struct install_partition_desc *); |
int make_fstab(struct install_partition_desc *); |
int make_fstab(struct install_partition_desc *); |
int mount_disks(struct install_partition_desc *); |
int mount_disks(struct install_partition_desc *); |
int set_swap_if_low_ram(struct install_partition_desc *); |
void set_swap_if_low_ram(struct install_partition_desc *); |
int set_swap(struct install_partition_desc *); |
void set_swap(struct install_partition_desc *); |
|
void clear_swap(void); |
int check_swap(const char *, int); |
int check_swap(const char *, int); |
char *bootxx_name(struct install_partition_desc *); |
char *bootxx_name(struct install_partition_desc *); |
int get_dkwedges(struct dkwedge_info **, const char *); |
int get_dkwedges(struct dkwedge_info **, const char *); |
Line 649 int fs_is_lfs(void *); |
|
Line 736 int fs_is_lfs(void *); |
|
const char *get_last_mounted(int fd, daddr_t offset, uint *fs_type, |
const char *get_last_mounted(int fd, daddr_t offset, uint *fs_type, |
uint *fs_sub_type, uint flags); |
uint *fs_sub_type, uint flags); |
void canonicalize_last_mounted(char*); |
void canonicalize_last_mounted(char*); |
int edit_and_check_label(struct pm_devs *p, struct partition_usage_set *pset); |
int edit_and_check_label(struct pm_devs *p, struct partition_usage_set *pset, bool install); |
int edit_ptn(menudesc *, void *); |
int edit_ptn(menudesc *, void *); |
int checkoverlap(struct disk_partitions *parts); |
int checkoverlap(struct disk_partitions *parts); |
daddr_t getpartsize(struct disk_partitions *parts, daddr_t partstart, |
daddr_t getpartsize(struct disk_partitions *parts, daddr_t orig_start, |
daddr_t defpartsize); |
daddr_t partstart, daddr_t defpartsize); |
daddr_t getpartoff(struct disk_partitions *parts, daddr_t defpartstart); |
daddr_t getpartoff(struct disk_partitions *parts, daddr_t defpartstart); |
|
|
/* from install.c */ |
/* from install.c */ |
Line 700 int err_msg_win(const char*); |
|
Line 787 int err_msg_win(const char*); |
|
const struct disk_partitioning_scheme *select_part_scheme(struct pm_devs *dev, |
const struct disk_partitioning_scheme *select_part_scheme(struct pm_devs *dev, |
const struct disk_partitioning_scheme *skip, bool bootable, |
const struct disk_partitioning_scheme *skip, bool bootable, |
const char *title); |
const char *title); |
bool edit_outer_parts(struct disk_partitions*); |
/* |
|
* return value: |
|
* 0 -> abort |
|
* 1 -> ok, continue |
|
* -1 -> partitions have been deleted, start from scratch |
|
*/ |
|
int edit_outer_parts(struct disk_partitions*); |
bool parts_use_wholedisk(struct disk_partitions*, |
bool parts_use_wholedisk(struct disk_partitions*, |
size_t add_ext_parts, const struct disk_part_info *ext_parts); |
size_t add_ext_parts, const struct disk_part_info *ext_parts); |
|
|
Line 712 bool parts_use_wholedisk(struct disk_par |
|
Line 805 bool parts_use_wholedisk(struct disk_par |
|
bool md_parts_use_wholedisk(struct disk_partitions*); |
bool md_parts_use_wholedisk(struct disk_partitions*); |
|
|
/* from util.c */ |
/* from util.c */ |
|
bool root_is_read_only(void); |
void get_ptn_alignment(const struct disk_partitions *parts, daddr_t *align, daddr_t *p0off); |
void get_ptn_alignment(const struct disk_partitions *parts, daddr_t *align, daddr_t *p0off); |
|
struct disk_partitions *get_inner_parts(struct disk_partitions *parts); |
char* str_arg_subst(const char *, size_t, const char **); |
char* str_arg_subst(const char *, size_t, const char **); |
void msg_display_subst(const char *, size_t, ...); |
void msg_display_subst(const char *, size_t, ...); |
void msg_display_add_subst(const char *, size_t, ...); |
void msg_display_add_subst(const char *, size_t, ...); |
Line 740 int get_via_localdir(void); |
|
Line 835 int get_via_localdir(void); |
|
void show_cur_distsets(void); |
void show_cur_distsets(void); |
void make_ramdisk_dir(const char *); |
void make_ramdisk_dir(const char *); |
void set_kernel_set(unsigned int); |
void set_kernel_set(unsigned int); |
|
void set_noextract_set(unsigned int); |
unsigned int get_kernel_set(void); |
unsigned int get_kernel_set(void); |
unsigned int set_X11_selected(void); |
unsigned int set_X11_selected(void); |
int get_and_unpack_sets(int, msg, msg, msg); |
int get_and_unpack_sets(int, msg, msg, msg); |
Line 751 void add_rc_conf(const char *, ...) __pr |
|
Line 847 void add_rc_conf(const char *, ...) __pr |
|
int del_rc_conf(const char *); |
int del_rc_conf(const char *); |
void add_sysctl_conf(const char *, ...) __printflike(1, 2); |
void add_sysctl_conf(const char *, ...) __printflike(1, 2); |
void enable_rc_conf(void); |
void enable_rc_conf(void); |
void set_sizemult(uint secs); |
void set_sizemult(daddr_t, uint bps); |
void set_default_sizemult(uint secs); |
void set_default_sizemult(const char *disk, daddr_t unit, uint bps); |
int check_lfs_progs(void); |
int check_lfs_progs(void); |
void init_set_status(int); |
void init_set_status(int); |
void customise_sets(void); |
void customise_sets(void); |
Line 762 const char *set_dir_for_set(const char * |
|
Line 858 const char *set_dir_for_set(const char * |
|
const char *ext_dir_for_set(const char *); |
const char *ext_dir_for_set(const char *); |
void replace(const char *, const char *, ...) __printflike(2, 3); |
void replace(const char *, const char *, ...) __printflike(2, 3); |
void get_tz_default(void); |
void get_tz_default(void); |
|
distinfo* get_set_distinfo(int); |
int extract_file(distinfo *, int); |
int extract_file(distinfo *, int); |
|
int extract_file_to(distinfo *dist, int update, const char *dest_dir, |
|
const char *extr_pattern, bool do_stats); |
void do_coloring (unsigned int, unsigned int); |
void do_coloring (unsigned int, unsigned int); |
int set_menu_select(menudesc *, void *); |
int set_menu_select(menudesc *, void *); |
const char *safectime(time_t *); |
const char *safectime(time_t *); |
Line 774 void free_usage_set(struct partition_usa |
|
Line 873 void free_usage_set(struct partition_usa |
|
bool install_desc_from_parts(struct install_partition_desc *, |
bool install_desc_from_parts(struct install_partition_desc *, |
struct disk_partitions*); |
struct disk_partitions*); |
void free_install_desc(struct install_partition_desc*); |
void free_install_desc(struct install_partition_desc*); |
|
bool may_swap_if_not_sdmmc(const char*); |
|
|
/* from target.c */ |
/* from target.c */ |
#if defined(DEBUG) || defined(DEBUG_ROOT) |
#if defined(DEBUG) || defined(DEBUG_ROOT) |
Line 799 void dup_file_into_target(const char *); |
|
Line 899 void dup_file_into_target(const char *); |
|
void mv_within_target_or_die(const char *, const char *); |
void mv_within_target_or_die(const char *, const char *); |
int cp_within_target(const char *, const char *, int); |
int cp_within_target(const char *, const char *, int); |
int target_mount(const char *, const char *, const char *); |
int target_mount(const char *, const char *, const char *); |
|
int target_unmount(const char *); |
int target_mount_do(const char *, const char *, const char *); |
int target_mount_do(const char *, const char *, const char *); |
int target_test(unsigned int, const char *); |
int target_test(unsigned int, const char *); |
int target_dir_exists_p(const char *); |
int target_dir_exists_p(const char *); |
int target_file_exists_p(const char *); |
int target_file_exists_p(const char *); |
int target_symlink_exists_p(const char *); |
int target_symlink_exists_p(const char *); |
void unwind_mounts(void); |
void unwind_mounts(void); |
|
void register_post_umount_delwedge(const char *disk, const char *wedge); |
int target_mounted(void); |
int target_mounted(void); |
|
void umount_root(void); |
|
|
/* from partman.c */ |
/* from partman.c */ |
#ifndef NO_PARTMAN |
#ifndef NO_PARTMAN |
Line 818 static inline int partman(void) { return |
|
Line 921 static inline int partman(void) { return |
|
static inline int pm_getrefdev(struct pm_devs *x __unused) { return -1; } |
static inline int pm_getrefdev(struct pm_devs *x __unused) { return -1; } |
#define update_wedges(x) __nothing |
#define update_wedges(x) __nothing |
#endif |
#endif |
|
void pmdiskentry_enable(menudesc*, struct part_entry *); |
int pm_partusage(struct pm_devs *, int, int); |
int pm_partusage(struct pm_devs *, int, int); |
void pm_setfstype(struct pm_devs *, part_id, int, int); |
void pm_setfstype(struct pm_devs *, part_id, int, int); |
|
void pm_set_lvmpv(struct pm_devs *, part_id, bool); |
|
bool pm_is_lvmpv(struct pm_devs *, part_id, const struct disk_part_info*); |
int pm_editpart(int); |
int pm_editpart(int); |
void pm_rename(struct pm_devs *); |
void pm_rename(struct pm_devs *); |
int pm_shred(struct pm_devs *, int, int); |
void pm_shred(struct part_entry *, int); |
void pm_umount(struct pm_devs *, int); |
void pm_umount(struct pm_devs *, int); |
int pm_unconfigure(struct pm_devs *); |
int pm_unconfigure(struct pm_devs *); |
int pm_cgd_edit(void *, struct part_entry *); |
int pm_cgd_edit_new(struct pm_devs *pm, part_id id); |
|
int pm_cgd_edit_old(struct part_entry *); |
void pm_wedges_fill(struct pm_devs *); |
void pm_wedges_fill(struct pm_devs *); |
|
void pm_edit_partitions(struct part_entry *); |
|
part_id pm_whole_disk(struct part_entry *, int); |
|
struct pm_devs * pm_from_pe(struct part_entry *); |
|
bool pm_force_parts(struct pm_devs *); |
|
|
/* |
/* |
* Parse a file system position or size in a common way, return |
* Parse a file system position or size in a common way, return |
Line 838 void pm_wedges_fill(struct pm_devs *); |
|
Line 949 void pm_wedges_fill(struct pm_devs *); |
|
daddr_t parse_disk_pos( |
daddr_t parse_disk_pos( |
const char *, /* in: input string */ |
const char *, /* in: input string */ |
daddr_t *, /* in/out: multiplicator for return value */ |
daddr_t *, /* in/out: multiplicator for return value */ |
daddr_t, /* in: cylinder size in blocks */ |
daddr_t bps, /* in: sector size in bytes */ |
|
daddr_t, /* in: cylinder size in sectors */ |
bool *); /* NULL if "extend" is not supported, & of |
bool *); /* NULL if "extend" is not supported, & of |
* "extend" flag otherwise */ |
* "extend" flag otherwise */ |
|
|
Line 849 extern int have_raid, have_vnd, have_cgd |
|
Line 961 extern int have_raid, have_vnd, have_cgd |
|
void check_available_binaries(void); |
void check_available_binaries(void); |
|
|
/* from bsddisklabel.c */ |
/* from bsddisklabel.c */ |
bool make_bsd_partitions(struct install_partition_desc*); |
/* returns -1 to restart partitioning, 0 for error, 1 for success */ |
|
int make_bsd_partitions(struct install_partition_desc*); |
void set_ptn_titles(menudesc *, int, void *); |
void set_ptn_titles(menudesc *, int, void *); |
int set_ptn_size(menudesc *, void *); |
int set_ptn_size(menudesc *, void *); |
bool get_ptn_sizes(struct partition_usage_set*); |
bool get_ptn_sizes(struct partition_usage_set*); |
Line 872 void do_configmenu(struct install_partit |
|
Line 985 void do_configmenu(struct install_partit |
|
/* from checkrc.c */ |
/* from checkrc.c */ |
int check_rcvar(const char *); |
int check_rcvar(const char *); |
int check_rcdefault(const char *); |
int check_rcdefault(const char *); |
WINDOW *mainwin; |
extern WINDOW *mainwin; |
|
|
/* in menus.mi */ |
/* in menus.mi */ |
void expand_all_option_texts(menudesc *menu, void *arg); |
void expand_all_option_texts(menudesc *menu, void *arg); |