.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Modified by Michael Haardt .\" Modified Sun Jul 25 10:14:13 1993 by Rik Faith .\" Modified 15 April 1995 by Michael Chastain .\" Update calling parameters to Linux 1.2.4 values. .\" Modified 10 June 1995 by Andries Brouwer .\" Modified 3 May 1996 by Martin Schulze .\" Modified Wed Nov 6 04:05:28 1996 by Eric S. Raymond .\" Modified Sat Jan 29 01:08:23 2000 by aeb .\" .TH setup 2 2023-10-31 "Linux man-pages 6.7" .SH NAME setup \- setup devices and filesystems, mount root filesystem .SH LIBRARY Standard C library .RI ( libc ", " \-lc ) .SH SYNOPSIS .nf .B #include .P .B [[deprecated]] int setup(void); .fi .SH DESCRIPTION .BR setup () is called once from within .IR linux/init/main.c . It calls initialization functions for devices and filesystems configured into the kernel and then mounts the root filesystem. .P No user process may call .BR setup (). Any user process, even a process with superuser permission, will receive .BR EPERM . .SH RETURN VALUE .BR setup () always returns \-1 for a user process. .SH ERRORS .TP .B EPERM Always, for a user process. .SH STANDARDS Linux. .SH VERSIONS Removed in Linux 2.1.121. .P The calling sequence varied: at some times .BR setup () has had a single argument .I "void\ *BIOS" and at other times a single argument .IR "int magic" .