问题标签 [bootstrapping]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何部署以库为源的 Python 应用程序而没有进一步的依赖关系?
背景:我有一个小型 Python 应用程序,它使在我们公司发布软件的开发人员的生活变得更加轻松。我使用 py2exe 为 Windows 构建了一个可执行文件。应用程序和二进制文件被检入 Subversion。分发是由人们从 SVN 中签出目录进行的。该程序有大约 6 个不同的 Python 库依赖项(例如 ElementTree、Mako)
情况:开发人员希望破解此工具的源代码,然后运行它而无需构建二进制文件。目前这意味着他们需要一个 python 2.6 解释器(这很好)并且还使用 easy_install 在本地安装了 6 个库。
问题
- 这不是一个公共的、经典的开源环境:我在一个公司网络中,该工具永远不会离开“围墙花园”,而且我们在访问外部互联网时遇到了严重不便的障碍(NTLM 身份验证代理和/或机器没有直接上网)。
- 我希望开始破解这个工具的障碍最小:没有人应该在正确的版本中寻找正确的依赖项,他们应该执行尽可能少的设置。最好的先决条件是安装 Python 并从 Subversion 中检出程序。
轶事:过程越独立,就越容易重复。我把我的机器换成了一台新机器,然后经历了一个令人不快的过程,不得不对依赖项进行逆向工程,重新安装 distutils,在线搜索库并让它们安装(参见上面的公司互联网限制)。
erlang - Erlang是用什么写的?
爱立信的 Erlang 和 Erlang/OTP 实现是用什么编写和编译的?是汇编、C 还是 Erlang 本身?
更新 1:感谢 DrJokepu。如果我理解正确,Erlang source-to-VM 编译器是用 Erlang 本身编写的。但是 VM 是用 C 编写的。
更新 2:Hynek-Pichi-Vychodil 指出了很多细节。
- VM 和 HW 交互驱动程序:在 C 中。
- 编译器(到 VM)和库:在 Erlang 中。
- 扩展:可以通过用该语言编写端口或 Erlang 节点来使用任何语言。
assembly - 如何在 BIOS 下使用 U 盘进行低级 IO(与软盘相比)?
我最近一直在研究一些用于软盘驱动器的引导代码。我的目标是修改程序,以便它使用我的 USB 闪存驱动器。现在我看到了 INT 13H 函数是如何与软盘设备一起使用的,但我想我的问题是,与 USB 驱动器的通信会有什么不同?
例如,这里是一段软盘代码(GNU 汇编器):
现在我已经读到将 0x80 移动到 %dl 将选择 BIOS 中的第一个 HDD。在我的特定 BIOS 中,我可以更改驱动器顺序,其中包括 USB 驱动器。我很确定这将变得依赖于 BIOS,但我认为 BIOS 中列出的顺序可能对应于我移入 %dl 的值。我需要追踪一些文档...
我真的不熟悉使用块设备,有人可以指出我一个开始学习更多的好地方吗?
谢谢!
visual-studio-2005 - Bootstrapper:如何在单个 .msi 包中编译应用程序和先决条件?
我正在为具有安装先决条件的应用程序创建一个 .msi 包。我正在使用 Visual Studio 2005 Bootstrapper 来完成这项任务。为此,我做了以下操作:找到文件夹 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\ 并为我的先决条件创建了一个文件夹(使其结构与“dotnetfx”相同) ; 创建了“product.xml”和“package.xml”并将它们适当地放置。到目前为止,我保持 xml 文件非常简单以测试安装:
产品.xml
包.xml
现在我可以从列表中添加先决条件并构建我的设置项目。
问题:
构建输出是“setup.exe”、“MyApp.msi”包,以及名为“MyPrereq”的子文件夹,其中包含“MyPrereq.exe”。
我希望构建创建一个“setup.exe”和一个“MyApp.msi”,其中包含“MyPrereq”,没有其他文件/目录。
我知道 .NET 框架是我的应用程序的另一个先决条件,它包含在同一个 .msi 中,因此应该以某种方式实现。
我怎样才能做到这一点?
spring - Grails:在 Bootstrap 代码的 destory 闭包中访问 spring bean?
我正在寻找在我的 grails 项目的 Bootstrap.groovy 中的销毁闭包中访问一个 bean。关于如何实现这一目标的任何想法?
我似乎无法访问 servletContext ...?
windows-installer - 使用 Inno Setup 有条件地安装 x64 驱动程序
我正在尝试使用 Inno Setup 引导具有所有必需先决条件的 WiX 生成的 .msi 文件。
在大多数情况下,这工作得很好,但我找不到任何信息来有条件地安装和运行基于 x86/x64 的先决条件安装程序,就像在 Windows Installer 中一样。
有人对此有任何运气吗?我试图避免仅仅因为一个驱动程序就拥有一个单独的 x64 安装程序。我正在引导的应用程序在 x86 中运行,并依赖 WOW 来支持 x64。
谢谢!
vxworks - 如何从 Workbench 构建 PXE 可引导引导加载程序?
我正在尝试构建一个可从 Workbench 进行 PXE 引导的 VxWorks 引导加载程序,但没有任何成功。这是我的环境的一个破败:
- VxWorks 6.6 + 最新补丁
- Workbench 3.0 + 最新补丁
- 蒙特维纳 BSP 版本 2.0/1
目标是戴尔 Precision M4400 笔记本电脑。这是我一直在做的事情,但没有成功:
VxWorks Image Project
使用配置文件在基于 Montevina BSP 的 Workbench 中创建一个新的PROFILE_BOOTAPP
。- 将以下组件添加到内核配置(否则构建失败):
-INCLUDE_TIMER_SYS
-INCLUDE_PCI_BUS
-INCLUDE_PCI_OLD_CONFIG_ROUTINES
-INCLUDE_PENTIUM_PCI
- 将
INCLUDE_PC_CONSOLE
组件添加到内核配置中以进行控制台显示(目标上没有任何串行端口) - 将构建规范设置为
default_romCompress
并添加一个名为的新构建目标vxWorks_romCompress.bin
- 构建
vxWorks_romCompress.bin
目标,这将创建相应的文件。 - 将 PXE 填充添加到文件中:
cat $WIND_BASE/vxworks-6.6/target/config/montevina/pxeBoot.bin vxWorks_romCompress.bin > vxWorks_romCompress.pxe
- 复制
vxWorks_romCompress.pxe
到我的 TFTP 服务器的适当位置,然后从我的目标执行 PXE 引导。
此时,目标成功地从 TFTP 服务器下载文件,但停在那里没有输出。控制台上没有显示任何内容。
和似乎在 Workbench 项目中设置正确(它们分别与旧 config.h 文件的设置匹配和RAM_HIGH_ADRS
)。RAM_LOW_ADRS
0x00108000
0x003080000
(请注意,Montevina BSP 确实附带了一个预构建的bootrom.pxe
引导加载程序,我已经能够成功地进行 PXE 引导。不过,我需要向引导加载程序添加几个组件,并且真的更喜欢通过Workbench 环境,而不是旧的 config.h 方法。)
我还尝试镜像 Workbench 项目的内核配置中包含的组件,以尽可能接近地匹配旧版 config.h 设置,但没有成功。这些是添加的组件(除了这些组件的任何依赖项):
INCLUDE_PLB_BUS
DRV_NVRAM_FILE
INCLUDE_GENERICPHY
DRV_INTCTLR_IOAPIC
INCLUDE_GEI825XX_VXB_END
DRV_TIMER_IA_TIMESTAMP
INCLUDE_MII_BUS
DRV_INTCTLR_MPAPIC
DRV_SIO_NS16550
INCLUDE_FEI8255X_VXB_END
DRV_TIMER_LOAPIC
INCLUDE_SIO_UTILS
VXBUS_TABLE_CONFIG
INCLUDE_INTCTLR_LIB
INCLUDE_DMA_SYS
INCLUDE_PARAM_SYS
INCLUDE_SW_FPP
所以,这就是我现在的位置。我猜问题出在上面的步骤 4-6 中,但我在文档中没有看到任何关于从 Workbench 中使引导加载程序 PXE 可引导的正确方法。
c - 无操作系统执行
如何将C程序编译为有效的ELF格式(或 RAW 格式),以便可以在没有任何操作系统的情况下直接从 RAM 执行?假设存在一个引导加载程序,它能够将代码加载到 RAM 中的任何位置并在该地址开始执行。准确地说,编译器(GCC)标志应该是什么?是否需要地图文件?
一个示例 helloworld 应用程序将是最受欢迎的 :)
只是为了详细说明我的观点,
让 main() 方法是一个空的无限 while 循环,以确保不使用特定于操作系统或标准库的调用。所需的 o/p 是一个挂起。使用通常的GCC选项,引导加载程序肯定无法加载可执行文件,告诉它是无效的ELF格式。但是,通过将-dN选项传递给链接器将使其成为有效的ELF。需要更多编译器/链接器选项才能使其挂起而不崩溃!!这些编译器选项到底是什么?
编译
gcc -c -nostdinc -fno-builtin
file.c ld -dN -nostdlib file.o
Bootloader 将a.out加载到 RAM 并执行。
zend-framework - Zend Framework 应用程序中的“未定义默认模块”错误
我正在使我的 bootstrap.php 文件更有条理,但是在将所有内容放入单独的静态方法之后,我无法加载索引控制器之外的任何页面。例如,如果我尝试打开
http://localhost/zftutorial/login/index
我明白了
在我的引导文件中,我似乎已经定义了应该在哪里找到控制器:
也许它与路由有关,但我的应用程序以前在隐式路由方面工作得很好,例如其他控制器也工作得很好。上述错误的根源是什么?我该如何测试/查找/修复它?
.net - 使用 WIX 安装自我更新应用程序?
我正在编写一个需要安装在大量桌面上并且还需要自行更新的应用程序。我们正在寻找用于创建安装的 WIX。我使用了 ClickOnce,它不是这个安装的好解决方案。WIX 似乎很合适,但我发现没有很好的自动更新过程。
我看过ClickThrough,但它似乎还没有准备好迎接黄金时段。有没有人有另一个很好的解决方案可以与 WIX(或者可能是另一个安装程序)一起使用来自动更新应用程序安装?