summaryrefslogtreecommitdiff
path: root/sys/src/9/boot
AgeCommit message (Collapse)Author
2016-10-24fix bugs and cleanup cryptsetup codecinap_lenrek
devfs: - fix memory leak in devfs leaking the aes key - allocate aes-xts cipher state in secure memory - actually check if the hexkey got fully parsed cryptsetup: - get rid of stupid "type YES" prompt - use genrandom() to generate salts and keys - rewrite cryptsetup to use common pbkdf2 and readcons routines - fix alot of error handling and simplify the code - move cryptsetup command to disk/cryptsetup - update cryptsetup(8) manual page
2016-05-16kernel: add srvtls and tlsclient to bootfs.proto for encrypting connection ↵cinap_lenrek
to the file server
2016-02-14provide /n and /mnt early in bootrc to allow consistent use in /lib/namespacecinap_lenrek
theres a bootstrap problem: when /bin/init is run, it processes /lib/namespace where we might want to mount or bind resources to /n or /mnt. but mntgen was run later in cpurc/termrc so these mounts would be ignored. we already have mntgen in bootfs, so we can provide these mountpoints early. i keep the termrc/cpurc mntgens where they are, but ignore the error prints. this way old kernels will continue to work.
2015-11-22bootrc: remove usbwait hack, usbd/nusbrc are now synchronous by previous commitcinap_lenrek
2015-11-22usbd: intoruce /env/usbbusycinap_lenrek
to solve the usb device enumeration race on boot, usbd creates /env/usbbusy on startup and once all devices have been enumerated and readers have consumed all the events, we remove the file so nusbrc/bootrc can continue. this makes sure all the usb devices that where plugged in on boot are made available.
2015-08-25fix fuckupglenda
2015-08-25import E script from bell labsmischief
2015-08-21kernel/boot: do not handle kfs bootcinap_lenrek
2015-06-28nusbrc: handle fat formated usb drives without partition tablecinap_lenrek
on some usb drives, there is no dos partition table, so check the filesystem type and consider the whole drive.
2015-05-31integrate disk/edisk with diskparts, bootfs and installer (gpt support)cinap_lenrek
2015-05-13fixed by fuck upMatthew Veety
2015-05-13removed ukill.Matthew Veety
2015-04-09bootrc: simplify bootargs splitting avoiding awkcinap_lenrek
2015-03-25boot: allow alternative proto files per kernel and kernel config for bootfs.paqcinap_lenrek
bootmkfile will now looks for the following proto files in order and pick the first one it finds to build the bootfs.paq file: 1) $CONF.boofs.proto (config specific) 2) bootfs.proto (kernel specific) 3) $BOOTDIR/bootfs.proto (default generic)
2015-03-23boot: bind #c to /dev with MREPL instead of MBEFORE to avoid double entriescinap_lenrek
2015-03-15boot: disable group/other permission checking in bootfs paqfscinap_lenrek
when building bootfs in d770 mode directory, the other permissions in bootfs paq are masked off which results in boot to fail. theres no point in checking group/other permissions on boot, so just disable permissin checking in paqfs with the -a flag.
2014-12-15kernel: use new disk/mkfs -o option to get proper source filename list for ↵cinap_lenrek
bootfs.proto
2014-12-14kernel: get rid of /boot/boot parametrizationcinap_lenrek
there is no use for "bootdisk" variable parametrization of /boot/boot and no point for the boot section with its boot methods in the kernel configuration anymore. so mkboot and boot$CONF.out are gone. move the rules for bootfs.paq creation in 9/boot/bootmkfile. location of bootfs.proto is now in 9/boot/bootfs.proto. our /boot/boot target is now just "boot".
2014-12-10bootrc: keep original address when ndb/dnsgetip fails and let dial complaincinap_lenrek
2014-12-10bootrc: use "address" instead "ip" in wording netboot questions, as we ↵cinap_lenrek
domain names are allowed now.
2014-12-10bootrc: add ndb/dnsgetip resolver to bootfs so domain names can be used for ↵cinap_lenrek
fs=, auth= and secstore= (thanks mischief)
2014-12-10bootrc: preserve #ec/fs (thanks _sl)cinap_lenrek
2014-12-10bootrc: handle multiple fs and auth addresses in netboot, always set auth= ↵cinap_lenrek
in /net/ndb
2014-12-09bootrc: do not pass authserver with -a flag to factotum, handle multiple ↵cinap_lenrek
secstore addresses factotum is started in bootrc before the network is setup (as we need it to negotiate wpa key for wifi). once, the network is setup, the bootstrap authservers are passed in /net/ndb, which factotum reads when doing bootstrap authdial. it does this only when no authserver was specified earlier! but we want net.rc to select the proper bootstrap authserver... the $secstore variable takes precedence over $auth. as there is no connection server yet, we have to select the set of servers here and pass them to secstore with -s flag. note that this will work if multiple addresses where specified.
2014-08-17boot: dont print errors if ethernet has no ifstats file, can happen with usb ↵cinap_lenrek
ethernet
2014-06-29nusbrc: ensure rpi ethernet always appears as /net/etherU0stanley lieber
2014-06-28nusb: implement aijus stable uniqueue device namescinap_lenrek
instead of naming devices by ther dynamically assigned device address, we hash device uniqueue fields from the device descriptor and produce a 5 digit hex string that will identify the device across machines. when there is a collision (less than 1% chance with 100 devices), usbd will append the device address to the name to make it uniqueue for this machine. the hname is passed to drivers in the devid argument, which now has the form addr:hname, where the colon and hname can be omited (for backwards compatibility). when the new behaviour isnt desired, nousbhname= environment variable can be defined giving the old behaviour.
2014-06-04nusbrc: dont fork usb drivers into backgroundcinap_lenrek
probing needs to run synchronous to avoid races with other readers of /dev/usbevent.
2014-04-23boot/nusbrc: add another rndis deviceftrvxmtrx
2014-04-22nusb/ether: add RNDIS support (tested on Nexus 5)ftrvxmtrx
2014-04-18wpa support for tcp boot, remove duplicate secstore code from factotumcinap_lenrek
to run aux/wpa at boot, we need factotum to be running. tho factotum was started only after the network was configured. what we do now is start factotum early, not fetching keys from secstore. once network is available and the auth server is known, we fetch keys from secstore using auth/secstore in bootrc. to pass the authserver for p9 authentication to factotum, we write it in /net/ndb and the special _authdial() in factotum will picks it up. as we are using auth/secstore binary in any case, we remove the duplicated secstore code from factotum and make it just exec auth/secstore to fetch the keys on startup (unless -n or -S is specified).
2014-02-14similar to my last commit, but combined the two waits for the usb devices. ↵Matthew Veety
still configurable, but with usbwait. If usbwait is not defined then it defaults to the original 2 seconds.
2014-02-14added in a way to make net.rc wait for the network hardware to come up ↵Matthew Veety
before running ip/ipconfig. This fixes the issue with the Raspberry Pi where ip/ipconfig tried running prior to /net/etherU3 exists
2014-01-20kernel: apply uintptr for ulong when a pointer is storedcinap_lenrek
this change is in preparation for amd64. the systab calling convention was also changed to return uintptr (as segattach returns a pointer) and the arguments are now passed as va_list which handles amd64 arguments properly (all arguments are passed in 64bit quantities on the stack, tho the upper part will not be initialized when the element is smaller than 8 bytes). this is partial. xalloc needs to be converted in the future.
2013-10-02nusb/ether: add rtl8150 driver, remove unused includesppatience0
2013-10-02bootrc: +xcinap_lenrek
2013-08-24nusb/ether: add aue driver for admtek pegasus usb ethernet adapterppatience0
2013-04-28bootrc: fix spacing when asking for fs/auth ipppatience0
2012-12-06bootrc: fix mistake, god damn itcinap_lenrek
2012-12-06bootrc: reparse all env variables, not just #eccinap_lenrek
2012-12-06nusb/ether: port drivers for asix and smsc ethernetcinap_lenrek
2012-12-05move usb ethernet in bootfs.paqcinap_lenrek
2012-11-07devproc: remove pgrpid == 1 check for notepg opencinap_lenrek
assuming that this check tried to prevent the hostowner from killing init, it is silly because init would just handle the note. with kbdfs, we actually want to send interrupt note to the initial process group so instead of working arround this with rfork(RFNOTEG|RFNAMEG), we remove the check.
2012-11-06make interrupt key (Del) just work in the consolecinap_lenrek
these changes make the interrupt key available in the console (before rio is started). kbdfs: will now send a "interrupt" note to its invoking process group in cooked mode. bootrc: is now prepared to handle interrupts, mainly to not accidently spawn a new bootargs prompt. init: forwards the interrupt to the cpurc/termrc pgrp. vncs: shields itself from kbdfs notegroup so interrrupt wont kill the whole vnc session.
2012-09-06Prevent nusb/disk and nusb/kb from blocking nusbrcgoogle
2012-05-03bring back il protocol supportcinap_lenrek
2012-03-01boot: check nousbrc boot parameter, add delaycinap_lenrek
2012-02-28boot: ignore led file in /dev/sd*cinap_lenrek
2012-01-09nusbrc: fix permissions, was broken when the complication got a complicationcinap_lenrek
2011-12-13cleanupcinap_lenrek