From nobody Sat Jun 25 18:18:05 2022 X-Original-To: soc-status@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 612B78A5640 for ; Sat, 25 Jun 2022 18:18:08 +0000 (UTC) (envelope-from connorbailey777@gmail.com) Received: from mail-io1-xd30.google.com (mail-io1-xd30.google.com [IPv6:2607:f8b0:4864:20::d30]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4LVj0H4HDgz3FG9 for ; Sat, 25 Jun 2022 18:18:07 +0000 (UTC) (envelope-from connorbailey777@gmail.com) Received: by mail-io1-xd30.google.com with SMTP id u20so5814522iob.8 for ; Sat, 25 Jun 2022 11:18:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:content-language:to:from :subject:content-transfer-encoding; bh=b2PGMZhmnjw4CbsXrAeClI4wlG6fdEaHOTmtkACXDEc=; b=qnR5xyHpV5fep5bzb04aBLNDHfi4AxzfUl7UcgpbwaXb9+HemIl3jav1TkyiMpyHfH gchmxTIzLTfwSskqknQD4Kw4hS0XglqbFH65u94m9EVvHMWHqGpWCuWN3lGF9yCIwb3L CCvLzbuElxM1t1pd2aQk5n5PS2rj/htVhQalvgaxWA2EHnRTEzdm81WE6YGgqkeXQ7TH MjkUGBy83S4OwBX/7QLZEHWYN/wNb96+lAlU/G5LpRVjWFDAvHvxx/sif9RvA2KRxjhY 07o9bUS4O0Fjm/PcRIrbeZKyPzW6C4JYDdbDpUrno4Z8XvMskMGttQ12D940y4xdgT0p aaaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent :content-language:to:from:subject:content-transfer-encoding; bh=b2PGMZhmnjw4CbsXrAeClI4wlG6fdEaHOTmtkACXDEc=; b=A6B3creVQPQD73vZu/+n/zslwWlexY7f7S5tLm89BPNM2aiLqb4htFDmFY8aMW7RGT A5KIU/uo7/5cY8rz3KHYFdKZ615rBF9K82CnSGSVZnr7NXNCxPVtPz2xfYtwpNTP8Urz 9CraTD5lcf+ByDn8qDxD0ATMNNP56Pu56XjlbK6JQ8NxoP4z8Pkw10O/r6PHUe/1zEUB Wvyd0KcP4NRvogw+Se1/dy+VpkJkhCMGDVfHQxrT7HgY3R2w6UekRKQWxhl585yDJjDR nuoBIIqcZuONLonK2HuppkJAXCz7aA/kIx2McHGzNqTCVjsvVqUg+7G6XRrZgwRvOJQa IMqA== X-Gm-Message-State: AJIora/f2swRLstog7byxUldcQzHFd6nkhqwyPqQIRshGlQ1oJsMwrm3 H8X2RZsvA6eAul1KZpBcMxf8NkW83hY= X-Google-Smtp-Source: AGRyM1ubxaywU2yZyjxDaesdAHjC8BY9Rxh0Z50z3ZUcu7J37ecKiviFwi1DSBN4TF2X0V7Kr53ANw== X-Received: by 2002:a05:6638:2486:b0:331:f9b9:a8ef with SMTP id x6-20020a056638248600b00331f9b9a8efmr2996948jat.139.1656181086736; Sat, 25 Jun 2022 11:18:06 -0700 (PDT) Received: from [192.168.0.9] (airstream-amery-somerset-eth-pool-13-47.dynamic.amery.airstreamcomm.net. [216.26.105.47]) by smtp.gmail.com with ESMTPSA id l17-20020a056e020dd100b002d928e265ffsm2510493ilj.81.2022.06.25.11.18.06 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 25 Jun 2022 11:18:06 -0700 (PDT) Message-ID: <2297fe8c-37b7-ecf4-7a71-da20bdfe82f9@gmail.com> Date: Sat, 25 Jun 2022 13:18:05 -0500 List-Id: Summer of Code Status Reports and Discussion List-Archive: https://lists.freebsd.org/archives/soc-status List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-soc-status@freebsd.org X-BeenThere: soc-status@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Content-Language: en-US To: soc-status@freebsd.org From: Connor Bailey Subject: Weekly Status Report(s) #1/2: Loader quality of life Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4LVj0H4HDgz3FG9 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20210112 header.b=qnR5xyHp; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of connorbailey777@gmail.com designates 2607:f8b0:4864:20::d30 as permitted sender) smtp.mailfrom=connorbailey777@gmail.com X-Spamd-Result: default: False [-4.00 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; TO_DN_NONE(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; NEURAL_HAM_SHORT(-1.00)[-1.000]; RECEIVED_SPAMHAUS_PBL(0.00)[216.26.105.47:received]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.996]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20210112]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[soc-status@freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::d30:from]; MLMMJ_DEST(0.00)[soc-status]; RCVD_TLS_ALL(0.00)[] X-ThisMailContainsUnwantedMimeParts: N Hi, The general goal of my project is to fix-up a bunch of quality of life problems in/around the loader. For example, the lack of editing key support at the prompt. My project involves a number of smaller things, so I'll leave listing them to the wiki page [1]. Technically, development started around the GSoC application phase, but I only implemented the left arrow key as a bit of a hack, so that change won't be reused. Also, this report includes both week 1 and 2 (sorry about that!). I've got enough alarms and reminders set that that my weekly reports should be more weekly from now on. Week 1: I didn't plan the most interesting first week, but got a lot of solid foundations built out. Mostly, this was figuring out how I could actually test my changes since unit tests for a bootloader aren't very viable, so instead I settled on a bunch of smoke tests. I set up VMs for i386 PXE booting, AMD64 legacy booting, and AMD64 UEFI booting. I left out plain i386 legacy booting since the AMD64 legacy flow ends up running the same code right up until it jumps into the kernel. I've also got physical machines to test with, including some arm. Although I only plan on doing physical testing to verify everything works at the end of a week/feature. After forgetting "DESTDIR=" on a "make install", I ended up turning my host machine's loader prompt into "AAA", so I also set up some helpers to mount/update/unmount/test each VM instead of allowing a typo to break my host. Week 2: During the dev summit, bug 257018 [2] caught my eye, so I took a (mentor approved) detour through i386 PXE booting intricacies, which ended up teaching me a lot (since I'm a bit spoiled by AMD64/UEFI). I thought that I'd even managed to find the root cause of the bug in a semi-obvious place, and spent a majority of the week implementing my fix. I had thought that the file PXE downloads was too big (and ended up clobbering important memory), so I tried to implement a medium sized "boot2" which would be small enough to keep said important memory intact. However, I was wrong about the bug, and wasted a bunch of time solving a non-issue. So, this week didn't go perfectly, but I learned so much that it doesn't bother me too much. In the end I threw away most of the code, but kept around some makefile changes that would cut down on some duplication, and might try to flesh out the architecture handbook to explain the corner of the code that I tripped over. Connor [1] https://wiki.freebsd.org/SummerOfCode2022Projects/FreeBSDBootloaderQualityOfLifeImprovements [2] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257018