Date: Thu, 25 Dec 2014 12:43:51 -0700 From: Warner Losh <imp@bsdimp.com> To: Adrian Chadd <adrian@freebsd.org> Cc: "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org> Subject: Re: building a raspberry pi -head image, the dirty non-root way Message-ID: <6A829B81-BB50-4941-8F63-7F7ED8439EE7@bsdimp.com> In-Reply-To: <CAJ-Vmon7Tpcgs-OX0HT=1q9H0n4P2vXSLVYA-tsL1yehiHHDfA@mail.gmail.com> References: <CAJ-Vmon7Tpcgs-OX0HT=1q9H0n4P2vXSLVYA-tsL1yehiHHDfA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--Apple-Mail=_B4046EBC-78E5-4718-A408-8115D285B384 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Dec 25, 2014, at 11:21 AM, Adrian Chadd <adrian@freebsd.org> wrote: >=20 > Hi, >=20 > In frustration, I decided to take a crack at building a raspberry pi > image from -HEAD without using crochet and trying to use the non-root > build things we have in the tree. >=20 > I was mostly successful. I'll be 100% successful after christmas. :) >=20 > So I don't lose it and so we can all hopefully improve upon it: >=20 >=20 > 1013 4:09 env > MAKEOBJDIRPREFIX=3D/home/adrian/work/freebsd/head-arm/obj make -j4 > buildworld buildkernel > __MAKE_CONF=3D/home/adrian/work/freebsd/head-arm/make.conf > SRCCONF=3D/home/adrian/work/freebsd/head-arm/src.conf KERNCONF=3DRPI-B > INSTALL_AS_USER=3Dyes TARGET_ARCH=3Darmv6 > DESTDIR=3D/home/adrian/work/freebsd/head-arm/root You don=E2=80=99t need INSTALL_AS_USER at all or DESTDIR here, which = simplifies this a lot. You also don=E2=80=99t need both __MAKE_CONF and = SRCCONF since you=E2=80=99re building in tree. > then >=20 > 1013 4:09 env > MAKEOBJDIRPREFIX=3D/home/adrian/work/freebsd/head-arm/obj make -j4 > buildworld buildkernel > __MAKE_CONF=3D/home/adrian/work/freebsd/head-arm/make.conf > SRCCONF=3D/home/adrian/work/freebsd/head-arm/src.conf KERNCONF=3DRPI-B > INSTALL_AS_USER=3Dyes TARGET_ARCH=3Darmv6 > DESTDIR=3D/home/adrian/work/freebsd/head-arm/root You pasted this wrong. There should be a installworld / installkernel = here, without the INSTALL_AS_USER (which is going away, btw), but with = NO_ROOT=3Dyes. Again, you only need one of SRCCONF or __MAKE_CONF. > .. then I end up with a ../root/METALOG file, which I can feed into = makefs: >=20 > 1052 5:25 makefs -t ffs -o version=3D2 -F ../root/METALOG -B le = -m > 1073741824 -M 1073741824 -f 1000000 -x ../rootfs-img ../root/ Yea, usually one should have some extra indoors and such. > Then we need to build a FAT partition with all the boot bits. Ian gave > me a tarball of his; it turned out it included his netboot uboot > environment so I didn't finish booting. However, that shouldn't be > hard to fix. Last time I went looking, finding all the bits, except boot, was = trivial. With the u-boot-rpi package, that should be even easier now. We = should maybe add them to the u-boot-rpi package. > So then: msdos partition: >=20 > cd .. >=20 >=20 > 54 dd if=3D/dev/zero of=3Dmsdos.img bs=3D1m count=3D32 > 55 newfs_msdos ./msdos.img >=20 > .. and then populating it, using the "mtools" GNU package: >=20 > 35 for i in `ls rpigoo/`; do echo $i; mcopy -i ./test-img > rpigoo/$i "::$i" ; done >=20 > then to see what's in there: >=20 > 34 mdir -i ./test-img >=20 > Finally, build a complete image using mkimg: >=20 > 49 mkimg -s mbr -p fat32:=3D./test-img -p freebsd:=3D./bsd.img -o = mbr-bsd.img >=20 > I'm not sure if we should be using the FAT32 partition type, but hey, > it actually worked. Either will work... > So uboot booted, and then it tried netbooting. I'll redo this tonight > without Ian's custom environment and see if it boots to a login > prompt. >=20 > Now, I don't think I'm going to turn this into a public script - what > I am hoping we can do is teach nanobsd about these steps so it stops > being x86 and "build as root" centric. Yea, I have rough drafts of both of those in my tree, waiting for my day = job to calm down a bit. > The only gotcha so far? When using metalog to make an image with > makefs, the symlinks show up as owned by adrian, not by root. I'll go > set a bug for that soon. Good thing the ownership of symbolic links basically doesn=E2=80=99t = matter=E2=80=A6 Warner --Apple-Mail=_B4046EBC-78E5-4718-A408-8115D285B384 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJUnGj3AAoJEGwc0Sh9sBEAvU0P/jWeb3meZmO8fsVmo1jCCsu7 SMulvWT5W8UWnmENLmEqKPIMiDlwk4ex9hZ7s2+kZdl7+m+SiaAuCNtYiT35Zra8 4G5UkjhkDena2yTt5Rc2hrB+TKXKKOIVjQ91r+8eKMM8QriQtUPd3FegkNFuFxVQ oc4EmX5Q5zefeLLOOB6iMEjRQgYkqM6p2puKzHeT6kqmwd5UFI9MmwFbgnminf0C xeDqWrEG/G65850IZXO/lNOESsTI3YzQT5k2DNn946qcAY1V86jHZwsmu0UERTGX dY7AjWnIw/msI0Lm5TUTNseKV11vAJtBSN2PUdqkbCW/wRQk78bkp6mSlLSHgxAn f2XgbiY+v5iiXTIV3JVNOx4ieLCXcbYjjYmQJc0mr8TpVhUo7MJMIwU5IcWZ24zh 7+fPebWTl5b6A74JFs+oQlLD3MheK4t7H6mfziJbQS6BPDi8XB7mDHNiESfyaMae +vBQSxGMsoFRpFmSk793qw+Yo9Wiw+z096FgCuUDoc+jEaWIJxKcWm8afXIBdkt8 sz86QzcGzoAVqflv8q+aFN0iF0XkwTObD1IT7xKlYF9Oh1J5NA6U+2PgCNxJNIuq +vEwSTvjBTVnB+RISIZciUBK3qyo+kTnbhEhImq1QzvHm4M1LUVMUw9a4ez768Vo j8q62ezfz8T3mxjaBdPb =rnB0 -----END PGP SIGNATURE----- --Apple-Mail=_B4046EBC-78E5-4718-A408-8115D285B384--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6A829B81-BB50-4941-8F63-7F7ED8439EE7>